我正在嘗試在 Paypal 中實作單一的支付功能。我在此處參考了 Paypal 檔案提供的示例代碼。一切似乎都在按順序運行,但 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;
}
這里提供的解決方案并沒有真正解決我的問題。
uj5u.com熱心網友回復:
付款批量運行。批處理狀態以“PENDING”開始是正常的。批次中每筆支出的狀態很重要。您可以根據需要查詢它們,如果它們單獨待定,可能會給出一些原因。
PayPal 付款在沙盒或實時中待處理的最常見原因是,如果付款發送到的地址中沒有帶有已確認電子郵件(分別在沙盒或實時中)的PayPal 帳戶。收款人有 30 天的時間創建帳戶和/或確認其帳戶中的電子郵件以接受付款,否則將在 30 天后自動退款。在此期間,提醒會發送到該電子郵件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/351651.html
