贝宝自适应支付链方法中如何退还部分退款 [英] How to refund partial refund in paypal adaptive payment chain method
问题描述
我正在从事贝宝(PayPal)自适应支付和我需要使用API进行退款,在并行付款的情况下我能够成功退款,但是在连锁支付中遇到问题
例如-买方/发送者在付款时共支付了200美元
接收器1 = $ 90
receiver2 = $ 90
接收者(主要)= $ 20
当我处理API的每个接收者的退款0f $ 10时,对于每个收款人,API返回状态为COMPLETED,主要接收者将获得$ 10的退款;次要接收者支付了10美元,但买方仅获得了10美元的退款.
API代码
I am working on paypal adaptive payment & i need to refund with API , i am able to refund sucessfuly in case of parrralel payment but getting problem in chain payment
eg- buyer/sender made total payment of $200 at time of payment
receiver1 = $90
receiver2 = $90
receiver(primary) = $20
when i process refund 0f $10 from each receivers from API ,API return status COMPLETED for each reciver, primary receiver get refund of $10 & $10 from secondary receivers , but buyer get refund of only $10.
API code
-H "X-PAYPAL-SECURITY-PASSWORD: api_password"
-H "X-PAYPAL-SECURITY-SIGNATURE: api_signature"
-H "X-PAYPAL-REQUEST-DATA-FORMAT: NV"
-H "X-PAYPAL-RESPONSE-DATA-FORMAT: NV"
-H "X-PAYPAL-APPLICATION-ID: your_app_id " https://svcs.sandbox.paypal.com/AdaptivePayments/Refund -d
"requestEnvelope.errorLanguage=en_US
requestEnvelope.errorLanguage = en_US
payKey = AP-95V43510SV018561T0
receiverList.receiver(0).email = receiver-1@example.com
receiverList.receiver(0).amount = 10.00
receiverList.receiver(0).email = receiver-2@example.com
receiverList.receiver(0).amount = 10.00
receiverList.receiver(0).email = primary-receiver-1@example.com
receiverList.receiver(0).amount = 10.00
currencyCode = USD
API响应:
responseEnvelope.timestamp:2015-08-12T22%3A21%3A54.003-07%3A00
responseEnvelope.ack:Success
responseEnvelope.correlationId:189c035575d2d
responseEnvelope.build:17603431
currencyCode:USD
refundInfoList.refundInfo(0).receiver.amount:10.00
refundInfoList.refundInfo(0).receiver.email:reciver-1%40example.com
refundInfoList.refundInfo(0).refundStatus:REFUNDED
refundInfoList.refundInfo(0).refundNetAmount:9.71
refundInfoList.refundInfo(0).refundFeeAmount:0.29
refundInfoList.refundInfo(0).refundGrossAmount:10.00
refundInfoList.refundInfo(0).totalOfAllRefunds:10.00
refundInfoList.refundInfo(0).refundHasBecomeFull:false
refundInfoList.refundInfo(0).encryptedRefundTransactionId:4R029320L1387345S
refundInfoList.refundInfo(0).refundTransactionStatus:COMPLETED
refundInfoList.refundInfo(1).receiver.amount:10.00
refundInfoList.refundInfo(1).receiver.email:reciver-2%40example.com
refundInfoList.refundInfo(1).refundStatus:REFUNDED
refundInfoList.refundInfo(1).refundNetAmount:9.71
refundInfoList.refundInfo(1).refundFeeAmount:0.29
refundInfoList.refundInfo(1).refundGrossAmount:10.00
refundInfoList.refundInfo(1).totalOfAllRefunds:10.00
refundInfoList.refundInfo(1).refundHasBecomeFull:false
refundInfoList.refundInfo(1).encryptedRefundTransactionId:94P25967RW2250454
refundInfoList.refundInfo(1).refundTransactionStatus:COMPLETED
refundInfoList.refundInfo(2).receiver.amount:10.00
refundInfoList.refundInfo(2).receiver.email:primary-reciver%40example.com
refundInfoList.refundInfo(2).refundStatus:REFUNDED
refundInfoList.refundInfo(2).refundNetAmount:10.00
refundInfoList.refundInfo(2).refundFeeAmount:0.00
refundInfoList.refundInfo(2).refundGrossAmount:10.00
refundInfoList.refundInfo(2).totalOfAllRefunds:10.00
refundInfoList.refundInfo(2).refundHasBecomeFull:false
refundInfoList.refundInfo(2).encryptedRefundTransactionId:48K03063M44155052
refundInfoList.refundInfo(2).refundTransactionStatus:COMPLETED
预先感谢您的帮助
推荐答案
您需要将主要金额指定为20美元:
You need to specify the amount as 20 USD for primary :
receiverList.receiver(0).email = primary-receiver-1@example.com
receiverList.receiver(0).amount = 20.00
因此,您在退款API中与主要接收者相关联的任何金额,都将退还给买方.
So whatever amount you associate with primary receiver in refund API that will be given back to the buyer .
这篇关于贝宝自适应支付链方法中如何退还部分退款的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!