1

我进行了 DoExpressCheckoutPayment 调用,并获得了以下详细信息和成功。[当然调用是在成功调用 SetExpressCheckout 之后进行的]

METHOD=DoExpressCheckoutPayment&
VERSION=93&
PWD=MyPassword&
USER=User&
SIGNATURE=Signature&
PAYMENTREQUEST_0_PAYMENTACTION=Order&
PAYMENTREQUEST_0_AMT=85.0&
PAYMENTREQUEST_0_CURRENCYCODE=USD&
IPADDRESS=localhost&
BUTTONSOURCE=PP-ECWizard

上述调用的响应详细信息

PAYMENTINFO_0_REASONCODE=None, PAYMENTINFO_0_TAXAMT=0.00, PAYMENTINFO_0_ERRORCODE=0, PAYMENTINFO_0_SECUREMERCHANTACCOUNTID=AHYPGLSVNYNYC, BUILD=6118442, PAYMENTINFO_0_TRANSACTIONTYPE=expresscheckout, PAYMENTINFO_0_ORDERTIME=2013-05-30T11:26:49Z, PAYMENTINFO_0_PROTECTIONELIGIBILITY=None, CORRELATIONID=c7061e7e201b4, SUCCESSPAGEREDIRECTREQUESTED=false, INSURANCEOPTIONSELECTED=false, PAYMENTINFO_0_CURRENCYCODE=USD, PAYMENTINFO_0_PAYMENTSTATUS=Pending, PAYMENTINFO_0_AMT=85.00, PAYMENTINFO_0_TRANSACTIONID=O-3M746191252284215, PAYMENTINFO_0_ACK=Success, VERSION=93, PAYMENTINFO_0_PAYMENTTYPE=None, PAYMENTINFO_0_PENDINGREASON=order, ACK=Success, SHIPPINGOPTIONISDEFAULT=false, TIMESTAMP=2013-05-30T11:26:49Z, TOKEN=EC-9J328055AB342102B

(我已修改响应并将响应转换为 HashMap)

我在 Paypal Sandbox 中创建了两个测试帐户

一个是企业账户,一个是个人账户。所有账户的期初余额为 5000 美元。

除了一件事,一切都很好。

买家账户将下图所示的订单详情显示为仅待处理且不会自行扣款。余额和上次一样。

交易后买方的账户详情

商户账户显示订单明细,但与账户未入账且余额未更新相同,如下图所示。

交易后商户账户明细

现在,如果我查看沙箱通知,我可以看到一些仅针对买方帐户的文本,而不是针对商家帐户的文本,如下图所示。

买家和商家的沙盒通知

我在这里缺少什么?为什么金额没有从买方借记并记入商户?为什么交易状态是 Pending ?

我发现 3 个类似的问题与我的问题和互联网上的一些问题相匹配,我尝试了所有解决方案但未能成功。

“我的沙盒业务帐户”中的付款审核已关闭。

如果您需要我提供更多详细信息,请随时询问我。

谢谢

4

1 回答 1

3

您的交易显示为待处理的原因是您将其作为订单处理。您还可以在您提供的响应中看到待处理的原因。

PAYMENTINFO_0_PENDINGREASON=order

您现在需要返回并针对订单执行交易以实际向买家收费,这会将资金从买家账户转移到卖家账户。例如,您可以返回并使用DoAuthorization API对订单执行授权,然后一旦完成,您就可以运行DoCapture API来完成购买。

如果您最初不想将交易作为订单处理,您可以将其作为“销售”而不是“订单”处理,这将在您完成 DoExpressCheckoutPayment API 调用时预先收取款项。

于 2013-05-30T12:50:11.347 回答