Paypal SDK 支付 - 无法捕获异常并接收 http 400
Posted
技术标签:
【中文标题】Paypal SDK 支付 - 无法捕获异常并接收 http 400【英文标题】:Paypal SDK Payouts - cannot catch Exception and Receive 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 实现这个
有什么想法吗?
【问题讨论】:
【参考方案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.
【讨论】:
以上是关于Paypal SDK 支付 - 无法捕获异常并接收 http 400的主要内容,如果未能解决你的问题,请参考以下文章
paypal sdk for android中的授权和捕获可行吗?
使用 Rails 和“paypal-sdk-merchant”gem 将多个接收者添加到 Paypal Mass Pay