看看我如何开始完整的程序,
步骤1.首先调用SetExpressCheckout,
AMT=0.00
PAYMENTREQUEST_0_AMT=0.00
PAYMENTACTION
BILLINGAGREEMENTDESCRIPTION
BILLINGTYPE=MerchantInitiatedBilling
RETURNURL
CANCELURL
CURRENCYCODE
SOLUTIONTYPE=Sole
LOCALECODE=us
LANDINGPAGE=Billing
步骤2.然后我调用CreateBillingAgreement
TOKEN
PAYERID
PAYMENTACTION
AMT
CURRENCYCODE
IPADDRESS
它返回帐单 ID。
步骤 3. 使用参数调用 DoReferenceTransaction:
&REFERENCEID=B-0GJ65589SA3528026 //billing Id generated by CreateBillingAgreement method
&PAYMENTACTION=Sale
&AMT=3.00
&CURRENCYCODE=USD
&IPADDRESS=paypalrecurring.com
&L_ITEMCATEGORY0=Digital
&DESC=Test+Recurring+Payment%28+%243.00+monthly%29
&L_PAYMENTREQUEST_0_ITEMCATEGORY0=Digital
&L_PAYMENTREQUEST_0_QTY0=1
&L_PAYMENTREQUEST_0_NAME0=Test Name
&L_PAYMENTREQUEST_0_AMT0=3.00
&L_NAME0=Test Name
&L_DESC0=Test+Recurring+Payment%28+%243.00+monthly%29
&L_AMT0=3.00
&ITEMAMT=3.00
&L_QTY0=1
但出现错误:
Array
(
[TIMESTAMP] => 2015-11-03T11:29:51Z
[CORRELATIONID] => 811b64f880aff
[ACK] => Failure
[VERSION] => 69
[BUILD] => 000000
[L_ERRORCODE0] => 10004
[L_SHORTMESSAGE0] => Invalid Data
[L_LONGMESSAGE0] => This transaction cannot be processed.
[L_SEVERITYCODE0] => Error
[TRANSACTIONTYPE] => None
[PAYMENTTYPE] => None
[ORDERTIME] => 1970-01-01T00:00:00Z
[PAYMENTSTATUS] => None
[PENDINGREASON] => None
[REASONCODE] => None
)
请告诉我哪里错了。Note:Paypal 团队表示 RT 已启用。 (沙箱测试)
首先尝试设置
再次发生的
DoReferenceTransaction API 调用的字段。
如果没有成功,请使用方法 CreateRecurringPaymentsProfile 而不是 DoReferenceTransaction。API文档链接 https://developer.paypal.com/docs/classic/api/merchant/CreateRecurringPaymentsProfile_API_Operation_NVP/.
我建议不要使用 paypal 沙箱 - 只需使用https://api-3t.paypal.com/nvp https://api-3t.paypal.com/nvp并将价格设置为 0.01 - 这将防止双重测试
当方法 SetExpressCheckout 和(在您的情况下)DoReferenceTransaction 之间不兼容时,会出现错误 10004
关于错误“Express Checkout Digital Goods 不再可用于新集成”:
我们与 Paypal 支持人员联系,为我们的主 Paypal 帐户激活数字商品。此外,我们多次尝试在我们的 PayPal 帐户内激活数字商品,几天后这个错误就像奇迹一样消失了:)
我不太确定如何解决此错误,但在尝试了许多不同的测试(包括询问 PayPal 支持)后,他就消失了。所以我的建议是继续尝试不同的方式和组合
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)