2010-05-19 23 views
42

Paypal zwraca mi powodzeniem adres URL zwrotny, który określam podczas tworzenia przycisku Kup teraz. Ale teraz jestem zdezorientowany. Jak mogę uzyskać szczegółowe informacje o transakcji, która miała miejsce w systemie PayPal? I chcę również ustawić niektóre wartości bazy danych na powrocie adresu URL. Ale obawiam się, że jeśli mój użytkownik nie płacąc za paypal trafi do tego adresu URL, to on również zostanie członkiem premium. Jak mogę to zabezpieczyć?Poinformuj adres URL Paypal

Odpowiedz

75

PayPal zwraca dane z powrotem do Twojej witryny za pośrednictwem tego, co nazywają IPN. Jest to po prostu połączenie zwrotne z określonym adresem URL. Możesz ustawić ten adres URL za pomocą zmiennej notify_url, którą możesz wysłać do PayPal.

Przykład:

<input name="notify_url" value="http://yourdomain.com/notify_url.php" type="hidden"> 

notify_url.php w powyższym przykładzie otrzymuje zmienne POST z PayPal, gdy płatność została zakończona, nawet jeżeli klient nigdy nie powraca do swojej stronie internetowej.

niektórych ważnych variables zwróconej przez PayPal jest:

  • mc_gross
  • faktura
  • settle_amount
  • protection_eligibility
  • address_status
  • payer_id
  • podatek
  • address_street
  • PAYMENT_DATE
  • payment_status
  • zestaw_znaków
  • address_zip
  • mc_shipping
  • mc_handling
  • first_name
  • mc_fee
  • address_country_code
  • EXCHANGE_RATE
  • address_name
  • notify_version
  • settle_currency
  • zwyczaj
  • payer_status
  • firma
  • address_country
  • address_city
  • verify_sign
  • PAYER_EMAIL
  • txn_id
  • payment_type

faktura jest zwracana, jeśli go ustawić. Może być używany jako własny identyfikator zamówienia/identyfikator transakcji.

txn_id jest generowany przez PayPal i jest to jego własny identyfikator dla transakcji.

Jeśli samodzielnie dodasz elementy, system PayPal zwróci również num_cart_items, item_name1 (item_name2, item_name3), quantity1 (quantity2, quantity3) i tym podobne.

Więcej odczyt na https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_Appx_websitestandard_htmlvariables

Oczywiście wtedy nadal masz problem do rozwiązania, jak sprawdzić wszystkie dane i podłączyć go do klienta w swojej własnej bazy danych, który prawdopodobnie masz.

Co mam zrobić, aby zapisać tymczasowy "zamów" przed wysłaniem klienta do PayPal za pomocą identyfikatora faktury, ten sam identyfikator wysyłam do PayPal jako fakturę. W ten sposób moja strona notify_url.php może sprawdzić moją bazę danych pod kątem identyfikatora faktury i porównać zamówienie/płatność.

+0

Witaj jamietelin. Dziękujemy za cenną odpowiedź. Już to wymyśliłem sam. Chciałbym dodać, że zamiast składowania tymczasowego zamówienia w bazie danych, Paypal podał już kiedyś dobry przykład, w którym pobieramy wszystkie nazwy parametrów zleceń i ich wartości i odsyłają je z powrotem do Paypal (w celu sprawdzenia poprawności) z naszego adresu URL powiadomienia i Paypal następnie zwraca ciąg "WERYFIKOWANY" lub "NIEPRAWIDŁOWY", na podstawie którego można wykonać niektóre operacje na bazie danych. – TCM

+0

Cóż, tymczasowe db jest głównie, jeśli musimy go jakoś podłączyć do użytkownika w naszym własnym db użytkownika. Potrzebuję tego. Ale to zależy od tego, jaką usługę budujesz, tak myślę :) – jamietelin

+0

@ jamietelin Próbowałem, ale się nie udało, zobacz http://stackoverflow.com/questions/8570539/add-custom-hidden-field-in-paypal-form- i-get-it-on-on-on-redirected-page –