simulador page ipn developer apps paypal paypal-sandbox paypal-ipn recurring-billing

page - Enviar comandos de Paypal Recurring Payments con IPN Simulator



paypal simulator payment (2)

Estoy trabajando con pagos recurrentes (Pago exprés) y tengo un oyente de IPN que recibe mensajes.

Todo funciona bien y he verificado varios comandos, respuesta y VERIFICAR.

Pero no puedo probar IPN con pagos recurrentes porque no tengo la opción en el selector ''Tipo de transacción'' de IPN-Simulator:

¿Cómo puedo recibir pagos Recurring IPN?


Desafortunadamente, el simulador de IPN no incluye pagos recurrentes como lo ha demostrado. Tendrá que configurar perfiles reales y probarlos en la caja de arena, o puede configurar su propio simulador.

Simplemente cree un formulario HTML básico con la acción configurada en su URL de IPN y luego agregue campos ocultos al formulario con los nombres / valores de lo que esperaría obtener de un IPN determinado. De esta forma, puede cargar la página en un navegador, publicarla directamente y ver el resultado en la pantalla. Esto también puede ayudarlo con los errores de solución de problemas.

Solo tenga en cuenta que, al realizar esta prueba, los datos originales no provienen de PayPal, por lo que no se verificarán. Deberá asegurarse de que su lógica de código maneje eso en consecuencia.

Aquí hay algunas muestras de IPN de pagos recurrentes.

Perfil creado

Array ( [payment_cycle] => Monthly [txn_type] => recurring_payment_profile_created [last_name] => Angell [next_payment_date] => 03:00:00 Sep 12, 2013 PDT [residence_country] => US [initial_payment_amount] => 0.00 [currency_code] => USD [time_created] => 20:17:10 Sep 12, 2013 PDT [verify_sign] => ASsJ54wcfEJZVuwOMU8vBNHZb1TpAf7F4PMLvKL2uni1hb11jdOgdd2V [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] => 30.00 [profile_status] => Active [charset] => windows-1252 [notify_version] => 3.7 [amount] => 30.00 [outstanding_balance] => 0.00 [recurring_payment_id] => I-VYR2VN3XPVW4 [product_name] => The HALO Foundation Donation [ipn_track_id] => 348867a2b7815 )

Pago realizado

Array ( [mc_gross] => 10.00 [period_type] => Regular [outstanding_balance] => 0.00 [next_payment_date] => 02:00:00 Dec 16, 2013 PST [protection_eligibility] => Ineligible [payment_cycle] => every 3 Months [tax] => 0.00 [payer_id] => 3HMDJA96TEQN4 [payment_date] => 05:19:33 Sep 16, 2013 PDT [payment_status] => Completed [product_name] => platypu subscription [charset] => windows-1252 [recurring_payment_id] => I-R52C41AGNEAP [first_name] => test [mc_fee] => 0.64 [notify_version] => 3.7 [amount_per_cycle] => 10.00 [payer_status] => unverified [currency_code] => USD [business] => [email protected] [verify_sign] => A4QWarlQUU0cupDGeAi-McuvfslGA7lrbrWV735PGPsr3OKdTRFyJtOq [payer_email] => [email protected] [initial_payment_amount] => 0.00 [profile_status] => Active [amount] => 10.00 [txn_id] => 34Y69196BK064583G [payment_type] => instant [last_name] => test [receiver_email] => [email protected] [payment_fee] => 0.64 [receiver_id] => ATSCG2QMC9KAU [txn_type] => recurring_payment [mc_currency] => USD [residence_country] => US [test_ipn] => 1 [receipt_id] => 1660-1430-7506-9911 [transaction_subject] => [payment_gross] => 10.00 [shipping] => 0.00 [product_type] => 1 [time_created] => 07:54:24 Sep 05, 2013 PDT [ipn_track_id] => efd4ee6ea4474 )

Pago omitido

Array ( [payment_cycle] => Monthly [txn_type] => recurring_payment_skipped [last_name] => bitch [next_payment_date] => 03:00:00 Sep 21, 2013 PDT [residence_country] => US [initial_payment_amount] => 0.00 [currency_code] => USD [time_created] => 19:42:33 Jan 11, 2013 PST [verify_sign] => AcyQRlWufyrh0B6-n5swEgNB9oNJAkMm65cAu2bQLTevdnT2JnuIyDQO [period_type] => Regular [payer_status] => unverified [test_ipn] => 1 [tax] => 0.00 [payer_email] => [email protected] [first_name] => working [receiver_email] => [email protected] [payer_id] => 4ATNY663RDKJA [product_type] => 1 [shipping] => 0.00 [amount_per_cycle] => 10.00 [profile_status] => Active [charset] => windows-1252 [notify_version] => 3.7 [amount] => 10.00 [outstanding_balance] => 60.00 [recurring_payment_id] => I-LH2MJXG27TR6 [product_name] => Angell EYE Web Hosting [ipn_track_id] => e3a52d6772d28 )

Pago fallido

Array ( [payment_cycle] => every 4 Weeks [txn_type] => recurring_payment_failed [last_name] => Tester [next_payment_date] => 03:00:00 Oct 03, 2013 PDT [residence_country] => US [initial_payment_amount] => 0 [currency_code] => JPY [time_created] => 05:14:37 Aug 01, 2012 PDT [verify_sign] => AOTn5qT2D05NGLBeQowuGwhI5kTFAIPV01VWay1FayueRmXhAYd2KLZp [period_type] => Regular [payer_status] => unverified [test_ipn] => 1 [tax] => 0 [payer_email] => [email protected] [first_name] => Ecaf [receiver_email] => [email protected] [payer_id] => VCLJR9E79V4KJ [product_type] => 1 [shipping] => 0 [amount_per_cycle] => 1 [profile_status] => Active [charset] => windows-1252 [notify_version] => 3.7 [amount] => 1 [outstanding_balance] => 1 [recurring_payment_id] => I-P90BX92X15DR [product_name] => Welcome to the world of shopping where you get everything [ipn_track_id] => ab99ea6823e24 )

Perfil suspendido

Array ( [payment_cycle] => Monthly [txn_type] => recurring_payment_suspended_due_to_max_failed_payment [last_name] => Lang [next_payment_date] => N/A [residence_country] => US [initial_payment_amount] => 4.90 [currency_code] => USD [time_created] => 13:45:44 Nov 04, 2010 PDT [verify_sign] => A65EYvoNuupMDbNU-2RPi609XJ7LAQ8CzxOV03bR4.O-nKSYG9LjBf10 [period_type] => Regular [payer_status] => unverified [test_ipn] => 1 [tax] => 0.00 [payer_email] => [email protected] [first_name] => Corey [receiver_email] => [email protected] [payer_id] => HKHX3D32P9DXG [product_type] => 1 [shipping] => 0.00 [amount_per_cycle] => 29.95 [profile_status] => Suspended [charset] => windows-1252 [notify_version] => 3.7 [amount] => 29.95 [outstanding_balance] => 149.75 [recurring_payment_id] => I-Y0E6UC684RS4 [product_name] => Achieve Formulas 30 day supply, monthly. [ipn_track_id] => 95c39c8a4b39d )

Perfil cancelado

Array ( [payment_cycle] => Monthly [txn_type] => recurring_payment_profile_cancel [last_name] => Testerson [next_payment_date] => N/A [residence_country] => US [initial_payment_amount] => 69.90 [rp_invoice_id] => 4603 [currency_code] => USD [time_created] => 09:40:52 Feb 11, 2013 PST [verify_sign] => AGiC06LknLf7LnPNSt03A0q0ajKiAZt35jsIvkcPn5dU7GtRl-ITAf5Q [period_type] => Regular [payer_status] => verified [tax] => 0.00 [payer_email] => [email protected] [first_name] => Tester [receiver_email] => [email protected] [payer_id] => Q28888N [product_type] => 1 [shipping] => 0.00 [amount_per_cycle] => 1.95 [profile_status] => Cancelled [charset] => windows-1252 [notify_version] => 3.7 [amount] => 1.95 [outstanding_balance] => 0.00 [recurring_payment_id] => I-553Y5PRWJ29F [product_name] => USBSwiper Monthly Subscription [ipn_track_id] => 5ecdc90112398 )

Pago recurrente vencido

Array ( [payment_cycle] => Monthly [txn_type] => recurring_payment_expired [last_name] => Testerson [next_payment_date] => N/A [residence_country] => US [initial_payment_amount] => 0.00 [rp_invoice_id] => 1580 [currency_code] => USD [time_created] => 09:42:46 Jan 12, 2011 PST [verify_sign] => AbBIww12EQnvrHwYmd1wb98zYz53APIJHOa.GTV4C9Ef0HVE1FWBtxMP [period_type] => Regular [payer_status] => unverified [tax] => 0.00 [first_name] => Tester [receiver_email] => [email protected] [payer_id] => R7J55555MN [product_type] => 1 [shipping] => 0.00 [amount_per_cycle] => 1.00 [profile_status] => Cancelled [charset] => windows-1252 [notify_version] => 3.0 [amount] => 1.00 [outstanding_balance] => 0.00 [recurring_payment_id] => I-M0555555RY [product_name] => USBSwiper Rental Program )


La respuesta de @Andrew Angell es la mejor, solo pensé que podría ahorrar algo de tiempo para que los desarrolladores tengan esos ejemplos como formularios html listos para copiar y usar de inmediato. así que aquí están:

<!-- Profile Created --> <form target="_new" method="post" action="http://www.yourdomain.com/youripnhandler.php"> <input type="hidden" name="verify_sign" value="ASsJ54wcfEJZVuwOMU8vBNHZb1TpAf7F4PMLvKL2uni1hb11jdOgdd2V" /> <input type="hidden" name="period_type" value="Regular" /> <input type="hidden" name="payer_status" value="verified" /> <input type="hidden" name="test_ipn" value="1" /> <input type="hidden" name="tax" value="0.00" /> <input type="hidden" name="payer_email" value="[email protected]" /> <input type="hidden" name="first_name" value="Drew" /> <input type="hidden" name="receiver_email" value="[email protected]" /> <input type="hidden" name="payer_id" value="E7BTGVXBFSUAU" /> <input type="hidden" name="product_type" value="1" /> <input type="hidden" name="payer_business_name" value="Drew Angell''s Test Store" /> <input type="hidden" name="shipping" value="0.00" /> <input type="hidden" name="amount_per_cycle" value="30.00" /> <input type="hidden" name="profile_status" value="Active" /> <input type="hidden" name="charset" value="windows-1252" /> <input type="hidden" name="notify_version" value="3.7" /> <input type="hidden" name="amount" value="30.00" /> <input type="hidden" name="outstanding_balance" value="0.00" /> <input type="hidden" name="recurring_payment_id" value="I-VYR2VN3XPVW4" /> <input type="hidden" name="product_name" value="The HALO Foundation Donation" /> <input type="hidden" name="ipn_track_id" value="348867a2b7815" /> <input type="submit" value="Send Profile Created"/> </form> <!-- Payment Made --> <form target="_new" method="post" action="http://www.yourdomain.com/youripnhandler.php"> <input type="hidden" name="mc_gross" value="10.00" /> <input type="hidden" name="period_type" value=" Regular" /> <input type="hidden" name="outstanding_balance" value="0.00" /> <input type="hidden" name="next_payment_date" value="02:00:00 Dec 16, 2013 PST" /> <input type="hidden" name="protection_eligibility" value="Ineligible" /> <input type="hidden" name="payment_cycle" value="every 3 Months" /> <input type="hidden" name="tax" value="0.00" /> <input type="hidden" name="payer_id" value="3HMDJA96TEQN4" /> <input type="hidden" name="payment_date" value="05:19:33 Sep 16, 2013 PDT" /> <input type="hidden" name="payment_status" value="Completed" /> <input type="hidden" name="product_name" value="platypu subscription" /> <input type="hidden" name="charset" value="windows-1252" /> <input type="hidden" name="recurring_payment_id" value="I-R52C41AGNEAP" /> <input type="hidden" name="first_name" value="test" /> <input type="hidden" name="mc_fee" value="0.64" /> <input type="hidden" name="notify_version" value="3.7" /> <input type="hidden" name="amount_per_cycle" value="10.00" /> <input type="hidden" name="payer_status" value="unverified" /> <input type="hidden" name="currency_code" value="USD" /> <input type="hidden" name="business" value="[email protected]" /> <input type="hidden" name="verify_sign" value="A4QWarlQUU0cupDGeAi-McuvfslGA7lrbrWV735PGPsr3OKdTRFyJtOq" /> <input type="hidden" name="payer_email" value="[email protected]" /> <input type="hidden" name="initial_payment_amount" value="0.00" /> <input type="hidden" name="profile_status" value="Active" /> <input type="hidden" name="amount" value="10.00" /> <input type="hidden" name="txn_id" value="34Y69196BK064583G" /> <input type="hidden" name="payment_type" value="instant" /> <input type="hidden" name="last_name" value="test" /> <input type="hidden" name="receiver_email" value="[email protected]" /> <input type="hidden" name="payment_fee" value="0.64" /> <input type="hidden" name="receiver_id" value="ATSCG2QMC9KAU" /> <input type="hidden" name="txn_type" value="recurring_payment" /> <input type="hidden" name="mc_currency" value="USD" /> <input type="hidden" name="residence_country" value="US" /> <input type="hidden" name="test_ipn" value="1" /> <input type="hidden" name="receipt_id" value="1660-1430-7506-9911" /> <input type="hidden" name="transaction_subject" value="" /> <input type="hidden" name="payment_gross" value="10.00" /> <input type="hidden" name="shipping" value="0.00" /> <input type="hidden" name="product_type" value="1" /> <input type="hidden" name="time_created" value="07:54:24 Sep 05, 2013 PDT" /> <input type="hidden" name="ipn_track_id" value="efd4ee6ea4474" /> <input type="submit" value="Send Payment Made"/> </form> <!-- Payment Skipped --> <form target="_new" method="post" action="http://www.yourdomain.com/youripnhandler.php"> <input type="hidden" name="payment_cycle" value="Monthly" /> <input type="hidden" name="txn_type" value="recurring_payment_skipped" /> <input type="hidden" name="last_name" value="bitch" /> <input type="hidden" name="next_payment_date" value="03:00:00 Sep 21, 2013 PDT" /> <input type="hidden" name="residence_country" value="US" /> <input type="hidden" name="initial_payment_amount" value="0.00" /> <input type="hidden" name="currency_code" value="USD" /> <input type="hidden" name="time_created" value="19:42:33 Jan 11, 2013 PST" /> <input type="hidden" name="verify_sign" value="AcyQRlWufyrh0B6-n5swEgNB9oNJAkMm65cAu2bQLTevdnT2JnuIyDQO" /> <input type="hidden" name="period_type" value=" Regular" /> <input type="hidden" name="payer_status" value="unverified" /> <input type="hidden" name="test_ipn" value="1" /> <input type="hidden" name="tax" value="0.00" /> <input type="hidden" name="payer_email" value="[email protected]" /> <input type="hidden" name="first_name" value="working" /> <input type="hidden" name="receiver_email" value="[email protected]" /> <input type="hidden" name="payer_id" value="4ATNY663RDKJA" /> <input type="hidden" name="product_type" value="1" /> <input type="hidden" name="shipping" value="0.00" /> <input type="hidden" name="amount_per_cycle" value="10.00" /> <input type="hidden" name="profile_status" value="Active" /> <input type="hidden" name="charset" value="windows-1252" /> <input type="hidden" name="notify_version" value="3.7" /> <input type="hidden" name="amount" value="10.00" /> <input type="hidden" name="outstanding_balance" value="60.00" /> <input type="hidden" name="recurring_payment_id" value="I-LH2MJXG27TR6" /> <input type="hidden" name="product_name" value="Angell EYE Web Hosting" /> <input type="hidden" name="ipn_track_id" value="e3a52d6772d28" /> <input type="submit" value="Send Payment Skipped"/> </form> <!-- Payment Failed --> <form target="_new" method="post" action="http://www.yourdomain.com/youripnhandler.php"> <input type="hidden" name="payment_cycle" value="every 4 Weeks" /> <input type="hidden" name="txn_type" value="recurring_payment_failed" /> <input type="hidden" name="last_name" value="Tester" /> <input type="hidden" name="next_payment_date" value="03:00:00 Oct 03, 2013 PDT" /> <input type="hidden" name="residence_country" value="US" /> <input type="hidden" name="initial_payment_amount" value="0" /> <input type="hidden" name="currency_code" value="JPY" /> <input type="hidden" name="time_created" value="05:14:37 Aug 01, 2012 PDT" /> <input type="hidden" name="verify_sign" value="AOTn5qT2D05NGLBeQowuGwhI5kTFAIPV01VWay1FayueRmXhAYd2KLZp" /> <input type="hidden" name="period_type" value=" Regular" /> <input type="hidden" name="payer_status" value="unverified" /> <input type="hidden" name="test_ipn" value="1" /> <input type="hidden" name="tax" value="0" /> <input type="hidden" name="payer_email" value="[email protected]" /> <input type="hidden" name="first_name" value="Ecaf" /> <input type="hidden" name="receiver_email" value="[email protected]" /> <input type="hidden" name="payer_id" value="VCLJR9E79V4KJ" /> <input type="hidden" name="product_type" value="1" /> <input type="hidden" name="shipping" value="0" /> <input type="hidden" name="amount_per_cycle" value="1" /> <input type="hidden" name="profile_status" value="Active" /> <input type="hidden" name="charset" value="windows-1252" /> <input type="hidden" name="notify_version" value="3.7" /> <input type="hidden" name="amount" value="1" /> <input type="hidden" name="outstanding_balance" value="1" /> <input type="hidden" name="recurring_payment_id" value="I-P90BX92X15DR" /> <input type="hidden" name="product_name" value="Welcome to the world of shopping where you get everything" /> <input type="hidden" name="ipn_track_id" value="ab99ea6823e24" /> <input type="submit" value="Send Payment Failed"/> </form> <!-- Profile Suspended --> <form target="_new" method="post" action="http://www.yourdomain.com/youripnhandler.php"> <input type="hidden" name="payment_cycle" value="Monthly" /> <input type="hidden" name="txn_type" value="recurring_payment_suspended_due_to_max_failed_payment" /> <input type="hidden" name="last_name" value="Lang" /> <input type="hidden" name="next_payment_date" value="N/A" /> <input type="hidden" name="residence_country" value="US" /> <input type="hidden" name="initial_payment_amount" value="4.90" /> <input type="hidden" name="currency_code" value="USD" /> <input type="hidden" name="time_created" value="13:45:44 Nov 04, 2010 PDT" /> <input type="hidden" name="verify_sign" value="A65EYvoNuupMDbNU-2RPi609XJ7LAQ8CzxOV03bR4.O-nKSYG9LjBf10" /> <input type="hidden" name="period_type" value=" Regular" /> <input type="hidden" name="payer_status" value="unverified" /> <input type="hidden" name="test_ipn" value="1" /> <input type="hidden" name="tax" value="0.00" /> <input type="hidden" name="payer_email" value="[email protected]" /> <input type="hidden" name="first_name" value="Corey" /> <input type="hidden" name="receiver_email" value="[email protected]" /> <input type="hidden" name="payer_id" value="HKHX3D32P9DXG" /> <input type="hidden" name="product_type" value="1" /> <input type="hidden" name="shipping" value="0.00" /> <input type="hidden" name="amount_per_cycle" value="29.95" /> <input type="hidden" name="profile_status" value="Suspended" /> <input type="hidden" name="charset" value="windows-1252" /> <input type="hidden" name="notify_version" value="3.7" /> <input type="hidden" name="amount" value="29.95" /> <input type="hidden" name="outstanding_balance" value="149.75" /> <input type="hidden" name="recurring_payment_id" value="I-Y0E6UC684RS4" /> <input type="hidden" name="product_name" value="Achieve Formulas 30 day supply, monthly." /> <input type="hidden" name="ipn_track_id" value="95c39c8a4b39d" /> <input type="submit" value="Send Profile Suspended"/> </form> <!-- Profile Canceled --> <form target="_new" method="post" action="http://www.yourdomain.com/youripnhandler.php"> <input type="hidden" name="payment_cycle" value="Monthly" /> <input type="hidden" name="txn_type" value="recurring_payment_profile_cancel" /> <input type="hidden" name="last_name" value="Testerson" /> <input type="hidden" name="next_payment_date" value="N/A" /> <input type="hidden" name="residence_country" value="US" /> <input type="hidden" name="initial_payment_amount" value="69.90" /> <input type="hidden" name="rp_invoice_id" value="4603" /> <input type="hidden" name="currency_code" value="USD" /> <input type="hidden" name="time_created" value="09:40:52 Feb 11, 2013 PST" /> <input type="hidden" name="verify_sign" value="AGiC06LknLf7LnPNSt03A0q0ajKiAZt35jsIvkcPn5dU7GtRl-ITAf5Q" /> <input type="hidden" name="period_type" value=" Regular" /> <input type="hidden" name="payer_status" value="verified" /> <input type="hidden" name="tax" value="0.00" /> <input type="hidden" name="payer_email" value="[email protected]" /> <input type="hidden" name="first_name" value="Tester" /> <input type="hidden" name="receiver_email" value="[email protected]" /> <input type="hidden" name="payer_id" value="Q28888N" /> <input type="hidden" name="product_type" value="1" /> <input type="hidden" name="shipping" value="0.00" /> <input type="hidden" name="amount_per_cycle" value="1.95" /> <input type="hidden" name="profile_status" value="Cancelled" /> <input type="hidden" name="charset" value="windows-1252" /> <input type="hidden" name="notify_version" value="3.7" /> <input type="hidden" name="outstanding_balance" value="0.00" /> <input type="hidden" name="recurring_payment_id" value="I-553Y5PRWJ29F" /> <input type="hidden" name="product_name" value="USBSwiper Monthly Subscription" /> <input type="hidden" name="ipn_track_id" value="5ecdc90112398" /> <input type="submit" value="Send Profile Canceled"/> </form> <!-- Recurring Payment Expired --> <form target="_new" method="post" action="http://www.yourdomain.com/youripnhandler.php"> <input type="hidden" name="payment_cycle" value="Monthly" /> <input type="hidden" name="txn_type" value="recurring_payment_expired" /> <input type="hidden" name="last_name" value="Testerson" /> <input type="hidden" name="next_payment_date" value="N/A" /> <input type="hidden" name="residence_country" value="US" /> <input type="hidden" name="initial_payment_amount" value="0.00"/> <input type="hidden" name="rp_invoice_id" value="1580"/> <input type="hidden" name="currency_code" value="USD"/> <input type="hidden" name="time_created" value="09:42:46 Jan 12, 2011 PST"/> <input type="hidden" name="verify_sign" value="AbBIww12EQnvrHwYmd1wb98zYz53APIJHOa.GTV4C9Ef0HVE1FWBtxMP"/> <input type="hidden" name="period_type" value=" Regular"/> <input type="hidden" name="payer_status" value="unverified"/> <input type="hidden" name="tax" value="0.00"/> <input type="hidden" name="first_name" value="Tester" /> <input type="hidden" name="receiver_email" value="[email protected]" /> <input type="hidden" name="payer_id" value="R7J55555MN" /> <input type="hidden" name="product_type" value="1" /> <input type="hidden" name="shipping" value="0.00" /> <input type="hidden" name="amount_per_cycle" value="1.00" /> <input type="hidden" name="profile_status" value="Cancelled" /> <input type="hidden" name="charset" value="windows-1252" /> <input type="hidden" name="notify_version" value="3.0" /> <input type="hidden" name="amount" value="1.00" /> <input type="hidden" name="outstanding_balance" value="0.00" /> <input type="hidden" name="recurring_payment_id" value="I-M0555555RY" /> <input type="hidden" name="product_name" value="USBSwiper Rental Program" /> <input type="submit" value="Send Recurring Payment Expired"/> </form>