您好,我目前正在尝试执行以下操作:有人通过 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 https://api.sandbox.paypal.com/v1/payments/payouts?sync_mode=true .
我正在使用 laravel 5.1 实现这个
有什么想法吗?
最佳答案
在您的 paypal 错误消息前放置一个“\”。为我工作。它是一个 namespace 冲突。
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( );
}
关于php - Paypal SDK 支付 - 无法捕获异常并接收 http 400,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36633222/