Когда я пытаюсь выполнить Payout, используя PayPal, я получаю эту ошибку. Я пытался избежать метода sync_mode и т. Д., Но не помог. Пожалуйста, помогите с этой ошибкой
Моя функция
$payouts = new Payout();
$senderBatchHeader = new PayoutSenderBatchHeader();
$senderBatchHeader->setSenderBatchId(uniqid())
->setEmailSubject("You have a Payout!");
$senderItem = new PayoutItem();
$senderItem->setRecipientType('Email')
->setNote('Thanks for your patronage!')
->setReceiver('[email protected]')
->setSenderItemId("2014031400023")
->setAmount(new Currency('{
"value":"1.0",
"currency":"USD"}'));
$payouts->setSenderBatchHeader($senderBatchHeader)
->addItem($senderItem);
$request = clone $payouts;
$apiContext = new \PayPal\Rest\ApiContext(
new \PayPal\Auth\OAuthTokenCredential(
'client_id',
'client_secrete_id'
)
);
try {
$output = $payouts>createSynchronous($apiContext);
} catch (Exception $ex) {
return $ex;
}
return $output;
Рад, что нашел ответ, который сработал для меня!
Изменил приведенный выше код на,
$payouts = new \PayPal\Api\Payout();
$senderBatchHeader = new \PayPal\Api\PayoutSenderBatchHeader();
$senderBatchHeader->setSenderBatchId(uniqid().microtime(true))
->setEmailSubject("You have a payment");
$senderItem = new \PayPal\Api\PayoutItem();
$senderItem->setRecipientType('Email')
->setNote('Thanks you.')
->setReceiver('[email protected]')
->setSenderItemId("item_1" . uniqid().microtime('true'))
->setAmount(new \PayPal\Api\Currency('{
"value":"1.0",
"currency":"USD"}'));
$payouts->setSenderBatchHeader($senderBatchHeader)->addItem($senderItem);
$request = clone $payouts;
$apiContext = new \PayPal\Rest\ApiContext(
new \PayPal\Auth\OAuthTokenCredential(
$paypal->client_id,
$paypal->client_secrete
)
);
try {
$output = $payouts->create(null, $apiContext);
} catch (Exception $ex) {
Flash::error(trans('payout.payout_error'));
return redirect()->back();
}
Flash::success(trans('payout.payout_success'));
return redirect()->back();
Других решений пока нет …