贝宝自适应支付链方法中如何退还部分退款 [英] How to refund partial refund in paypal adaptive payment chain method

查看:218
本文介绍了贝宝自适应支付链方法中如何退还部分退款的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在从事贝宝(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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆