您好我目前正尝试实施以下内容:有人通过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: 访问https://api.sandbox.paypal.com/v1/payments/payouts?sync_mode=true时获得了Http响应代码400。
我正在使用laravel 5.1
来实现这一点任何想法?
答案 0 :(得分:2)
放一个' \'在您的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( );
}
答案 1 :(得分:1)
根据您的业务模型,REST API不是一个很好的选择。 Paypal有自适应支付API,可以让你在许多不同的场景中汇款,从简单到复杂。所以在你的情况下,你可以参考chained payment,发件人支付主要接收者的金额,从中接收者支付次要接收者。发送方只知道主接收方,而不知道辅助接收方。辅助接收器只知道主接收器,而不是发送器。自适应付款演示download。