/ / Повернення коштів за допомогою API paypal rest - php, laravel-4, paypal, paypal-rest-sdk

Повернення коштів користувачам з використанням paypal API API - PHP, laravel-4, paypal, paypal-rest-sdk

Я розробляю веб-додаток, на якому дозволяю користувачам купувати квитки на подію. Я використовував 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"}

Відповіді:

2 для відповіді № 1

Ви отримуєте помилку (запит відхилено.)

Не бачачи вашого коду, причиною може бути будь-що з наступного:

Часткова сума відшкодування повинна бути меншою або дорівнює початковій сумі транзакції

Часткова сума відшкодування повинна бути меншою або дорівнює решті суми

Часткова сума відшкодування недійсна

Часткове відшкодування повинно бути в тій самій валюті, що й початкова операція

Оскільки на цю операцію існує скарга, може бути здійснено лише повернення повної або повної залишкової суми транзакції

Ви перевищили обмеження за часом для повернення коштів за цю транзакцію

Не вдається повністю повернути кошти після часткового відшкодування

Ця транзакція вже повністю повернена

Ви не можете повернути кошти за цей тип транзакції

Ви не можете частково повернути кошти за цю транзакцію

Торговий рахунок має обмеження або обмеження


2 для відповіді № 2

Я не зовсім впевнений у проекті laravel, але PHP SDK має можливість повернути кошти. Просто створіть об’єкт Повернення коштів та передайте його методу повернення коштів у об’єкті Продаж. Зразок коду від 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);
}