如何在贝宝支付中完成待处理交易
Posted
技术标签:
【中文标题】如何在贝宝支付中完成待处理交易【英文标题】:How to complete pending transactions in paypal payouts 【发布时间】:2021-12-19 05:28:32 【问题描述】:我正在尝试在 Paypal 中实现单一的支付功能。我参考了 Paypal 的文档here 给出的示例代码。一切似乎都正常,但 PayPal 给出的响应表明:"batch_status": "PENDING"。这是我的支付功能:
public function payoutWithPaypal()
$request_amount = session()->get('request_amount');
$transaction_id = session()->get('transaction_id');
$receiver_email = session()->get('receiver_email');
$payouts = new \PayPal\Api\Payout();
$senderBatchHeader = new \PayPal\Api\PayoutSenderBatchHeader();
$senderBatchHeader->setSenderBatchId(uniqid())->setEmailSubject("You have a Payout!");
$senderItem = new \PayPal\Api\PayoutItem();
$senderItem->setRecipientType('Email')
->setNote('Thanks for your patronage!')
->setReceiver($receiver_email)
->setSenderItemId("001")
->setAmount(new \PayPal\Api\Currency('
"value":"'.$request_amount.'",
"currency":"USD"
'));
$payouts->setSenderBatchHeader($senderBatchHeader)->addItem($senderItem);
$request = clone $payouts;
try
$output = $payouts->create(array('sync_mode' => 'false'), $this->_api_context);
catch (\Exception $ex)
dd($ex);
return $output;
here 提供的解决方案并没有真正解决我的问题。
【问题讨论】:
【参考方案1】:付款分批进行。批次状态以“PENDING”开始是正常的。批次中每笔付款的状态才是最重要的。您可以根据需要查询它们,如果它们单独待定,可能会给出一些原因。
PayPal 付款在沙盒或实时中待处理的最常见原因是,如果在接收地址的地址没有带有已确认电子邮件(分别在沙盒或实时)中的 PayPal 帐户。付款已发送。收款人有 30 天的时间创建帐户和/或确认其帐户中的电子邮件以接受付款,否则将在 30 天后自动退款。在此期间,系统会将提醒发送到该电子邮件。
【讨论】:
以上是关于如何在贝宝支付中完成待处理交易的主要内容,如果未能解决你的问题,请参考以下文章