使用IPN模拟器发送Paypal定期付款命令

31

我正在处理定期付款(快速结账),并且我有一个IPN监听器接收消息。

一切都运行良好,我已经检查了几个命令、响应和VERIFY。

但是,我无法在IPN模拟器的“交易类型”选择器中测试使用定期付款的IPN,因为我没有这个选项:

IPN Simulator

我如何接收定期付款的IPN命令?

2个回答

58
抱歉,IPN模拟器不包括您所示的定期付款。您需要设置真实的配置文件并在沙盒中测试它们,或者您可以设置自己的模拟器。 只需创建一个基本HTML表单,将操作设置为您的IPN网址,然后向表单添加隐藏字段,这些字段具有从任何给定IPN中获取的名称/值。这样,您就可以在浏览器中加载页面,直接发布并查看屏幕上的结果。这也可以帮助您解决错误。 请记住,使用此种方式测试时,原始数据并非来自PayPal,因此不会得到验证。您需要确保您的代码逻辑相应地处理该问题。 以下是一些定期支付IPN的示例。 配置文件已创建
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
)

支付已完成

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
)

支付失败

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
)

支付失败

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
)

帐号被暂停

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
)

取消了个人资料

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
)

重复支付已过期

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
)

如何区分recurring_payment_profile_cancel和subscr_cancel?或者为什么会有recurring_payment_profile_created...不是在subscr_signup时创建的吗? - jayarjo
“Recurring Payments”和“Subscriptions”在技术上是相同的,但在PayPal中有不同的含义。如果您使用API生成配置文件,则使用“Recurring Payments”。如果您使用您的PayPal帐户内可以创建的标准按钮,则使用“Subscriptions”。 - Drew Angell
5
将近三年前,我在我们组织的捐款表单中实施了循环付款功能。然而真是非常沮丧的是,他们的IPN模拟器在这方面完全没有用处。想象一下,回来解决问题的时候竟然发现工具在这段时间里没有任何改善或变化,简直可悲。不管怎样,感谢提供信息,这让我节省了大量时间,并且这些信息还集中在一个地方,比Paypal那糟糕、可怜的文档好多了。真高兴我们要为此付费...(/讽刺) - Chris Baker
1
沙盒支持它。只有模拟器不支持。 - Drew Angell
2
我已经在答案中添加了一个recurring_payment_expired IPN示例。 - Drew Angell
显示剩余8条评论

6

安德鲁·安格尔的答案是最好的,我只是想为开发人员节省一些时间,让他们可以立即复制粘贴并使用这些示例作为准备好的HTML表单。因此,这里它们是:

    <!-- Profile Created -->

<form target="_new" method="post" action="http://www.yourdomain.example/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="sandbo_1204199080_biz@angelleye.com" />
    <input type="hidden" name="first_name" value="Drew" />
    <input type="hidden" name="receiver_email" value="sandbo_1215254764_biz@angelleye.com" />
    <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.example/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="sandbo_1215254764_biz@angelleye.com" />
    <input type="hidden" name="verify_sign" value="A4QWarlQUU0cupDGeAi-McuvfslGA7lrbrWV735PGPsr3OKdTRFyJtOq" />
    <input type="hidden" name="payer_email" value="test@domain.example" />
    <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="sandbo_1215254764_biz@angelleye.com" />
    <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.example/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="tester@hey.com" />
    <input type="hidden" name="first_name" value="working" />
    <input type="hidden" name="receiver_email" value="sandbo_1215254764_biz@angelleye.com" />
    <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.example/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="prachi@signyit.com" />
    <input type="hidden" name="first_name" value="Ecaf" />
    <input type="hidden" name="receiver_email" value="sandbo_1215254764_biz@angelleye.com" />
    <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.example/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="corey@angelleye.com" />
    <input type="hidden" name="first_name" value="Corey" />
    <input type="hidden" name="receiver_email" value="sandbo_1215254764_biz@angelleye.com" />
    <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.example/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="payer@email.example" />
    <input type="hidden" name="first_name" value="Tester" />
    <input type="hidden" name="receiver_email" value="sandbox@domain.example" />
    <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.example/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="payments@domain.example" />
    <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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接