2012-08-17 7 views
6

Ich versuche, die ganze PayPal AdaptivePayments # Pay arbeiten, funktioniert dieser Teil. Ich gehe ein paar Sachen in eine paykey bekommen, die ich auf die Genehmigung URL übergeben:PayPal IPN-Antwort nicht PayKey oder TrackingId erhalten?

{returnUrl: urls[:return], 
cancelUrl: urls[:cancel], 
requestEnvelope: {errorLanguage: "en_GB"}, 
currencyCode: "GBP", 
trackingId: self.id, 
receiverList: { 
    receiver: [{email: Rails.configuration.site_paypal, amount: self.amount, primary: true}, 
       {email: self.provider.paypal_email, amount: self.amount, primary: false}] 
}, 
actionType: "PAY", 
ipnNotificationUrl: urls[:ipn]} 

Der Server mit allem, was kommt wieder richtig, ich auf die URL umleiten, es funktioniert, erhalte ich die Zahlung in meiner PayPal Sandbox-Konto für Rails.configuration.site_paypal und in der IPN Geschichte sehe ich die Nachricht, aber ich habe keine Möglichkeit, es zu identifizieren, da sie keine paykey oder TrackingID :(

transaction_subject= 
txn_type=web_accept 
payment_date=10:06:09 Aug 17, 2012 PDT 
last_name=Baldry 
residence_country=GB 
item_name= 
payment_gross= 
mc_currency=GBP 
business=<Rails.configuration.site_paypal> 
payment_type=instant 
protection_eligibility=Ineligible 
verify_sign=Asu0z613h-fyw8CNuZEjSsMXS58PAi46SzR3IvXXTX5JUizhF8vV4z25 
payer_status=verified 
test_ipn=1 
tax=0.00 
payer_email=<[email protected]> 
txn_id=9M582867K79935008 
quantity=0 
receiver_email=<Rails.configuration.site_paypal> 
first_name=Michael 
payer_id=M7U3UVA3E65VY 
receiver_id=375R229JBE3TY 
item_number= 
payment_status=Completed 
mc_gross=157.00 
custom= 
charset=windows-1252 
notify_version=3.6 
ipn_track_id=c9fcf587d770f 

enthält Was mache ich falsch ? Ripping meine Haare aus ...

Danke

Antwort

9

Es gibt zwei Arten von IPN

One ist für das Konto erzeugt, die das Geld erhält, basierend auf ihren Profileinstellungen (Es ist wie es aussieht, ist diejenige, die Sie bekommen)

Die andere für generiert wird der API-Aufrufer (der möglicherweise an der Transaktion finanziell beteiligt ist oder nicht). Das IPN des API-Aufrufers enthält den PayKey.

Wenn der API-Aufrufer und einer der Empfänger identisch sind, stellen Sie sicher, dass Sie entweder zwischen den beiden IPNs unterscheiden können, die Sie erhalten, oder dass Sie jeweils separate URLs haben. (Der API-Aufrufer wird angegeben, wenn der API-Aufruf erfolgt, der Empfänger ist im PayPal-Profil angegeben)

+0

Spot, ich habe mir dabei die Haare ausgerissen! Danke –

+0

Ist das noch eine Art? Ich bezweifle, dass ich irgendwelche ipnNotificationUrl erwähnt in PP docs –

+0

gefunden habe. Https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNSetup/ Down diese Seite bei "Dynamische Einstellung der Benachrichtigung URL "erwähnt, dass dies die einzige Möglichkeit ist, IPNs im Zusammenhang mit Adaptive Payments zu erhalten". Ja, warum, um es hervorzuheben, wenn wir es im Schrank verstecken können. Es ist nicht wichtig, wie überhaupt. –