【问题标题】:Not getting success for DoReferenceTransactionDoReferenceTransaction 没有成功
【发布时间】:2016-02-03 06:29:32
【问题描述】:

看看我是如何开始完整的程序的,

第一步。首先调用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
)

请告诉我哪里错了。 注意: Paypal 团队表示启用了 RT。 (沙盒测试)

【问题讨论】:

    标签: php paypal express-checkout


    【解决方案1】:

    先尝试设置

    重复

    DoReferenceTransaction API 调用的字段。

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

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

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

    关于错误“Express Checkout Digital Goods 不再可用于新的集成”: 我们与 Paypal 支持人员联系,为我们的主要 Paypal 帐户激活数字商品。此外,我们多次尝试在我们的贝宝账户中激活数字商品,几天后这个错误像奇迹一样消失了:)

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

    【讨论】:

    • 嗨,Pavel,我们正处于开发阶段,所以现在想继续使用 Sandbox。现在错误只有10004。无法处理此交易。
    • 在 CreateRecurringPaymentsProfile 的情况下,经常性金额的变化存在限制,因此我决定使用 DoReferenceTransaction 和 Billing 协议。请指导我。
    • 不幸的是,我没有使用 DoReferenceTransaction 的经验,但是当方法 SetExpressCheckout 和(在您的情况下)DoReferenceTransaction 之间不兼容时会出现此错误
    • 关于错误“Express Checkout Digital Goods 不再可用于新的集成”:我们与 Paypal 支持人员联系以激活我们的主要 Paypal 帐户的 Digital Goods。我们也多次尝试在我们的贝宝账户中激活数字商品,几天后这个错误像奇迹一样消失了:)
    • 我不太确定如何解决此错误,但在尝试了许多不同的测试(包括询问 PayPal 支持)后,他就消失了。所以我的建议是继续尝试不同的方式和组合
    猜你喜欢
    • 2013-04-19
    • 2013-01-24
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    • 2016-02-07
    • 2016-03-16
    • 2017-12-13
    • 2010-09-13
    相关资源
    最近更新 更多