Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax Paypal重复计费的退款交易_Ajax_Api_Paypal_Recurring Billing - Fatal编程技术网

Ajax Paypal重复计费的退款交易

Ajax Paypal重复计费的退款交易,ajax,api,paypal,recurring-billing,Ajax,Api,Paypal,Recurring Billing,我正在尝试为使用AJAX的定期计费协议中发生的交易创建退款,但我不断收到404、501和500错误之类的错误。我对Paypal沙箱的所有其他API调用都成功返回。我正在从一个get请求获取事务ID,该请求返回一个事务数组(/v1/付款/账单协议//事务?开始日期=yyyy mm dd&结束日期=yyyy mm dd)。你们知道这是我的API调用的问题还是Paypal不允许重复计费退款?另外,如果有一种方法可以使用Paypal的RESTful API将钱返还给客户,这也是一种反馈 提前谢谢 您应该

我正在尝试为使用AJAX的定期计费协议中发生的交易创建退款,但我不断收到404、501和500错误之类的错误。我对Paypal沙箱的所有其他API调用都成功返回。我正在从一个get请求获取事务ID,该请求返回一个事务数组(
/v1/付款/账单协议//事务?开始日期=yyyy mm dd&结束日期=yyyy mm dd
)。你们知道这是我的API调用的问题还是Paypal不允许重复计费退款?另外,如果有一种方法可以使用Paypal的RESTful API将钱返还给客户,这也是一种反馈


提前谢谢

您应该使用交易id而不是协议id。这是因为退款API调用针对的是交易,而不是整个计费协议。只要交易在过去60天内完成,您就可以退款

以下代码直接来自PayPal开发者:

curl-vhttps://api.sandbox.paypal.com/v1/payments/sale//refund \
-H'内容类型:应用程序/json'\
-H‘授权:持票人’\
-d'{
“金额”:
{
“总计”:“2.34”,
“货币”:“美元”
}
}'

当您执行search transactions API调用时,它将返回几个不同的带有事务id的字段。当协议被同意或修改时,您将有一个字段。这些在开始时通常有“I-”。这些不退款。但是,他们也会提供状态为“已完成”的,用于实际付款。这些是可以退款的


如果您退款的是“I-”项,您将收到无效的资源ID错误。

我一直在使用搜索协议交易时获得的交易ID。我直接从
事务ID
键中获取ID。我得到的响应是一个404,错误名称为
“INVALID\u RESOURCE\u ID”
。顺便谢谢你的帮助!你能提供申请代码吗?我想确定您使用的端点是否正确。通常,当您收到该错误时,请求中可能缺少某些内容,或者交易id或支付id无效。请求如下:
POST/v1/payments/sale/0G416629682867447/return HTTP/1.1主机:api.sandbox.paypal.com授权:承载内容类型:应用程序/json缓存控制:无缓存{“金额”:{“总额”:“2.34”,“货币”:“美元”}
当我使用一次性交易中的交易ID时,它会起作用。但是,你完全正确。我一直在使用状态为“完成”的交易ID。我尝试使用一次性交易中的交易ID,并且这些工作正常,但每当我尝试使用重复计费交易ID时,我都会得到响应
“无效的\u资源\u ID"
出于测试目的,您可以尝试使用/v1/payments/capture//return API吗?对于定期付款,例如,它不是销售或授权…它将其列为定期付款类型,或者我没有看到退款方法。如果我使用
/v1/payments/capture//return
,我会收到相同的错误。我同意您的说法不是出售或捕获。但必须有某种方式来退还定期账单交易嗨,我对paypal订阅付款也有同样的问题。我有一个已完成的测试交易。
交易id:4D142018GM6180709状态:已完成交易类型:定期付款金额{2}货币:港币币值:1.00费用金额{2}货币:港币币值:-1.00净额{2}货币:港币币值:0.00付款人\电子邮件:管理员-buyer@use2pay.com付款人名称:买方测试时间戳:2015-10-07T11:45:08Z时区:GMT
我尝试了
fetchTransaction
方法和“无效的资源ID”也会发生。@AnthonyUmpad我就这个问题直接联系了Paypal,他们说,从现在起,您不能退还在定期计费计划中发生的交易。他们说,他们添加此功能是为了在其API的未来版本中优先考虑。我从直接使用Paypal切换到使用Braintree,您应该检查一下!它使服务器端配置变得简单,使PCI兼容变得容易。我们遇到了完全相同的问题。正常销售交易似乎可以退款,但我们在尝试退款订阅协议交易时遇到错误。
curl -v https://api.sandbox.paypal.com/v1/payments/sale/<Transaction-Id>/refund \
-H 'Content-Type:application/json'  \
-H 'Authorization: Bearer <Access-Token>' \
-d '{
  "amount":
  {
    "total": "2.34",
    "currency": "USD"
  }
}'