Php Paypal SDK付款-无法捕获异常并接收http 400

Php Paypal SDK付款-无法捕获异常并接收http 400,php,paypal,sdk,Php,Paypal,Sdk,您好,我目前正在尝试实现以下功能:有人通过paypal支付东西-第三方应该在他们的paypal帐户上获得大约50%的价格。所以我总是想遵循以下步骤:A个人支付10欧元,我收到10欧元,我向C个人支付5欧元 第一部分是通过php中的paypal sdk工作,第二部分(将钱转给另一个人目前工作不好…) 这是我的代码 $payouts = new \PayPal\Api\Payout(); $senderBatchHeader = new \PayPal\Api\PayoutSenderBatc

您好,我目前正在尝试实现以下功能:有人通过paypal支付东西-第三方应该在他们的paypal帐户上获得大约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: 访问时获取Http响应代码400

我正在使用Laravel5.1实现这一点


有什么想法吗?

基于您的业务模型,REST API不是一个好的选择。
Paypal具有自适应支付API,允许您在许多不同的情况下(从简单到复杂)汇款。因此,在您的情况下,您可以参考,发送方向主接收方支付金额,主接收方从中支付辅助接收方。发送方只知道主接收方,而不知道次接收方。次要接收者只知道主要接收者,而不知道发送者。自适应支付演示。

在您的paypal错误消息前放置一个“\”。为我工作。这是一个名称空间冲突

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( );
}