2015-11-03 98 views
3

看我是如何开始的完整过程,没有获得成功DoReferenceTransaction

步骤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 

但AERROR ocuurs:

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 
) 

请告诉我,我错了。 注意:贝宝团队表示RT启用。 (沙盒测试)

回答

0

首先尝试设置

RECURRING DoReferenceTransaction API调用的

场。

如果没有成功,请使用CreateRecurringPaymentsProfile代替DoReferenceTransaction。 API Documentation link

我建议不要使用贝宝沙箱 - 只需使用https://api-3t.paypal.com/nvp,并设置价格0.01 - 这将防止重复测试

错误10004有出现时有方法之间的不兼容SetExpressCheckout和(你的情况)DoReferenceTransaction

关于错误“Express Checkout Digital Goods不再适用于新集成”: 我们与Paypal支持联系,为我们主要的PayPal帐户激活数字商品。此外,我们尝试了很多次,以激活数码商品我们的PayPal帐户此错误内,在几天后消失,就像一个奇迹:)

我不敢肯定我是如何解决这个错误,但尝试许多不同的测试(包括找来找去贝宝支持)他只是消失。所以我的建议是继续尝试不同的方式和组合

+0

嗨帕维尔,我们正处于开发阶段,所以现在想留在沙箱。现在的错误只有10004。 此交易无法处理。 – VBMali

+0

在CreateRecurringPaymentsProfile的情况下,经常性金额的变化受到限制,所以我决定使用DoReferenceTransaction与账单协议一起使用。请指导我。 – VBMali

+0

RECURRING = Y传递给DoReferenceTransaction,但同样的错误。 – VBMali