doujingxi3356
2014-12-03 08:32
浏览 373
已采纳

使用paypal rest API退款用户

I'm developping a web application on which I allow the users to buy a ticket for an event. I used the Paypal Rest API for sending money and purchasing the tickets.Everything is working just fine. Now I'm trying to use the refund method to refund all users related to an event when this event will be cancelled. Looking in the REST API documentation I found that there is a way to refund but when I search in the REST API package for laravel I haven't found how to refund or use the refund method. Does rest-api-sdk-php doesn't support the refund method? And if yes how to use it in laravel project? PS: the payment are done without a credit card.I use just the paypal acount with sandbox. --edit-- I get this result when trying the refund code of the 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"}

图片转代码服务由CSDN问答提供 功能建议

我正在开发一个Web应用程序,我允许用户为活动购买机票。 我使用 Paypal Rest API 来汇款和购买门票。一切正常。 现在,我正在尝试使用退款方式退还与此活动相关的所有用户。 查看REST API文档,我发现有一种方法可以退款,但是当我在REST API包中搜索 laravel 时,我还没有找到如何退款或使用退款方法。 rest-api-sdk-php 不支持退款方式吗? 如果是,如何在laravel项目中使用它? PS:付款是在没有信用卡的情况下完成的。我只使用带有沙盒的paypal帐户。 - 编辑 - 我在尝试退款代码时得到此结果 rest api:

  {“name”:“TRANSACTION_REFUSED”,“message”:“请求被拒绝。{0}”,“information_link”:“https://  developer.paypal.com/webapps/developer/docs/api/#TRANSACTION_REFUSED","debug_id":"97f33dd89f4c8"}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • duanfa2014 2014-12-20 00:01
    已采纳

    The error you are getting (The request was refused.)

    Without seeing your code, any of the following could be the reason:

    The partial refund amount must be less than or equal to the original transaction amount

    The partial refund amount must be less than or equal to the remaining amount

    The partial refund amount is not valid

    The partial refund must be the same currency as the original transaction

    Because a complaint case exists on this transaction, only a refund of the full or full remaining amount of the transaction can be issued

    You are over the time limit to perform a refund on this transaction

    Cannot do a full refund after a partial refund

    This transaction has already been fully refunded

    You cannot refund this type of transaction

    You cannot do a partial refund on this transaction

    The merchant account has limitations or restrictions

    点赞 评论
  • drake900918 2014-12-03 09:01

    I am not quite sure about laravel project, but the PHP SDK does have ability to refund. Simply create a Refund object and pass it to refund method in Sale object. Sample code from 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);
    }
    
    点赞 评论

相关推荐 更多相似问题