我第一次使用paypal自适应支付(链式支付)并试图创建一个带有sendbox帐户的演示。
我正在使用 angel EYE PayPal PHP库。
我已经更改了配置文件并设置了所有paypal帐户详细信息。
现在,当我用"ActionType" => "PAY_PRIMARY"
创建链式支付时,它显示成功消息,响应如下:
Array
(
[Errors] => Array
(
)
[Ack] => Success
[Build] => 11853342
[CorrelationID] => 3c9d6f6c63af1
[Timestamp] => 2014-07-21T23:16:31.579-07:00
[PayKey] => AP-xxxxxxxxxx
[PaymentExecStatus] => CREATED
[RedirectURL] => https://www.sandbox.paypal.com/webscr?cmd=_ap-payment&paykey=AP-6T168633BC6592444
[XMLRequest] => ReturnAllen_USPAY_PRIMARYhttp://sandbox.domain.com/cancel.phpAPP-80W284485P519543T192.168.3.11USDPRIMARYRECEIVER500.00aus_user1@gd.comtrue50.00aus_user2@gd.comfalse20.00rajvi@origzo.comfalsehttp://sandbox.domain.com/return.php
[XMLResponse] => 2014-07-21T23:16:31.579-07:00Success3c9d6f6c63af111853342AP-6T168633BC6592444CREATED
)
然后我尝试执行ExecutePayment
API调用,它给我的响应如下:
Array
(
[Errors] => Array
(
[0] => Array
(
[Receiver] =>
[Category] => Application
[Domain] => PLATFORM
[ErrorID] => 550001
[ExceptionID] =>
[Message] => This payment request must be authorized by the sender
[Parameter] =>
[Severity] => Error
[Subdomain] => Application
)
)
[Ack] => Failure
[Build] => 11853342
[CorrelationID] => b3d52c547fc23
[Timestamp] => 2014-07-21T23:16:48.190-07:00
[PaymentExecStatus] =>
[XMLRequest] => ReturnAllen_USAP-6T168633BC6592444
[XMLResponse] => 2014-07-21T23:16:48.190-07:00Failureb3d52c547fc2311853342550001PLATFORMApplicationErrorApplicationThis payment request must be authorized by the sender
)
我认为它给了我一些权限错误,但没有得到确切的响应和如何解决它。请给我指点一下。
在你初始支付请求之后,你会看到结果是给你一个RedirectURL。您需要将用户重定向到该URL,以便他们可以登录并同意完成付款。
这听起来就像你直接跳到ExecutePayment,而用户从未被发送到PayPal来授权支付,这就是为什么你在那一点上得到错误。
到目前为止,你会看到你可以查看它显示的URL RedirectURL (https://www.sandbox.paypal.com/webscr?cmd=_ap-payment&paykey=AP-6T168633BC6592444),它正在加载PayPal登录。在使用沙盒买方帐户完成此操作之前,ExecutePayment将无法工作。
另外,我很好奇你是否真的想做一个延迟的链式付款…??由于您立即尝试运行执行支付,您可能只需要常规的链式支付,因此您只需使用PAY而不是PAY_PRIMARY。那么你就根本不需要ExecutePayment了。