Sto implementando API di pagamento ricorrenti con Paypal Pro. La mia domanda è quando un pagamento fallisce e io ricevo un IPN, quale sarà il suo txn_type? E che cosa mi aspetterò tutti gli IPN? in modo che io possa prendermi cura di allora nella mia classe IPNhandler.Errore di pagamento Paypal per API pagamento ricorrente IPX txn_type
risposta
Possibile di txn_type si può ottenere quando si utilizza pagamenti ricorrenti sono costituiti da:
recurring_payment_profile_created
recurring_payment_profile_cancel
recurring_payment_profile_modify
recurring_payment
recurring_payment_skipped
recurring_payment_failed
recurring_payment_suspended_due_to_max_failed_payment
Nella maggior parte dei casi in cui il pagamento non si otterrà la notifica saltato. Raramente vedo una notifica non riuscita effettiva. Non ho mai avuto risposte sul perché sia così.
Ecco alcuni esempi.
Array
(
[payment_cycle] => Monthly
[txn_type] => recurring_payment_skipped
[last_name] => Testerson
[next_payment_date] => 03:00:00 Oct 24, 2012 PDT
[residence_country] => US
[initial_payment_amount] => 0.00
[rp_invoice_id] => 3250
[currency_code] => USD
[time_created] => 15:42:49 Sep 19, 2012 PDT
[verify_sign] => AH1WkYze3JQ1xNtDm31SsDJxLeGrAxPpeVKBrMHLFmRVOWXnZep95xOm
[period_type] => Regular
[payer_status] => unverified
[test_ipn] => 1
[tax] => 0.00
[payer_email] => [email protected]
[first_name] => Tester
[receiver_email] => [email protected]
[payer_id] => TP7CXHP6TVNSS
[product_type] => 1
[shipping] => 0.00
[amount_per_cycle] => 1.95
[profile_status] => Active
[charset] => windows-1252
[notify_version] => 3.7
[amount] => 1.95
[outstanding_balance] => 0.00
[recurring_payment_id] => I-0SAH6FDN3JJA
[product_name] => USBSwiper Monthly Subscription
[ipn_track_id] => f2380796ce7c
)
Array
(
[payment_cycle] => Monthly
[txn_type] => recurring_payment_failed
[last_name] => Garcia
[next_payment_date] => 02:00:00 Feb 12, 2012 PST
[residence_country] => US
[initial_payment_amount] => 0.00
[rp_invoice_id] => 939
[currency_code] => USD
[time_created] => 16:29:33 Jan 29, 2010 PST
[verify_sign] => A5rGTRcXhg6p48uIMYaPQKo7dsKqAO89FRXvCmuAfV5EYGWkAAD0vbPc
[period_type] => Regular
[payer_status] => unverified
[tax] => 0.00
[payer_email] => [email protected]
[first_name] => Maria
[receiver_email] => [email protected]
[payer_id] => EJ8JBQ63VHECL
[product_type] => 1
[shipping] => 0.00
[amount_per_cycle] => 4.95
[profile_status] => Active
[charset] => windows-1252
[notify_version] => 3.4
[amount] => 4.95
[outstanding_balance] => 14.85
[recurring_payment_id] => I-S3APFHH0KFJ2
[product_name] => USBSwiper Monthly Subscription
[ipn_track_id] => Gi2zp.DfhsYitm8Kd0Dn3g
)
Array
(
[payment_cycle] => Monthly
[txn_type] => recurring_payment_suspended_due_to_max_failed_payment
[last_name] => Nom_3
[next_payment_date] => N/A
[residence_country] => CA
[initial_payment_amount] => 0.00
[rp_invoice_id] => 3245
[currency_code] => USD
[time_created] => 10:53:25 Mar 14, 2012 PDT
[verify_sign] => AptDZCkTZINE6OhArrkjyIYauY8GAGO.XoBdyMW5t7SoHPSC8DOFS9kB
[period_type] => Regular
[payer_status] => unverified
[test_ipn] => 1
[tax] => 0.00
[payer_email] => [email protected]
[first_name] => Prenom_3
[receiver_email] => [email protected]
[payer_id] => TP7CXHP6TVNSS
[product_type] => 1
[shipping] => 0.00
[amount_per_cycle] => 1.95
[profile_status] => Suspended
[charset] => windows-1252
[notify_version] => 3.4
[amount] => 1.95
[outstanding_balance] => 1.95
[recurring_payment_id] => I-CEBHH0K0V7T1
[product_name] => USBSwiper Monthly Subscription
[ipn_track_id] => d09d07fdd833
)
Array
(
[mc_gross] => 1.95
[period_type] => Regular
[outstanding_balance] => 0.00
[next_payment_date] => 03:00:00 Aug 18, 2013 PDT
[protection_eligibility] => Ineligible
[payment_cycle] => Monthly
[address_status] => confirmed
[tax] => 0.00
[payer_id] => E7BTGVXBFSUAU
[address_street] => 1 Main St
[payment_date] => 05:00:34 Jul 18, 2013 PDT
[payment_status] => Completed
[product_name] => USBSwiper Monthly Subscription
[charset] => windows-1252
[rp_invoice_id] => 3275
[recurring_payment_id] => I-R0KGNCTUYAVW
[address_zip] => 95131
[first_name] => Drew
[mc_fee] => 0.15
[address_country_code] => US
[address_name] => Drew Angell's Test Store
[notify_version] => 3.7
[amount_per_cycle] => 1.95
[payer_status] => verified
[currency_code] => USD
[business] => [email protected]
[address_country] => United States
[address_city] => San Jose
[verify_sign] => AOX9jItnq2qBtXeyCB5nhWVdWyqEAScu5FToCodROuhjlKYjtDeAdlmL
[payer_email] => [email protected]
[initial_payment_amount] => 0.00
[profile_status] => Active
[amount] => 1.95
[txn_id] => 9PD943662S291292G
[payment_type] => instant
[payer_business_name] => Drew Angell's Test Store
[last_name] => Angell
[address_state] => CA
[receiver_email] => [email protected]
[payment_fee] => 0.15
[receiver_id] => C9TAVNJFATXCS
[txn_type] => recurring_payment
[mc_currency] => USD
[residence_country] => US
[test_ipn] => 1
[transaction_subject] => USBSwiper Monthly Subscription
[payment_gross] => 1.95
[shipping] => 0.00
[product_type] => 1
[time_created] => 15:10:22 Jun 18, 2013 PDT
[ipn_track_id] => 28067cf6ae8f
)
Array
(
[payment_cycle] => Monthly
[txn_type] => recurring_payment_profile_created
[last_name] => Angell
[next_payment_date] => 03:00:00 Jun 18, 2013 PDT
[residence_country] => US
[initial_payment_amount] => 0.00
[rp_invoice_id] => 3275
[currency_code] => USD
[time_created] => 15:10:22 Jun 18, 2013 PDT
[verify_sign] => ANrMRzzgbWP1I9ntjeVxAzQDTVjbATTckkxc4RtXKTYHoCoFDbklKPpd
[period_type] => Regular
[payer_status] => verified
[test_ipn] => 1
[tax] => 0.00
[payer_email] => [email protected]
[first_name] => Drew
[receiver_email] => [email protected]
[payer_id] => E7BTGVXBFSUAU
[product_type] => 1
[payer_business_name] => Drew Angell's Test Store
[shipping] => 0.00
[amount_per_cycle] => 1.95
[profile_status] => Active
[charset] => windows-1252
[notify_version] => 3.7
[amount] => 1.95
[outstanding_balance] => 0.00
[recurring_payment_id] => I-R0KGNCTUYAVW
[product_name] => USBSwiper Monthly Subscription
[ipn_track_id] => 1bf251e429b9c
)
Uguale Andrew, ma in espansione su come salti e fallisce lavoro:
recurring_payment_profile_created - Quando viene creato il profilo (da quello che ho visto.). Importante notare che recurring_payment_id, questo è quello che dovrai cancellare/sospendere/modificare il profilo.
recurring_payment_profile_cancel - Quando il profilo viene cancellato.
recurring_payment_profile_modify - Quando il profilo viene modificato.
pagamento periodico - Quando si riceve un pagamento ricorrente.
recurring_payment_skipped - Quando PayPal non è riuscito a riscuotere il pagamento e riproverà tra 5 giorni.
recurring_payment_failed - Quando MAXFAILEDPAYMENTS non è impostato, PayPal proverà 3 volte, se non riesce tutti e tre, questo sarà il 3 ° IPN.
recurring_payment_suspended_due_to_max_failed_payment - Quando MAXFAILEDPAYMENTS è impostato, questo sarà l'IPN, invece di recurring_payment_failed quando viene raggiunto il massimo.
Ci scusiamo per l'interruzione. Se MAXFAILEDPAYMENTS non è impostato o è impostato su 0, dalla documentazione si dice che Paypal proverà a raccogliere fondi per un numero illimitato di tentativi. Ma nella tua risposta, hai detto che Paypal proverà fino a tre volte? quale è corretto ? se MAXFAILEDPAYMENTS è impostato su 0 e Paypal non riesce a raccogliere il fondo nel terzo tentativo, PayPal sospenderà il profilo? Se no, cosa succederà al prossimo pagamento ricorrente? sarà una somma in sospeso per il prossimo ricorrere? –
Grazie per la risposta. Questo ha molto senso. Ora so di quali casi prendermi cura. Un'altra cosa di cui non sono sicuro è che se ottengo l'IPN di Recurring_Payment_Skipped, il Paypal aggiungerà l'importo in Saldo dovuto o no? – user1535672
Salirà il conto in sospeso, sì, e il sistema riproverà automaticamente tra 5 giorni.Lo farà ripetere 3 volte, e se fallisce in tutti e 3 i tentativi di riproverà, sospenderà il profilo a causa del max mancato pagamento e riceverai tale notifica. –
Grazie, possiamo anche riattivare un profilo ricorrente se è cancellato su Paypal o da API utilizzando ManageRecurringPaymentsProfileStatus? – user1535672