PayPal REST API未返回付款信息

PayPal REST API未返回付款信息,paypal,Paypal,我正在使用REST API授权PayPal交易,当它返回确认和执行付款时,我想从他们的PayPal帐户中检索和显示付款人信息,如姓名、地址、电话等,以用于结帐订单确认页面。(为了避免他们必须输入所有的账单/发货地址信息,因为这应该可以从PayPal获得。) 目前,报税表仅显示付款人: PayPal\Api\Payment Object ( [_propMap:PayPal\Common\PPModel:private] => Array (

我正在使用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
            ...
文件规定:

付款人信息对象
  • 当支付方式为PayPal时,此对象由PayPal预先填充
(见附件)

即使在付款执行后,我仍然没有收到PayPal的payer_信息对象。我想知道PayPal是否只是在将用户发送到PayPal之前返回我预先填充的信息?e、 g:

$payer = new Payer();
$payer->setPayment_method('paypal');
是否有一种方法可以使用REST API检索用户名/地址/电话/等(我希望从
Payment::get($pay\u id)->getPayer()->getPayerInfo()->getShipping\u address()
)中可以获得这些信息


或者我必须让用户重复他们的工作,并在我的结账页面上输入地址信息吗?我当然不希望这样,因为这是使用贝宝作为支付方式的最大优势之一。

我想我会发布一个答案,以防其他人有这个问题

RESTAPI似乎在大多数情况下都无法返回装运信息。尤其是在使用
GET/payments/payment
端点时。但是,我看到它以前从
POST/payments/payment//execute
端点返回装运信息

无论如何,在上面的评论之后,OP似乎抛弃了RESTAPI,回到了Express Checkout。如果你想提前获得运输数据,这是很公平的

但是,如果您将PayPal IPN与REST API结合使用,它将在回调中提供装运和计费信息。所以你可以在那时收集信息


我看到的唯一问题是,您无法向用户确认地址是否正确。然而,PayPal在用户付款时会向用户显示这些信息,并允许用户在必要时进行更改。所以我相信假设数据是准确的是安全的。

也许这正是Express Checkout的目的?或者REST API还不存在?在您执行付款后,“付款人信息”应该返回买家信息。您提供的完整填写没有“付款人信息”类别。我现在要进一步研究这个问题。其余的东西在某些方面仍然是非常新和不完整的——在执行之前捕获买家信息就是其中之一。但我们经常为它引入新功能。经典的API调用已经解决了所有问题,并且运行良好。我查找了Express Checkout令牌(EC-76L38216UH578922K),发现从未发生过执行。我无法找到此尝试的交易ID或失败。因此REST最终将表现为快速签出,在执行之前返回所有买家信息?你知道什么时候会有这种行为吗?或者我现在应该改用经典API吗?我们确实有一个REST特性推出的内部计划,但我不能详细介绍。我建议使用经典的API进行快速结账,特别是如果您需要在付款完成之前捕获买家信息。抱歉。是的,我需要在确认付款之前显示地址,而快速结账最终可以满足我的需要。令人惊讶的是,将近一年后,RESTAPI仍然没有提供这种功能。看起来是相当基本的功能。在八月有同样的问题。