.net - Paypal :从付款中退款

标签 .net api paypal

我正在使用适用于 .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,但它仍然失败,因为 sale 对象似乎被 API 忽略了。

最佳答案

在您进行此调用后,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会有交易退款的链接。

关于.net - Paypal :从付款中退款,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32782709/

相关文章:

c# - 列出文件夹中的所有文件 - 文件的完整路径

vsto - Excel VSTO排序对话框C#

android - 如何在 gingerbread 和更低版本的设备上运行 api 级别 14 演示

php - 如何保护网站的 Paypal 集成

asp.net - 无法在 Web 服务器上开始调试。无法连接到网络服务器

c# - 如何将 dll 文件添加到 UWP 项目中

python - 如何在 Python 中从此 JSON 中获取 'url' 变量

android - 使用 sdk 高于我的最低 SDK 的 API

paypal - paypal购物车如何设置零数量

php - 带有 REST PHP 的 PayPal 返回错误 400