Zajmuję się tworzeniem aplikacji internetowej, w której pozwalam użytkownikom kupić bilet na wydarzenie. Użyłem Paypal Rest API
do wysyłania pieniędzy i zakupu biletów.Wszystko działa dobrze. Teraz próbuję użyć metody zwrotu, aby zwrócić wszystkim użytkownikom związanym ze zdarzeniem, kiedy to wydarzenie zostanie anulowane. Przeglądając dokumentację interfejsu API REST, zauważyłem, że istnieje sposób na zwrot, ale podczas wyszukiwania w pakiecie interfejsu API REST laravel
Nie znalazłem sposobu na zwrot lub użycie metody zwrotu rest-api-sdk-php
nie obsługuje metody zwrotu pieniędzy? A jeśli tak, jak go wykorzystać w projekcie laravel? PS: płatność odbywa się bez karty kredytowej. Używam tylko konta PayPal z piaskownicą. --edit-- Otrzymuję ten wynik, gdy próbuję kod zwrotu reszty interfejsu 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"}
Odpowiedzi:
2 dla odpowiedzi № 1Występuje błąd (prośba została odrzucona).
Bez wyświetlania kodu przyczyną może być dowolna z poniższych sytuacji:
Kwota częściowego zwrotu musi być mniejsza lub równa pierwotnej kwocie transakcji
Kwota częściowego zwrotu musi być mniejsza lub równa pozostałej kwocie
Częściowa kwota zwrotu jest nieprawidłowa
Częściowy zwrot musi być w tej samej walucie, co pierwotna transakcja
Ponieważ istnieje skarga dotycząca tej transakcji, można wydać tylko zwrot pełnej lub pełnej pozostałej kwoty transakcji
Przekroczono limit czasu na zwrot pieniędzy za tę transakcję
Po częściowym zwrocie nie można dokonać pełnego zwrotu pieniędzy
Ta transakcja została już w pełni zwrócona
Nie możesz zwrócić tego rodzaju transakcji
Nie możesz dokonać częściowego zwrotu kosztów tej transakcji
Konto sprzedawcy ma ograniczenia lub ograniczenia
2 dla odpowiedzi nr 2
Nie jestem pewien co do projektu laravel, ale PHP SDK ma możliwość zwrotu pieniędzy. Po prostu utwórz obiekt zwrotu i przekaż go do metody zwrotu w obiekcie sprzedaży. Przykładowy kod z 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);
}