Возврат пользователей с помощью PayPal Rest API

Я разрабатываю веб-приложение, в котором я разрешаю пользователям покупать билет на событие. Я использовал Paypal Rest API для отправки денег и покупки билетов. Все работает просто отлично. Сейчас я пытаюсь использовать метод возврата, чтобы вернуть всех пользователей, связанных с событием, когда это событие будет отменено. Просматривая документацию REST API, я обнаружил, что существует способ возврата, но когда я ищу в пакете REST API laravel Я не нашел, как вернуть или использовать метод возврата. Есть ли rest-api-sdk-php не поддерживает метод возврата? И если да, как использовать это в проекте Laravel?
PS: оплата производится без кредитной карты. Я использую только счет PayPal с песочницей.
—edit— я получаю этот результат при попытке кода возврата оставшегося API:

{"name":"TRANSACTION_REFUSED","message":"The request was refused.{0}","information_link":"https://developer.paypal.com/webapps/developer/docs/api/#TRANSACTION_REFUSED","debug_id":"97f33dd89f4c8"}

0

Решение

Ошибка, которую вы получаете (запрос был отклонен.)

Не видя ваш код, любой из следующих может быть причиной:

Частичная сумма возврата должна быть меньше или равна первоначальной сумме транзакции

Частичная сумма возврата должна быть меньше или равна оставшейся сумме

Частичная сумма возврата не действительна

Частичное возмещение должно быть в той же валюте, что и исходная транзакция.

Поскольку для этой транзакции существует жалоба, может быть выдан только возврат полной или полной оставшейся суммы транзакции.

Вы превысили срок, чтобы выполнить возврат по этой транзакции

Невозможно сделать полный возврат после частичного возврата

Эта транзакция уже полностью возвращена

Вы не можете вернуть этот тип транзакции

Вы не можете сделать частичное возмещение по этой транзакции

У торгового счета есть ограничения или ограничения

2

Другие решения

Я не совсем уверен насчет проекта laravel, но PHP SDK действительно может вернуть деньги. Просто создайте объект Refund и передайте его методу возврата в объекте Sale. Пример кода от https://github.com/paypal/PayPal-PHP-SDK/blob/master/sample/sale/RefundSale.php:

// ### Refund object
$refund = new Refund();
$refund->setAmount($amt);
// ###Sale
// A sale transaction.
// Create a Sale object with the
// given sale transaction id.
$sale = new Sale();
$sale->setId($saleId);
try {
// Create a new apiContext object so we send a new
// PayPal-Request-Id (idempotency) header for this resource
$apiContext = getApiContext($clientId, $clientSecret);
// Refund the sale
// (See bootstrap.php for more on `ApiContext`)
$refundedSale = $sale->refund($refund, $apiContext);
} catch (Exception $ex) {
ResultPrinter::printError("Refund Sale", "Sale", $refundedSale->getId(), $refund, $ex);
exit(1);
}
3

По вопросам рекламы [email protected]