我通过以下详细信息和成功进行了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美元。
买方帐户显示订单明细,如下图所示为仅挂起,并且不会自行扣款。余额与上一次相同。
商家的帐户会显示订单明细,但帐户未记入帐户且余额未更新,如下图所示。
现在,如果我查看沙盒通知,我只能看到买家帐户的一些文字,而不是商家的帐户,如下图所示。
我在这里缺少什么? 为什么这笔款项不会从买家那里扣除并存入商家账户? 为什么交易状态为待定?
我发现3个类似的问题与我的问题和互联网上的一些问题相符,我尝试了所有解决方案,但未能成功。
付款评论已在我的沙盒商业帐户中关闭。
如果您需要我更多细节,请随时问我。
由于
答案 0 :(得分:3)
您的交易显示待处理的原因是您将此处理为订单。您还可以在您提供的响应中查看待处理原因。
PAYMENTINFO_0_PENDINGREASON=order
您现在需要返回并执行针对订单的交易以实际向买方收取费用,这会将资金从买方帐户转移到卖方帐户。例如,您可以使用DoAuthorization API返回并执行针对订单的授权,然后完成后,您可以运行DoCapture API来完成购买。
如果您不想最初将交易作为订单处理,您可以将其作为“销售”而不是“订单”处理,这将在您完成DoExpressCheckoutPayment API调用时预先支付这笔费用。 / p>