如何从响应中访问 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 的问题