2016-04-26 1 views
0


Unsere Kunden senden ihre Anfragen für unsere Produkte per E-Mail. Ihre Anfragen werden in unserer Datenbank gespeichert und nachdem wir ihre Anfragen überprüft haben, möchten wir ihnen eine E-Mail senden, die den Paypal-Zahlungslink enthält. Um dies auszuführen, verwende ich BMCreateButton Methode von ButtonManager API von Paypal.Beziehung zwischen Zahlung mit createbutton api und ipn Nachricht

https://developer.paypal.com/docs/classic/api/button-manager/BMCreateButton_API_Operation_NVP/

Diese Methode liefert EMAILLINK Parameter und ich bin mit diesem Parameter in der E-Mail an Benutzer zu paypal Zahlungsseite umgeleitet werden. Diese Methode gibt auch HOSTEDBUTTONID zurück und ich speichere diesen Parameter und den Parameter EMAILLINK an die Datenbank, um eine Beziehung zwischen dem E-Mail-Link (hostedbuttonid) und der Benutzeranforderung herzustellen.

Für die Zahlung Benachrichtigungen, denke ich, meine einzige Wahl ist IPN von Paypal. Ich entwickelte eine Seite, um die IPN-Nachrichten von Paypal zu behandeln, und es funktioniert gut, aber das Problem entsteht, wenn ich zwischen den Zahlungsinformationen mit dem E-Mail-Link, der an den Kunden gesendet wurde, beziehen möchte. Ich meine, ich möchte wissen, für welche Anfrage diese Zahlung geleistet wurde. IPN-Nachricht gibt keine Informationen über die HOSTEDBUTTONID zurück. Es gibt btn_id (anders als die HOSTEDBUTTONID), txn_id und ipn_track_id aber keiner von ihnen ist nützlich, um die Kundenanfrage (oder E-Mail) mit der Zahlung zu beziehen.

Haben Sie Vorschläge zu meinem Problem? Oder meinst du, ich sollte einen anderen Weg für das Senden der Zahlungs-E-Mail an den Benutzer anstelle von BMCreateButton Methode ButtonManager API verwenden.

Antwort

0

Fügen Sie im BMCreateButton-Aufruf, in dem Sie die PayPal-Standardvariablen für die Schaltfläche einrichten, den Parameter CUSTOM hinzu. Innerhalb dieses Bereichs können Sie einen beliebigen Wert übergeben (bis zu 256 Zeichen), und dann wird derselbe Wert im IPN zurückgegeben, sodass Sie ihn entsprechend zuordnen können.

Wenn Sie eine bestimmte Auftrags-ID haben, können Sie stattdessen das Feld INVOICE verwenden, und das würde auch in IPN zurückkommen.

+0

bitte überprüfen Sie [hier] (http://stackoverflow.com/questions/36887028/create-paypal-sandbox-merchant-seller-account) – fresher

+0

Danke Andrew. Ich habe diese benutzerdefinierte Parameterlösung gestern gefunden. Danke noch einmal. –

Verwandte Themen