自适应支付部分退款功能

时间:2017-02-24 13:55:19

标签: paypal paypal-adaptive-payments chained-payments

我发送的请求如下,并收到错误回复。请帮帮我,我做错了什么。谢谢。

我的要求: -

requestEnvelope.errorLanguage = EN_US
&安培; requestEnvelope.detailLevel = ReturnAll
&安培; payKey = AP-0VR709562K128704J
&安培; receiverList.receiver(0)= .email买方@ abc.com
&安培; receiverList.receiver(0)= .amount 14.00
¤cyCode= GBP

我的回应: -

Array
(
    [responseEnvelope.timestamp] => 2017-02-24T05:50:55.589-08:00
    [responseEnvelope.ack] => Failure
    [responseEnvelope.correlationId] => 66bf1bad1aa91
    [responseEnvelope.build] => 30051544
    [error(0).errorId] => 589037
    [error(0).domain] => PLATFORM
    [error(0).subdomain] => Application
    [error(0).severity] => Error
    [error(0).category] => Application
    [error(0).message] => The refund's receiver buyer@abc.com wasn't part of the payment request
    [error(0).parameter(0)] => buyer@abc.com
)

1 个答案:

答案 0 :(得分:1)

我得到了一个解决方案。在请求我们需要发送接收者(卖家)电子邮件而不是买家电子邮件,它将自动发送退款给适当的接收者。

所以答案是

requestEnvelope.errorLanguage=en_US
&requestEnvelope.detailLevel=ReturnAll
&payKey=AP-0VR709562K128704J
&receiverList.receiver(0).email=api_email@apiemail.com
&receiverList.receiver(0).amount=14.00
¤cyCode=GBP

我们会得到像

这样的回应
Array
(
    [responseEnvelope.timestamp] => 2017-04-05T07:34:25.622-07:00
    [responseEnvelope.ack] => Success
    [responseEnvelope.correlationId] => 3a31df57541f3
    [responseEnvelope.build] => 31096492
    [currencyCode] => GBP
    [refundInfoList.refundInfo(0).receiver.amount] => 19.02
    [refundInfoList.refundInfo(0).receiver.email] => api_email@apiemail.com
    [refundInfoList.refundInfo(0).refundStatus] => REFUNDED
    [refundInfoList.refundInfo(0).refundNetAmount] => 18.37
    [refundInfoList.refundInfo(0).refundFeeAmount] => 0.65
    [refundInfoList.refundInfo(0).refundGrossAmount] => 19.02
    [refundInfoList.refundInfo(0).totalOfAllRefunds] => 39.04
    [refundInfoList.refundInfo(0).refundHasBecomeFull] => false
    [refundInfoList.refundInfo(0).encryptedRefundTransactionId] => 00487139PD976194Y
    [refundInfoList.refundInfo(0).refundTransactionStatus] => COMPLETED
)