Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php DoReferenceTransaction未获得成功_Php_Paypal_Express Checkout - Fatal编程技术网

Php DoReferenceTransaction未获得成功

Php DoReferenceTransaction未获得成功,php,paypal,express-checkout,Php,Paypal,Express Checkout,看看我是怎么开始完整的程序的 第1步。首先调用SetExpressCheckout, AMT=0.00 PAYMENTREQUEST_0_AMT=0.00 PAYMENTACTION BILLINGAGREEMENTDESCRIPTION BILLINGTYPE=MerchantInitiatedBilling RETURNURL CANCELURL CURRENCYCODE SOLUTIONTYPE=Sole LOCALECODE=us LANDINGPAGE=Billing

看看我是怎么开始完整的程序的

第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
)
请告诉我哪里错了。 注意:贝宝团队表示已启用RT。(沙箱测试)

首先尝试设置

反复出现

DoReferenceTransaction API调用的字段

如果没有成功,请使用方法CreateRecurringPaymentsProfile,而不是ReferenceTransaction

我建议不要使用paypal sandbox-只需使用并将价格设置为0.01-这将防止重复测试

方法SetExpressCheckout和(在您的情况下)DoReferenceTransaction之间不兼容时,出现错误10004

关于错误“新集成不再提供快速结帐数字商品”: 我们与Paypal支持部门联系,为我们的主要Paypal帐户激活数字商品。此外,我们还多次尝试在paypal帐户中激活数字商品,几天后,这个错误奇迹般地消失了:)


我不太确定如何解决这个错误,但在尝试了许多不同的测试(包括请求PayPal支持)后,他就消失了。因此,我的建议是继续尝试不同的方法和组合

嗨,帕维尔,我们正处于开发阶段,所以现在仍想使用沙盒。现在误差只有10004。无法处理此交易。在CreateRecurringPaymentsProfile的情况下,经常性金额的变化有限制,因此我决定使用DoReferenceTransaction和计费协议。请指导我。不幸的是,我没有DoReferenceTransaction的经验,但当SetExpressCheckout方法和(在您的情况下)DoReferenceTransaction方法之间不兼容时,就会出现此错误。关于错误“新集成不再提供Express Checkout数字商品”:我们与Paypal支持部门联系,以激活我们主要Paypal帐户的数字商品。此外,我们还多次尝试在paypal帐户中激活数字商品,几天后,这个错误奇迹般地消失了:)我不太确定如何解决这个错误,但在尝试了许多不同的测试(包括请求paypal支持)后,他就消失了。所以我的建议是继续尝试不同的方法和组合