paypalpaypal-sandboxpaypal-ipnrecurring-billing

Send Paypal Recurring Payments commands with IPN Simulator


I am working with recurring payments (Express Checkout) and I have an IPN listener receiving messages.

All is running fine and I have checked several commands, response and VERIFY.

But I cannot test IPN with recurring payments because I have not the option in the IPN-Simulator 'Transaction type' selector:

IPN Simulator

How can I receive Recurring Payments IPN commands ?


Solution

  • Unfortunately, the IPN simulator doesn't include recurring payments as you've shown. You'll need to setup real profiles and test them in the sandbox, or you can setup your own simulator.

    Just make a basic HTML form with the action set to your IPN URL and then add hidden fields to the form with the names/values of what you'd expect to get from any given IPN. This way you can load the page in a browser, post it directly and see the result on the screen. This can help you with troubleshooting errors, too.

    Just keep in mind that when testing this way the original data isn't coming from PayPal so it will not be verified. You'll need to make sure your code logic handles that accordingly.

    Here are some samples of IPN's from recurring payments.

    Profile Created

    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] => sandbo_1204199080_biz@angelleye.com
        [first_name] => Drew
        [receiver_email] => sandbo_1215254764_biz@angelleye.com
        [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
    )
    

    Payment Made

    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] => sandbo_1215254764_biz@angelleye.com
        [verify_sign] => A4QWarlQUU0cupDGeAi-McuvfslGA7lrbrWV735PGPsr3OKdTRFyJtOq
        [payer_email] => test@domain.example
        [initial_payment_amount] => 0.00
        [profile_status] => Active
        [amount] => 10.00
        [txn_id] => 34Y69196BK064583G
        [payment_type] => instant
        [last_name] => test
        [receiver_email] => sandbo_1215254764_biz@angelleye.com
        [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
    )
    

    Payment Skipped

    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] => tester@hey.com
        [first_name] => working
        [receiver_email] => sandbo_1215254764_biz@angelleye.com
        [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
    )
    

    Payment Failed

    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] => prachi@signyit.com
        [first_name] => Ecaf
        [receiver_email] => sandbo_1215254764_biz@angelleye.com
        [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
    )
    

    Profile Suspended

    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] => corey@angelleye.com
        [first_name] => Corey
        [receiver_email] => sandbo_1215254764_biz@angelleye.com
        [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
    )
    

    Profile Canceled

    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] => payer@email.example
        [first_name] => Tester
        [receiver_email] => sandbox@domain.example
        [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
    )
    

    Recurring Payment Expired

    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] => payments@domain.example
        [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
    )