【发布时间】:2013-06-26 12:09:42
【问题描述】:
我正在使用 REST API 来授权 PayPal 交易,当它返回确认并执行付款时,我想从他们的 PayPal 帐户中检索并显示付款人信息,例如姓名、地址、电话等结帐订单确认页面。 (为了避免他们必须输入所有账单/送货地址信息,因为这应该可以从 PayPal 获得。)
目前退货仅向付款人显示:
PayPal\Api\Payment Object
(
[_propMap:PayPal\Common\PPModel:private] => Array
(
[id] => PAY-2EC51985XH550123JKHG3C4Y
[create_time] => 2013-06-28T15:53:23Z
[update_time] => 2013-06-28T15:53:23Z
[state] => created
[intent] => sale
[payer] => PayPal\Api\Payer Object
(
[_propMap:PayPal\Common\PPModel:private] => Array
(
[payment_method] => paypal
)
)
[transactions] => Array
...
文档说明:
payer_info 对象
- 当 payment_method 为 paypal 时,此对象由 PayPal 预填充。
(见https://developer.paypal.com/webapps/developer/docs/api/#payerinfo-object)
即使在执行付款后,我仍然没有收到来自 PayPal 的 payer_info 对象。我想知道 PayPal 是否只是在将用户发送到 PayPal 之前返回我预先填充的信息?例如:
$payer = new Payer();
$payer->setPayment_method('paypal');
有没有办法使用 REST API 来检索用户的姓名/地址/电话/等(我希望从 Payment::get($pay_id)->getPayer()->getPayerInfo()->getShipping_address() 获得的信息)?
或者我是否必须让用户重复他们的工作并在我的结帐页面上输入地址信息?我当然希望不会,因为这是使用 PayPal 作为付款方式的一大优势。
【问题讨论】:
-
也许这正是 Express Checkout 的用途?或者 REST API 可能还不存在?
-
付款后“payer_info”应返回买家信息。您提供的完整写出没有“payer_info”类别。我现在要进一步研究。 REST 的东西在某些方面仍然非常新且不完整——在执行之前捕获买家信息就是其中之一。但是我们经常为它引入新功能。经典的 API 调用已经解决了所有问题并且运行良好。
-
我查看了 Express Checkout 令牌 (EC-76L38216UH578922K) 并注意到从未发生过执行。我找不到交易 ID 或此尝试失败。
-
所以 REST 最终会像 Express Checkout 一样,在执行前返回所有买家信息?是否知道该行为何时可用?还是我现在应该改用经典 API?
-
我们确实有针对 REST 推出该功能的内部计划,但我无法详细说明。我建议您使用 Classic APIs for Express Checkout - 特别是如果您需要在付款完成之前获取买家信息。对不起。
标签: paypal