【问题标题】:PayPal API transaction refused on refundPayPal API 交易在退款时被拒绝
【发布时间】:2015-08-25 21:08:28
【问题描述】:

此代码不起作用:

$sale = $this->get_sale($saleId);
$amt = $sale->getAmount();
$refund = new Refund();
$refund->setAmount($amt);
$refundSale = new Sale();
$refundSale->setId($saleId);
$refundedSale = $refundSale->refund($refund, $this->apiContext);

根据https://developer.paypal.com/docs/integration/direct/refund-payment/,我尝试不提供金额对象来发起全额退款。

但这也不起作用:

$sale = $this->get_sale($saleId);
$refund = new Refund();
$refundSale = new Sale();
$refundSale->setId($saleId);
$refundedSale = $refundSale->refund($refund, $this->apiContext);

谁能确定我做错了什么? API 响应没有详细说明发生了什么,只是错误代码 400 和“请求被拒绝。{0}”。

【问题讨论】:

  • 您能否发布来自 PayPal 的包含调试 ID 的完整回复?
  • 响应产生的 var_dump:stdClass::__set_state(array( 'name' => 'TRANSACTION_REFUSED', 'message' => 'The request was refused.{0}', 'information_link' => 'https://developer.paypal.com/webapps/developer/docs/api/#TRANSACTION_REFUSED', 'debug_id' => 'e5c656a198a83', ))
  • 您确定该交易尚未退款吗?
  • 是的,还没有退款。如果手动设置$amt,它就可以工作。但是将其设置为 $sale 中的金额不起作用?这没有任何意义。
  • 这里有一篇关于通过php api退款的文章。 kvcodes.com/2016/05/paypal-refund-transaction

标签: php paypal


【解决方案1】:

根据debug_id,交易已经全额退款,所以你会收到这样的错误信息。您可以创建一个新交易,然后尝试再次退款以进行测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-01
    • 1970-01-01
    • 2016-04-17
    • 2017-09-16
    • 1970-01-01
    • 2017-12-22
    • 2020-07-30
    相关资源
    最近更新 更多