【问题标题】:Why doesn't pp-adaptive accept my refund amount?为什么 pp-adaptive 不接受我的退款金额?
【发布时间】:2014-09-10 22:31:45
【问题描述】:

我正在尝试使用 pp-adaptive 实现部分 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 表示

术语发送方和接收方是指使用 Pay API 操作进行原始付款的发送方和接收方。

因此,接收者中的电子邮件字段应该是在原始交易中收到钱的贝宝帐户的字段。另一方面,在描述receiver 字段的amount 字段时,API 表示:

amount(必填)xs:decimal存入收款人账户的金额。

因为它说这笔金额将记入 接收方,似乎 API 的编写者已经停止使用他们在开始时指定的约定,因为根据该命名法,发件人应该是在退款中记入其帐户的人。

由于这种歧义,我尝试同时传递接收者的电子邮件和发件人的电子邮件。在这两种情况下,我都无法获得部分退款。

就像我说的,我认为问题出在其他地方,所以请考虑整个代码。

提前感谢您的回复。

【问题讨论】:

  • 您确定可以只退还部分付款吗?您没有在任何地方提及特定文档是您的问题。
  • API 声称它是。我在我的问题中链接了它(API这个词是链接文本),但这里又是:developer.paypal.com/docs/classic/api/adaptive-payments/…
  • 抱歉,我错过了。明天会挖,因为这里是午夜。
  • 没问题。不过,我已经解决了我的问题,Michal Szyndel。无论如何,谢谢您的考虑!

标签: ruby-on-rails ruby paypal


【解决方案1】:

我找到了我的问题的答案。我没有正确提出请求。以下代码和请求(将电子邮件替换为正确的)实现了部分退款。

    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} )

盘点差异,receiver list应该是数组,receiver不应该是。

【讨论】:

    猜你喜欢
    • 2019-06-10
    • 2020-09-24
    • 1970-01-01
    • 1970-01-01
    • 2016-05-03
    • 2022-10-21
    • 1970-01-01
    • 1970-01-01
    • 2015-10-11
    相关资源
    最近更新 更多