【问题标题】:DoReferenceTransaction Internal ErrorDoReferenceTransaction 内部错误
【发布时间】:2014-10-11 06:52:38
【问题描述】:

我想使用 Paypal API 创建账单协议,一切正常,直到我想 使用 DoReferenceTransaction 进行交易。

然后我得到结果:

DoReferenceTransactionResponseType Object
(
    [DoReferenceTransactionResponseDetails] => 
    [FMFDetails] => 
    [Timestamp] => 2014-08-18T10:58:51Z
    [Ack] => Failure
    [CorrelationID] => 9de181ec5132e
    [Errors] => Array
        (
            [0] => ErrorType Object
                (
                    [ShortMessage] => Internal Error
                    [LongMessage] => Internal Error
                    [ErrorCode] => 10001
                    [SeverityCode] => Error
                    [ErrorParameters] => 
                )

            [1] => ErrorType Object
                (
                    [ShortMessage] => Invalid Data
                    [LongMessage] => This transaction cannot be processed.
                    [ErrorCode] => 10004
                    [SeverityCode] => Error
                    [ErrorParameters] => 
                )

        )

    [Version] => 116.0
    [Build] => 12303548
)

如果您需要更多信息,请告诉我。

问候丹尼斯

编辑:这是请求:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="urn:ebay:api:PayPalAPI" xmlns:ebl="urn:ebay:apis:eBLBaseComponents" xmlns:cc="urn:ebay:apis:CoreComponentTypes" xmlns:ed="urn:ebay:apis:EnhancedDataTypes" ><soapenv:Header><ns:RequesterCredentials><ebl:Credentials><ebl:Username>XXX</ebl:Username><ebl:Password>XXX</ebl:Password><ebl:Signature>XXX</ebl:Signature></ebl:Credentials></ns:RequesterCredentials></soapenv:Header><soapenv:Body><ns:DoReferenceTransactionReq><ns:DoReferenceTransactionRequest><ebl:DoReferenceTransactionRequestDetails><ebl:ReferenceID>EC-0W695537H15619824</ebl:ReferenceID><ebl:PaymentAction>Authorization</ebl:PaymentAction><ebl:PaymentType>Any</ebl:PaymentType><ebl:PaymentDetails><ebl:OrderTotal currencyID="USD">1.00</ebl:OrderTotal><ebl:ButtonSource>PayPal_SDK</ebl:ButtonSource><ebl:NotifyURL>http://123plakat.de</ebl:NotifyURL><ebl:ShipToAddress><ebl:Name>John Doe</ebl:Name><ebl:Street1>1 Main St</ebl:Street1><ebl:CityName>San Jose</ebl:CityName><ebl:StateOrProvince>CA</ebl:StateOrProvince><ebl:Country>USA</ebl:Country><ebl:PostalCode>95131</ebl:PostalCode></ebl:ShipToAddress></ebl:PaymentDetails></ebl:DoReferenceTransactionRequestDetails><ebl:Version>116.0</ebl:Version></ns:DoReferenceTransactionRequest></ns:DoReferenceTransactionReq></soapenv:Body></soapenv:Envelope>

【问题讨论】:

  • 您能否附上您发送的 DoReferenceTransaction 请求的示例?

标签: paypal


【解决方案1】:
 Actually while using the Doreference transaction API , you need to use :

 Either billing agreement id (BAID) that you received while creating the billing agreement 
 with the buyer either using the "CreateBillingAgreement" or "DoExpressCheckoutPayment" 
 API .

 Or the transaction ID that you received from the previous purchase with the buyer . 

 In the request posted above , instead of passing the BAID or Transaction ID you are   
 passing the Express checkout Token (<ebl:ReferenceID>EC-0W695537H15619824</ebl:ReferenceID>) while is incorrect .
  You need to replace the token with the correct BAID or transaction id .You can refer below url for more info :

https://developer.paypal.com/webapps/developer/docs/classic/express-checkout/ht_ec-refTrans-SetEC-DoRefTrans-curl-etc/

【讨论】:

    猜你喜欢
    • 2016-02-02
    • 2013-04-19
    • 2017-12-04
    • 2013-01-24
    • 2016-02-03
    • 2016-02-07
    • 2011-12-18
    • 1970-01-01
    • 2012-08-06
    相关资源
    最近更新 更多