2011-10-06 26 views
5

He encontrado un problema con los pagos periódicos de Paypal. CreateRecurringPaymentsProfile() devuelve ID del perfil creado (ProfileID). Al mismo tiempo, recibo la siguiente confirmación de IPN url:Paypal pagos recurrentes IPN confirmación

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

Obviamente, ProfileID de recurring_payment_id y son iguales. Después de esto, una confirmación sobre el pago se recibe:

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

Estos 3 valores: profileId a cambio de CreateRecurringPaymentsProfile(); recurring_payment_id en recurring_payment_profile_created; recurring_payment_id en recurring_payment - debe ser el mismo. (ya que parece que no hay otra forma de identificar correctamente el pago de esta suscripción específica) Además, PayPal está enviando pagos periódicos (en IPN) varias veces y cada vez que recurring_payment_id es diferente.

¿Debo usar recurring_payment_id para identificar el pago de una suscripción específica o hay otra manera correcta de identificarlo?

Respuesta

8

ID de perfil = recurring_payment_id. Si recurring_payment_id es diferente, estamos hablando de un ProfileID diferente (en otras palabras: un perfil de pago recurrente diferente).

+0

Gracias, pero este es exactamente el tema del que hablo. He limpiado todas las transacciones/perfiles anteriores y con solo un perfil (en el entorno limitado de Paypal). Todavía tengo diferentes ProfileID y recurring_payment_id. –

+0

Sé que este es un hilo viejo, pero me estaba haciendo la misma pregunta, así que acabo de probarlo y obtengo el mismo ID dos veces. También he limpiado todos los perfiles antes de intentarlo. La llamada API CreateRecurringPaymentsProfile me devuelve con [PROFILEID] => I-L9VFD2G8KW5L y el mensaje IPN de txn_type "recurring_payment_created" muestra "recurring_payment_id": "I-L9VFD2G8KW5L" y también lo hace la IPN "recurring_payment", por lo que creo que debería estar bien con que hay en el mensaje de IPN Tal vez esto era un problema con las versiones anteriores de API. – MrUpsidown

+0

También estaba lidiando con el mismo problema, así que pensé que agregaría: las probabilidades son la razón por la que recibía valores diferentes para diferentes recurring_payment_id porque configura varias suscripciones en su entorno limitado. Cada pago recurrente por separado que inicie en la caja de arena va a llevar un diferente recurring_payment_id (y ProfileID), así que asegúrese de tener eso en cuenta :) – jball037