【问题标题】:Paypal SDK Payouts - cannot catch Exception and Receive http 400Paypal SDK 支付 - 无法捕获异常并接收 http 400
【发布时间】:2016-08-06 14:30:40
【问题描述】:

您好,我目前尝试实施以下措施:有人通过贝宝支付某些东西 - 之后第三人应该在他们的贝宝账户上收到 50% 的价格。所以我总是想遵循以下步骤:A 支付 10 欧元,我收到 10 欧元,我向 C 支付 5 欧元。

第一部分是通过 php 中的 paypal sdk 工作,第二部分(目前无法正常向另一个人转账...)

这是我的代码

 $payouts = new \PayPal\Api\Payout();

 $senderBatchHeader = new \PayPal\Api\PayoutSenderBatchHeader();

 $senderBatchHeader->setSenderBatchId(uniqid())
     ->setEmailSubject("Test.");

 $senderItem1 = new \PayPal\Api\PayoutItem();

 $senderItem1->setRecipientType('Email')
            ->setNote('Test.')
            ->setReceiver('test@paypalsandbox.de')
            ->setSenderItemId('test ' . uniqid())
            ->setAmount(new \PayPal\Api\Currency('{
                    "value": "5.00",
                    "currency":"EUR"
                }'));


 $payouts->setSenderBatchHeader($senderBatchHeader)
   ->addItem($senderItem1);

 // For Sample Purposes Only.
 $request = clone $payouts;

// ### Create Payout
try {
    $output = $payouts->createSynchronous($this->_api_context);
} catch (PayPapl\Exception\PayPalConnectionException $ex) {
            //todo add exception handler
    dd('test');

    ResultPrinter::printError("Created Batch Payout", "Payout", null, $request, $ex);
    exit(1);
}

dd('test');

我无法以某种方式捕捉到错误。它说

PayPalHttpConnection.php 第 174 行中的 PayPalConnectionException: 访问https://api.sandbox.paypal.com/v1/payments/payouts?sync_mode=true时得到Http响应码400。

我正在使用 laravel 5.1 实现这个

有什么想法吗?

【问题讨论】:

    标签: php paypal sdk


    【解决方案1】:

    在您的贝宝错误消息前添加一个“\”。为我工作。它是命名空间冲突。

    try {
        $output = $payouts->createSynchronous($this->_api_context);
    } catch (\PayPal\Exception\PayPalConnectionException $ex) {
        //todo add exception handler
        dd('test');
        ResultPrinter::printError("Created Batch Payout", "Payout", null, $request, $ex);
        exit(1);
    }catch (\Exception $e){
        dd($e->getMessage( );
    }
    

    See this post

    【讨论】:

      【解决方案2】:

      根据您的业务模型,REST API 不是一个好的选择。 Paypal 具有自适应支付 API,可让您在从简单到复杂的许多不同场景中汇款。因此,在您的情况下,您可以参考 chained payment,发件人向主要收款人支付金额,主要收款人从中支付次要接收器。发送者只知道主要接收者,不知道次要接收者。次要接收者只知道主要接收者,而不是发送者。自适应支付演示download.

      【讨论】:

        猜你喜欢
        • 2020-05-11
        • 1970-01-01
        • 2020-06-16
        • 1970-01-01
        • 2015-05-09
        • 2020-05-23
        • 2016-01-13
        • 2021-03-23
        • 2021-08-31
        相关资源
        最近更新 更多