2011-10-06 17 views
5

Ho riscontrato un problema con pagamenti ricorrenti Paypal. CreateRecurringPaymentsProfile() restituisce l'ID del profilo creato (ProfileID). Allo stesso tempo, viene visualizzato il seguente conferma IPN URL:Pagamenti ricorrenti Paypal Conferma IPN

payment_cycle - Daily 
txn_type - recurring_payment_profile_ 
created 
last_name - User 
next_payment_date - 03:00:00 Oct 06, 2011 PDT 
residence_country - US 
initial_payment_amount - 0.00 
currency_code - USD 
time_created - 23:21:02 Oct 05, 2011 PDT 
verify_sign - ... 
period_type - Regular 
payer_status - verified 
test_ipn - 1 
tax - 0.00 
payer_email - ... 
first_name - Test 
receiver_email - ... 
payer_id - ... 
product_type - 1 
shipping - 0.00 
amount_per_cycle - 20.00 
profile_status - Active 
charset - windows-1252 
notify_version - 3.4 
amount - 20.00 
outstanding_balance - 0.00 
---------->recurring_payment_id - I-6EFKVB5FXRGH 
product_name - Ultimate Account 
ipn_track_id - ... 

Ovviamente, ProfileId e recurring_payment_id sono uguali. Dopo questo, una conferma circa il pagamento viene ricevuto:

mc_gross - 20.00 
outstanding_balance - 0.00 
period_type - Regular 
next_payment_date - 03:00:00 Oct 07, 2011 PDT 
protection_eligibility - Ineligible 
payment_cycle - Daily 
tax - 0.00 
payer_id - WR942TMLKNKZE 
payment_date - 04:38:37 Oct 06, 2011 PDT 
payment_status - Completed 
product_name - Ultimate Account 
charset - windows-1252 
---------->recurring_payment_id - I-5S42CVRD6HPC 
first_name - Test 
mc_fee - 0.88 
notify_version - 3.4 
amount_per_cycle - 20.00 
payer_status - verified 
currency_code - USD 
business - ... 
verify_sign - ... 
payer_email - ... 
initial_payment_amount - 0.00 
profile_status - Active 
amount - 20.00 
txn_id - 2XB154738E303273C 
payment_type - instant 
last_name - User 
receiver_email - ... 
payment_fee - 0.88 
receiver_id - ... 
txn_type - recurring_payment 
mc_currency - USD 
residence_country - US 
test_ipn - 1 
transaction_subject - 
payment_gross - 20.00 
shipping - 0.00 
product_type - 1 
time_created - 03:32:45 Sep 29, 2011 PDT 
ipn_track_id - ... 

Questi 3 valori: ProfileId in cambio di CreateRecurringPaymentsProfile(); recurring_payment_id in recurring_payment_profile_created; recurring_payment_id in recurring_payment - dovrebbe essere lo stesso. (come sembra che non ci sia altro modo per identificare correttamente il pagamento per questo specifico abbonamento) Inoltre, recurring_payment (su IPN) viene inviato da Paypal più volte e ogni volta recurring_payment_id è diverso.

Devo utilizzare recurring_payment_id per identificare il pagamento per l'abbonamento specifico o esiste un altro modo corretto per identificarlo?

risposta

8

ID profilo = recurring_payment_id. Se recurring_payment_id è diverso, stiamo parlando di un diverso ID profilo (in altre parole: un profilo di pagamento ricorrente diverso).

+0

Grazie, ma questo è esattamente il problema di cui parlo. Ho pulito tutte le transazioni/profili precedenti e con un solo profilo (nella sandbox di PayPal) - Ricevo ancora ProfileID e recurring_payment_id diversi. –

+0

So che questo è un thread vecchio, ma mi stavo solo ponendo la stessa domanda, quindi l'ho appena testato e ottengo lo stesso ID due volte. Ho anche pulito tutti i profili prima di provare. La chiamata API CreateRecurringPaymentsProfile mi restituisce con [PROFILEID] => I-L9VFD2G8KW5L e il messaggio IPN di txn_type "recurring_payment_profile_created" mostra "recurring_payment_id": "I-L9VFD2G8KW5L" e così fa l'IPN "recurring_payment" quindi penso che dovresti stare bene con cosa c'è nel messaggio IPN. Forse questo era un problema con versioni API precedenti. – MrUpsidown

+0

Si stava anche occupando dello stesso problema, quindi ho pensato di aggiungere: È probabile che si stiano ottenendo valori diversi per diversi account recurring_payment perché si configurano più abbonamenti nella sandbox. Ogni pagamento ricorrente separato che inizi nella sandbox porterà un diverso recurring_payment_id (e ProfileID), quindi assicurati di tenerlo a mente :) – jball037

Problemi correlati