如何从响应中访问Express Checkout详细信息?

时间:2014-04-13 03:11:06

标签: ruby-on-rails ruby paypal paypal-sandbox express-checkout

我在implementation guide的第4步,到目前为止,一切都很美好。但是,我现在的问题是在用Paypal成功验证后检索用户详细信息。

使用paypal-sdk-merchant gem,这是用户在验证后从Paypal返回时触发的方法:

def confirm
    @api = PayPal::SDK::Merchant::API.new
    @get_express_checkout_details = @api.build_get_express_checkout_details({:Token => params[:token]})
    @get_express_checkout_details_response = @api.get_express_checkout_details(@get_express_checkout_details)
end

指南(与上述相关)指出:

A response will be returned containing the user's shipping address, the transaction status, and more:

TOKEN=EC-1234567890&ACK=Success&CHECKOUTSTATUS=PaymentActionNotInitiated&EMAIL=user@example.com&...

但是我无法弄清楚如何访问返回的信息,在我看来我尝试过:

<%= @get_express_checkout_details_response.email %>
<%= @get_express_checkout_details_response.Email %>
and
<%= @get_express_checkout_details_response.EMAIL %>

但似乎没有任何效果。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

PayPal的gem使用SOAP API并将结果返回到相应的结构中 - 检查documentation。例如,用户电子邮件 - response.PayerInfo.Payer,送货地址 - response.PayerInfo.Address