2012-01-28 17 views
12

Czy mogę otrzymać zmienne pocztowe paypal w URL-u zwrotnym. Chcę wyświetlić komunikat odpowiedzi na stronie URL z linkiem, w zależności od tego, czy transakcja użytkownika została zakończona/oczekuje/zakończyła się niepowodzeniem. Testuję z kontem Sandbox PayPal.Paypal - strona z linkiem zwrotnym i zmienne

Oto mój kod,

<input type="hidden" name="item_name" value="Credit Purchase">  
<input type="hidden" name="business" value="<?php echo paypal_business_id;?>"> 
<input type="hidden" name="rm" value="2"> 
<input type="hidden" name="cmd" value="_xclick"> 
<input type="hidden" name="currency_code" id="currency_code" value="GBP"> 
<input type="hidden" name="custom" id="custom" value="<?php echo $user."@@@".$num_purchase;?>"> 
<input type="hidden" name="return" value="<?php echo base_url(); ?>buy/success"> 
<input type="hidden" name="cancel_return" value="<?php echo base_url(); ?>"> 
<input type="hidden" name="notify_url" value="<?php echo base_url(); ?>buy/notify 

Odpowiedz

14

Jest możliwe dodanie na return zmiennej, identyfikator zamówienia, a następnie dostać swój identyfikator zamówienia, gdy użytkownik i powrót z id kolejności pokazać mu informacje.

Np

<input type="hidden" name="return" value="myReturnUrl.php?OrderID=88273882717A72734"> 
+0

Dziękuję za odpowiedź. Moim żądaniem jest poznanie statusu płatności. Kiedy otrzymamy zestaw zmiennych opublikowanych z paypal w adresie powiadomień, czy ten sam zestaw zmiennych będzie dostępny również w adresie URL odsyłania? Wcześniej, gdy próbowałem kilka dni temu, mogłem go zdobyć, ale teraz nie są one wysyłane, by zwrócić adres URL. Chcę wyświetlić komunikat, że transakcja powiodła się/zakończyła się niepowodzeniem na stronie z adresem URL powrotu. –

+1

Mam rzeczy, które działają poprawnie. Problem polegał na tym, że kliknąłem łącze powrotne, zanim upłynie czas automatycznego przekierowania wynoszący 10 sekund. :) –

4

Poczekaj na powiadomienia IPN przyjść i spojrzeć na payment_status w tym.
Ponieważ transakcje są automatycznie sprawdzane pod kątem oszustw i mogą być finansowane z kont bankowych, zwracanie ich do adresu zwrotnego nie zawsze jest równoznaczne z udaną transakcją.

Listę IPN zmiennych można oczekiwać, zobacz PayPal IPN and PDT variables
Będziesz chcą wyglądać (co najmniej) na następujących wartościach:

  • payment_status
  • mc_gross i/lub payment_gross (payment_gross jest używany, jeśli transakcja jest w USD, mc_gross czy to innej walucie)
  • payment_type
  • pending_reason
+0

Tak na stronie powodzenia, sprawdzam, czy status płatności został zakończony, czy nie. W zależności od statusu, mam oprawioną stronę odpowiedzi.Ten problem, przed którym stoję, to w Mozilla Firefox (9.0.1) raz dokończ transakcję, zanim zostanie przekierowany do strony z adresem URL powrotu, sama przeglądarka wyświetli komunikat z prośbą o potwierdzenie, aby kontynuować. Jeśli kliknę przycisk "OK" natychmiast, wszystko pójdzie dobrze, ale jeśli nie wykonuję żadnej akcji, strona zostanie automatycznie przekierowana i nie otrzymuję żadnej z zmiennych przesłanych z systemu PayPal. –

+0

Tego rodzaju problem nie występuje w przeglądarkach Chrome i IE. Czy ktoś mógłby mi powiedzieć, jak mogę wyeliminować ten problem w firefox? –

-2

Ten rodzaj problemów istnieje w FF, jeśli czekasz przez 10 s. Moje rozwiązanie zmienia adres URL powrotu na "xxx.com?orderId=xxx". Następnie oceniasz, czy to POST, czy GET. i wybierz informacje o zamówieniu za pomocą identyfikatora zamówienia Nie musisz się martwić o status płatności. ponieważ powinieneś zawsze odnosić sukcesy, jeśli powrócisz do swojego sklepu, a nie "cancel_return"

+2

Wow Quan, to jest bardzo zła i niebezpieczna rada. Musisz zweryfikować status płatności. Nie należy po prostu zakładać, że płatność zakończyła się pomyślnie, ponieważ zwrócony został URL powrotu. Nie powinieneś zakładać, że zwrot został zwany przez PayPal, nie powinieneś zakładać, że PayPal przetworzył płatność i nie powinieneś podawać identyfikatora zamówienia w zwrotnym adresie URL. – user432297

Powiązane problemy