【问题标题】:PayPal: Refund money from PaymentPayPal:从付款中退款
【发布时间】:2015-12-23 07:37:04
【问题描述】:

我正在使用适用于 .NET 的 paypal API,并且正在通过以下方法创建付款:POST /v1/payments/payment。

我的付款创建请求:

Payment = {
  intent: 'sale',
  payer = {
    payment_method = 'paypal'
  },
  transactions = [
    transaction= = {
      amount = {
        currency = 'GBP',
        total = '10.00'
      },
      item_list = {
        items = [
          item = {
            quantity = '1',
            name = 'name',
            price = '10.00',
            currency = 'GBP',
            sku = 'description'
          }
        ],
        shipping_address = {
          recipient_name = 'name',
          line1 = 'address',
          city = 'city',
          country_code = 'GB',
          postal_code = 'G69 7LS'
        }
      }
    }
  ],
  redirect_urls = {
    return_url = 'http://localhost/',
    cancel_url = 'http://localhost/'
  }
}

如您所见,我没有创建“销售”类型的相关交易。

在创建并执行付款后,在某些情况下我们需要退还客户的钱,但要退款,我们需要一个 saleId。我尝试通过创建付款来生成 saleId,但仍然失败,因为 API 似乎忽略了 sale 对象。

【问题讨论】:

  • 不熟悉 API(如果我遗漏了一个细节,请原谅),但根据docs,您应该收到一个[response].transactions.related_resources.sale.id,它会被传回refund。当您说忽略时,响应中是否缺少[response].transactions.related_resources.sale
  • 付款作为答案给出,它带有一个空的payment_resources数组。

标签: .net api paypal


【解决方案1】:

在您拨打此电话后,PayPal 会返回一个链接,将客户引导至 PayPal。之后,它会返回到您指定的返回 URL。然后执行执行付款调用:

https://api.sandbox.paypal.com/v1/payments/payment/<Payment-Id>/execute/

该响应中将包含您正在寻找的信息。

Response=>transactions=>related_resources=>sale=>id 是带有 id 的变量。

另外,Response=>transactions=>related_resources=>links 会有退款交易的链接。

【讨论】:

  • API页面给出的解释我不是很理解,但是他的解释对我帮助很大。谢谢。
猜你喜欢
  • 1970-01-01
  • 2013-03-09
  • 2016-07-28
  • 2014-08-27
  • 2015-11-30
  • 2014-07-04
  • 2014-04-03
  • 2014-07-30
  • 2016-03-07
相关资源
最近更新 更多