2011-10-06 13 views
5

J'ai rencontré un problème avec les paiements récurrents Paypal. CreateRecurringPaymentsProfile() renvoie l'ID du profil créé (ProfileID). En même temps, je reçois la confirmation suivante sur url IPN:Paypal paiements récurrents IPN confirmation

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 - ... 

De toute évidence, ProfileID et recurring_payment_id sont égaux. Après cela, une confirmation de réception du paiement:

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 - ... 

Ces 3 valeurs: ProfileId en retour de CreateRecurringPaymentsProfile(); recurring_payment_id dans récurring_payment_profile_created; recurring_payment_id dans récurring_payment - devrait être le même. (car il semble qu'il n'y a pas d'autre moyen d'identifier correctement le paiement pour cet abonnement spécifique) Aussi, récurring_payment (sur IPN) est envoyé par Paypal plusieurs fois et chaque fois que recurring_payment_id est différent.

Dois-je utiliser recurring_payment_id pour identifier le paiement d'un abonnement spécifique ou existe-t-il un autre moyen approprié pour l'identifier?

Répondre

8

ID de profil = recurring_payment_id. Si recurring_payment_id est différent, nous parlons d'un ProfileID différent (en d'autres termes: un profil de paiement récurrent différent).

+0

Merci, mais c'est exactement le problème dont je parle. J'ai nettoyé toutes les transactions/profils précédents et avec un seul profil (dans le bac à sable de paypal) - j'ai toujours un ProfileID et un recurring_payment_id différents. –

+0

Je sais que c'est un vieux fil de discussion mais je me posais la même question alors je viens de la tester et j'ai deux fois le même identifiant. J'ai aussi nettoyé tous les profils avant d'essayer. L'appel CreateRecurringPaymentsProfile API me renvoie avec [PROFILEID] => I-L9VFD2G8KW5L et le message IPN de txn_type "recurring_payment_profile_created" montre "recurring_payment_id": "I-L9VFD2G8KW5L" et le "IP de recurring_payment" ainsi que je pense que vous devriez être bien avec ce qu'il y a dans le message IPN. Peut-être que c'était un problème avec les anciennes versions de l'API. – MrUpsidown

+0

Je me suis également occupé du même problème et j'ai pensé que j'ajouterais: Il y a de fortes chances que vous obteniez des valeurs différentes pour les différents ID de paiement recurring_payment parce que vous avez configuré plusieurs abonnements dans votre sandbox. Chaque paiement récurrent que vous démarrez dans le bac à sable portera un autre identifiant de paiement (recurring_payment_id) (et un identifiant de profil), alors assurez-vous de garder cela à l'esprit :) – jball037

Questions connexes