我从这里集成了PayPal直接付款代码。它对我来说工作正常。当我更改凭据时。它不起作用。我只使用沙盒凭据,并且在代码中我也将环境设置为沙箱,但它仍然给我这样的失败消息
DoDirectPayment failed: Array
(
[TIMESTAMP] => 2015%2d04%2d15T07%3a07%3a57Z
[CORRELATIONID] => 33533f9e698e3
[ACK] => Failure
[VERSION] => 51%2e0
[BUILD] => 16204765
[L_ERRORCODE0] => 10501
[L_SHORTMESSAGE0] => Invalid%20Configuration
[L_LONGMESSAGE0] => This%20transaction%20cannot%20be%20processed%20due%20to%20an%20invalid%20merchant%20configuration%2e
[L_SEVERITYCODE0] => Error
[AMT] => 1%2e00
[CURRENCYCODE] => CAD
)
当我使用默认 api 凭据时,它像魅力一样工作
Direct Payment Completed Successfully: Array
(
[TIMESTAMP] => 2015%2d04%2d15T07%3a30%3a11Z
[CORRELATIONID] => 92a0a29a332cc
[ACK] => Success
[VERSION] => 51%2e0
[BUILD] => 16204765
[AMT] => 1%2e00
[CURRENCYCODE] => CAD
[AVSCODE] => X
[CVV2MATCH] => M
[TRANSACTIONID] => 2BG0687660710122T
)
这意味着您的真实账户上没有启用DoDirectPayment。 这可能是因为您从未申请过Payments Pro(需要获得批准),或者您已被批准但尚未同意他们收取的$ 30/mo,您可以在登录时从PayPal帐户的概述页面执行此操作(如果尚未完成)。
一旦在您的帐户上批准并启用Pro,您就可以使用DoDirectPayment API,然后此错误将消失。
另一种可能性(尽管可能性不大)是,您已经获得批准,甚至完成了Pro的协议,但是您使用的是PayFlow而不是PayPal API进行设置的。 在这种情况下,您必须联系PayPal并要求他们为您启用"网站支付专业版3.0"。 如果他们说他们不能,你将不得不重新开发你的东西,以使用PayFlow API而不是DoDirectPayment。