我正在使用适用于 .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/