Ich benutze Paypal für die Zahlungsabwicklung in einer meiner Anwendungen. Und als Teil davon verwende ich PayPal IPN. Während die Paypal-Zahlung abgeschlossen wird, sendet der Paypal die IPN-Nachricht an die IPN-URL (konfiguriert auf der Paypal-Site). Die IPN-Nachricht wird wie folgtPAYPAL IPN Postback gibt INVALID zurück
mc_gross = 1,00 & protection_eligibility = Gültiger & address_status = & bestätigt payer_id = GXZTE5K9VURMU & Steuern = 0,00 & address_street = Abteilung + Of + State + 2050 + Bamako + Platz + Washington% 2C + DC + 20521-2050 & payment_date = 01% 3A18% 3A47 + Juli + 23% 2C + 2016 + PDT & payment_status = Abgeschlossen & charset = windows-1252 & address_zip = 20521 & first_name = Test & mc_fee = 0,38 & address_country_code = US & Adresse_Name = Tes t + Test & notify_version = 3,8 & benutzerdefinierte = 3 & payer_status = ungeprüft & Geschäft = test.test15% 40gmail.com & ADDRESS_COUNTRY = Vereinigte Staaten + & ADDRESS_CITY = Washington & Menge = 1 & verify_sign = ABiBx6LFP1A2IuUu8wF.arqoHdTJA5F1TwzPqOjEd01798Nh2NTTbdU0 & PAYER_EMAIL = testpayer% 40gmail.com & txn_id = 7AP55204BB503245S & payment_type = Instant & last_name = Test & address_state = DC & receiver_email = test.test15% 40gmail.com & payment_fee = & receiver_id = T3SDTD8X2SFZW & txn_type = web_accept & item_name = Spende + für + test.com & mc_currency = EUR & item_number = & residence_country = US & test_ipn = 1 & handling_amount = 0.00 & transaction_subject = & payment_gross = & Versand = 0,00 & ipn_track_id = 9f24d51b9d45c
So Beim Überprüfen der obigen Nachricht mit Paypal mit dem folgenden Code
<cfset requestData = getHTTPRequestData() /> <!--- getting IPN message --->
<cfhttp url="https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_notify-validate&#URLEncodedFormat(requestData.content)#" resolveurl="false">
<cfhttpparam type="header" name="Host" value="www.sandbox.paypal.com">
</cfhttp>
Ich bekomme UNGÜLTIG als Antwort für 90% der Zeit und VERIFIZIERT als Antwort für verbleibende 10% der Zeit. Nicht sicher, warum es UNGÜLTIG wird. Hoffe keine Fehler im Code, denn manchmal gibt es als Antwort VERIFIZIERT. Habe ich etwas vergessen ?
Auch Sie können sehen, dass in der IPN-Nachricht, dass der Payer_Status Unverified ist. Ist das der Grund für INVALID Antwort (nicht sicher darüber). Wenn dies der Fall ist, warum ist der Status des Zahlungssystems "Nicht bestätigt" und was ist zu verifizieren?
Die Codierung des gesamten Parametersatzes ist nicht korrekt. Sie müssen den Namen und den Wert von jedem codieren, getrennt durch ein uncodiertes '=', und die Paare getrennt durch ein uncodiertes '&'. – EJP
Ja, okay, wird mit diesem überprüfen, aber gleichzeitig, wie es für einige Zahlungen verifiziert wird? –