如何使用transactionId
执行PaymentDetails
请求?
我尝试在这个代码存储库的samples目录下使用PaymentDetails.java代码。我为我的沙盒帐户替换了所有API凭据,为沙盒帐户使用默认的appId
(APP-80W284485P519543T),并在我的帐户中使用交易的transactionId
。
我能得到的唯一结果是一个internal_error。
当我执行位于PaymentDetails开发人员页面底部的curl语句时,也得到相同的结果。我再次替换所有沙箱API凭证、沙箱的默认appId和现有的transactionId。返回的还是一个internal_error。
是否有更多的配置我需要在我的沙箱帐户?
下面是一个示例请求和响应,对我来说工作得很好。
<?xml version="1.0" encoding="utf-8"?>
<PaymentDetailsRequest xmlns="http://svcs.paypal.com/types/ap">
<requestEnvelope xmlns="">
<detailLevel>ReturnAll</detailLevel>
<errorLanguage>en_US</errorLanguage>
</requestEnvelope>
<transactionId xmlns="">1BM714721N413291D</transactionId>
</PaymentDetailsRequest>
<?xml version='1.0' encoding='UTF-8'?>
<ns2:PaymentDetailsResponse xmlns:ns2="http://svcs.paypal.com/types/ap">
<responseEnvelope>
<timestamp>2014-05-22T06:24:05.953-07:00</timestamp>
<ack>Success</ack>
<correlationId>ff6d39a2bc294</correlationId>
<build>10902368</build>
</responseEnvelope>
<cancelUrl>http://paypal.angelleye.com/paypal/class/1.2/Pay_Cancel.php</cancelUrl>
<currencyCode>USD</currencyCode>
<paymentInfoList>
<paymentInfo>
<transactionId>65A0503076751280F</transactionId>
<transactionStatus>COMPLETED</transactionStatus>
<receiver>
<amount>10.00</amount>
<email>sandbo_1204199080_biz@angelleye.com</email>
<primary>false</primary>
<paymentType>SERVICE</paymentType>
<accountId>E7BTGVXBFSUAU</accountId>
</receiver>
<refundedAmount>0.00</refundedAmount>
<pendingRefund>false</pendingRefund>
<senderTransactionId>1BM714721N413291D</senderTransactionId>
<senderTransactionStatus>COMPLETED</senderTransactionStatus>
</paymentInfo>
<paymentInfo>
<receiver>
<amount>5.00</amount>
<email>usb_1329725429_biz@angelleye.com</email>
<primary>false</primary>
<invoiceId>123-ABCDEF</invoiceId>
<paymentType>SERVICE</paymentType>
<accountId>C9TAVNJFATXCS</accountId>
</receiver>
<refundedAmount>0.00</refundedAmount>
<pendingRefund>false</pendingRefund>
</paymentInfo>
</paymentInfoList>
<returnUrl>http://paypal.angelleye.com/paypal/class/1.2/Pay_Return.php</returnUrl>
<senderEmail>drew@angelleye.com</senderEmail>
<status>INCOMPLETE</status>
<payKey>AP-84R2524843917081W</payKey>
<actionType>PAY</actionType>
<feesPayer>EACHRECEIVER</feesPayer>
<reverseAllParallelPaymentsOnError>false</reverseAllParallelPaymentsOnError>
<sender>
<email>drew@angelleye.com</email>
<accountId>YW66KXBKJRRES</accountId>
<useCredentials>false</useCredentials>
</sender>
</ns2:PaymentDetailsResponse>
如果你能张贴一个完整的样本,你发送到PayPal的原始请求,我也许能帮助你找到问题。