【问题标题】:Refund users using paypal rest API使用 paypal rest API 给用户退款
【发布时间】:2014-12-03 08:32:44
【问题描述】:

我正在开发一个 Web 应用程序,允许用户在该应用程序上购买活动门票。我使用Paypal Rest API 汇款和购买门票。一切正常。现在我正在尝试使用退款方法在该事件将被取消时向与该事件相关的所有用户退款。查看 REST API 文档,我发现有一种退款方式,但是当我在 REST API 包中搜索 laravel 时,我还没有找到如何退款或使用退款方法。 rest-api-sdk-php不支持退款方式吗?如果是的话,如何在 laravel 项目中使用它? PS:付款是在没有信用卡的情况下完成的。我只使用带有沙盒的贝宝账户。 --edit-- 尝试rest api的退款代码时得到这个结果:

{"name":"TRANSACTION_REFUSED","message":"The request was refused.{0}","information_link":"https://developer.paypal.com/webapps/developer/docs/api/#TRANSACTION_REFUSED","debug_id":"97f33dd89f4c8"}

【问题讨论】:

标签: php laravel-4 paypal paypal-rest-sdk


【解决方案1】:

我不太确定 laravel 项目,但是 PHP SDK 确实有退款的能力。只需创建一个 Refund 对象并将其传递给 Sale 对象中的退款方法。来自https://github.com/paypal/PayPal-PHP-SDK/blob/master/sample/sale/RefundSale.php的示例代码:

// ### Refund object
$refund = new Refund();
$refund->setAmount($amt);
// ###Sale
// A sale transaction.
// Create a Sale object with the
// given sale transaction id.
$sale = new Sale();
$sale->setId($saleId);
try {
    // Create a new apiContext object so we send a new
    // PayPal-Request-Id (idempotency) header for this resource
    $apiContext = getApiContext($clientId, $clientSecret);
    // Refund the sale
    // (See bootstrap.php for more on `ApiContext`)
    $refundedSale = $sale->refund($refund, $apiContext);
} catch (Exception $ex) {
    ResultPrinter::printError("Refund Sale", "Sale", $refundedSale->getId(), $refund, $ex);
    exit(1);
}

【讨论】:

  • 我得到 Class 'ResultPrinter' not found @vandershraaf
  • 删除该行。该行仅用于示例目的。你可以对它做一个正常的回声。
  • 是的,我做了一个简单的回声,并用回声的结果编辑了我的问题。
  • 我使用了上述方法,在全额付款的情况下效果很好,但在定期付款中效果不佳。它总是给出错误“INVALID RESOURCE ID”,而我在全额付款和定期付款中都使用交易 ID 作为销售 ID。知道如何解决这个问题吗?
【解决方案2】:

您遇到的错误(请求被拒绝。)

没有看到您的代码,可能是以下任何原因:

部分退款金额必须小于或等于原始交易金额

部分退款金额必须小于或等于剩余金额

部分退款金额无效

部分退款必须是与原始交易相同的币种

由于本次交易存在投诉案例,因此只能退还交易的全部或全部剩余金额

您已超过对此交易执行退款的时间限制

部分退款后无法全额退款

此交易已全额退款

此类交易无法退款

您不能对此交易进行部分退款

商家帐户有限制或限制

【讨论】:

    猜你喜欢
    • 2017-07-24
    • 1970-01-01
    • 2015-02-01
    • 2014-02-22
    • 2016-04-17
    • 2015-11-22
    • 2017-10-04
    • 2014-05-24
    • 2013-07-04
    相关资源
    最近更新 更多