如何完成 paypal 付款中的待处理交易
How to complete pending transactions in paypal payouts
我正在尝试在 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并没有真正解决我的问题。
分批付款运行。对于以 'PENDING' 开头的批处理状态是正常的。批次中每笔付款的状态很重要。您可以根据需要查询它们,如果它们是单独挂起的,可能会给出一些原因。
PayPal 付款在沙盒或实时中处于待处理状态的最常见原因是,如果没有 PayPal 帐户具有确认电子邮件(分别在沙盒或实时中)付款发送到的地址。收款人有 30 天的时间创建帐户 and/or 确认其帐户中的电子邮件以接受付款,否则将在 30 天后自动退款。在此期间,提醒会发送到该电子邮件。
我正在尝试在 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并没有真正解决我的问题。
分批付款运行。对于以 'PENDING' 开头的批处理状态是正常的。批次中每笔付款的状态很重要。您可以根据需要查询它们,如果它们是单独挂起的,可能会给出一些原因。
PayPal 付款在沙盒或实时中处于待处理状态的最常见原因是,如果没有 PayPal 帐户具有确认电子邮件(分别在沙盒或实时中)付款发送到的地址。收款人有 30 天的时间创建帐户 and/or 确认其帐户中的电子邮件以接受付款,否则将在 30 天后自动退款。在此期间,提醒会发送到该电子邮件。