Więc ja zauważyłem, że podczas sprawdzania od statusu płatnościPayPal REST API - państwo nie zmieni po zakupie
GET /v1/payments/payment/<Payment-Id>
„stan” z odpowiedzią PayPal nie zmienia od " utworzono " nawet po tym, jak użytkownik PayPal kupił przedmiot. Dopiero gdy wykonam płatność, stan zmieni się na "zatwierdzony".
To sprawia, że trudno odróżnić płatność, która została faktycznie zatwierdzona przez klienta od tej, która wciąż trwa, ponieważ oba są w stanie "utworzonym" "utworzonym". Jedyna różnica w odpowiedzi jsona polega na tym, że po zatwierdzeniu płatności wydaje się, że zawiera ona shipping_address. Nie jestem pewien, czy to standardowy sposób na wskazanie różnicy.
Jaki jest standardowy sposób sprawdzenia, czy klient rzeczywiście zatwierdził transakcję PayPal, gdy korzysta z powyższego połączenia z interfejsem API REST?
Uwaga: Mam już skonfigurowane i działające skrypty wywołania zwrotnego PHP. Pracuję nad systemem fail-safe, który stale sprawdza wpisy w bazie danych, aby upewnić się, że zatwierdzona płatność została wykonana (w przypadku jakiejś awarii systemu).
Myślałem, że mogę użyć skryptu oddzwonienia IPN mam setup z CLASSIC API
ale wydaje się, że REST API
i CLASSIC API
nie są kompatybilne ponieważ zwrotna IPN nie będzie zawierać identyfikator transakcji lub wszelkie niezbędne informacje będą przydatne.
Wygląda na to, że podczas korzystania z interfejsu REST API, jeśli przegapisz przekierowanie do swojego serwera internetowego, transakcja zostanie utracona na zawsze.
Dzięki za odpowiedź, świetnie jest w końcu uzyskać niewielką pomoc.Podczas testowania za pomocą tych metod zauważam, że obiekt "płatnika" istnieje, jeśli użytkownik jest zalogowany do systemu PayPal, ale jeszcze nie zapłacił. W tym przypadku nie będzie miał jednak adresu shipping_address. Gdy użytkownik skończył płacić i zapłacił, będzie zawierał adres_przesyłki. Czy to też dotyczy ciebie? –
Mogę zweryfikować, że obiekt "płatnika" będzie istniał, jeśli użytkownik siedzi na stronie "przeglądu informacji" w sklepie po zalogowaniu. W tym momencie nie zostały jeszcze całkowicie wyewidencjonowane i mają opcję anulowania. Tak więc istnienie obiektu "płatnika" nie jest wystarczające. Mogę ci pokazać JSON, który otrzymam, jeśli to pomoże. –
Jest to obiekt płatnik po zalogowaniu się "płatnikiem". { "payer_info": { "COUNTRY_CODE": "nas", "imię": "Joshua", "LAST_NAME": "Brittain", " payer_id ": "KZNRYBNVQD2FL" "telefon": "4084500470" } "payment_method": "paypal", "status": "Zweryfikowane" } –