我试图使用pp自适应实现部分PayPal退款,但它将全额退款,而不是我指定的金额。
我的代码:
receiver_list = {receiver: [{ email: @transaction.email, amount: @amount}]}
attributes = {currency_code: "USD", pay_key: @transaction.paypal_token,
receiver_list: receiver_list}
response = client.execute(:Refund, attributes )
我突然意识到,这个问题可能是通过错误的电子邮件传递出来的,但我认为它实际上是在别处。我会用电子邮件来解释这个问题:
API接口表示
术语发件人和接受者指的是使用支付API操作的原始付款的发送方和接收方。
因此,接收方中的电子邮件字段应该是在原始交易中收到款项的paypal帐户的电子邮件字段。另一方面,当描述接收方字段的数量字段时,API说:
(必需)xs:要记入接收方帐户的十进制金额。
因为它说这个金额将贷记给接收方,所以API的作者似乎已经停止使用他们在开始时指定的约定,因为根据这个术语,发件人应该是在退款中向他们的帐户贷记的那个人。
由于这个模棱两可的原因,我试着传递接收者的邮件和发送者的电子邮件。在这两种情况下,我都无法获得部分退款。
就像我说的,我认为问题是别的问题,所以请考虑整个代码。
谢谢您的答复。
发布于 2014-07-21 02:30:50
我已经找到了我问题的答案。我的要求不是正确的。以下代码和请求(将电子邮件替换为正确的)获得部分退款。
receiver = {amount: @amount, email: “someone@somewhere.com"}
receiver_list = [receiver: receiver]
response = client.execute(:Refund, { currency_code: "USD", pay_key: @transaction.paypal_token, receiver_list: receiver_list} )
考虑到差异,接收方列表应该是一个数组,而接收方不应该是数组。
https://stackoverflow.com/questions/24847823
复制相似问题