Я разрабатываю веб-приложение, на котором я разрешаю пользователям покупать билет для мероприятия. Я использовал Paypal Rest API
для отправки денег и покупки билетов. Все работает отлично. Теперь я пытаюсь использовать метод возврата для возврата всех пользователей, связанных с событием, когда это событие будет отменено. В документации API REST я обнаружил, что существует способ возврата, но когда я ищу в пакете 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"}
Ошибка, которую вы получаете (запрос был отклонен.)
Не видя своего кода, причиной может быть любая из следующих причин:
Сумма частичного возмещения должна быть меньше или равна первоначальной сумме транзакции
Частичная сумма возврата должна быть меньше или равна оставшейся сумме
Частичная сумма возврата недействительна
Частичное возмещение должно быть той же валютой, что и первоначальная транзакция
Поскольку в этой сделке существует жалоба, может быть выдан только возврат полной или полной оставшейся суммы транзакции
Вы превысили лимит времени для возврата платежа по этой транзакции
Не может произвести полный возврат средств после частичного возмещения
Эта транзакция уже полностью возмещена
Вы не можете вернуть этот тип транзакции
Вы не можете частично оплатить эту транзакцию
У торгового аккаунта есть ограничения или ограничения
Я не совсем уверен в проекте laravel, но PHP SDK действительно имеет возможность возместить. Просто создайте объект возврата и передайте его методу возврата в объект 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); }