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

Posted

技术标签:

【中文标题】如何从响应中访问 Express Checkout 详细信息?【英文标题】:How do I access the Express Checkout Details from the response? 【发布时间】:2014-05-27 03:35:01 【问题描述】:

我在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 %>

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

【问题讨论】:

尝试 binding.pry 并查看响应并在此处发布,可能不是对象,可能是哈希或 JSON... 【参考方案1】:

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

【讨论】:

以上是关于如何从响应中访问 Express Checkout 详细信息?的主要内容,如果未能解决你的问题,请参考以下文章

PayPal Express Checkout 增强/响应式布局

Paypal Express Checkout 集成的问题 (WEBREQUEST)

PayPal Express Checkout PHP 没有得到响应

使用 java play 框架集成 Express Checkout 的问题

PayPal Express Checkout - 错误 400 错误请求

从 WPS 切换到 Express Checkout?