Paypal定期支付IPN

3

我在Paypal中设置了IPN,每当使用Payflow Pro设置重复支付时就会触发它。我该如何让它发送自定义ID变量,以确保我可以使用它来扩展会员资格?

到目前为止,我尝试了ProfileID、payer_business_name、option_name1、rp_invoice_id、invoice和custom,但是当它通过时没有一个被发送回来。

2个回答

1

rp_invoice_id在recurring_payments_profile_created和regular recurring_payment IPN中都会返回。以下是两者的示例。

Array
(
    [payment_cycle] => Monthly
    [txn_type] => recurring_payment_profile_created
    [last_name] => Parr
    [next_payment_date] => 02:00:00 Jan 02, 2014 PST
    [residence_country] => US
    [initial_payment_amount] => 0.00
    [rp_invoice_id] => 5416
    [currency_code] => USD
    [time_created] => 11:40:24 Jan 02, 2014 PST
    [verify_sign] => A0AUpo6gn8Mp.jtr-HUe-oSqCFb6A0LWR7wKLHmMMUUwszTktyPfL8DU
    [period_type] =>  Regular
    [payer_status] => verified
    [tax] => 0.00
    [payer_email] => blahblah@aol.com
    [first_name] => Don
    [receiver_email] => blahblah@usbswiper.com
    [payer_id] => F5T99998MN
    [product_type] => 1
    [payer_business_name] => Testers, LLC
    [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-WK69LR0DU8DU
    [product_name] => USBSwiper Monthly Subscription
    [ipn_track_id] => 6ddc294dddb3f
)

Array
(
    [mc_gross] => 1.95
    [period_type] =>  Regular
    [outstanding_balance] => 0.00
    [next_payment_date] => 02:00:00 Feb 02, 2014 PST
    [protection_eligibility] => Ineligible
    [payment_cycle] => Monthly
    [address_status] => confirmed
    [tax] => 0.00
    [payer_id] => F59999MN
    [address_street] => 96 east granada drive
    [payment_date] => 11:41:08 Jan 02, 2014 PST
    [payment_status] => Completed
    [product_name] => USBSwiper Monthly Subscription
    [charset] => windows-1252
    [rp_invoice_id] => 5416
    [recurring_payment_id] => I-WK69LR0DU8DU
    [address_zip] => 08723
    [first_name] => Blah
    [mc_fee] => 0.34
    [address_country_code] => US
    [address_name] => Testers, LLC
    [notify_version] => 3.7
    [amount_per_cycle] => 1.95
    [payer_status] => verified
    [currency_code] => USD
    [business] => blah@usbswiper.com
    [address_country] => United States
    [address_city] => brick
    [verify_sign] => AoumLIHoQx0AdOelHJVEVpKjHTDiArY--xdOStWxP3msX12oC3zHxpWw
    [payer_email] => blahblah@aol.com
    [initial_payment_amount] => 0.00
    [profile_status] => Active
    [amount] => 1.95
    [txn_id] => 5DL77590UR008354X
    [payment_type] => instant
    [payer_business_name] => Testers, LLC
    [last_name] => Blah
    [address_state] => NJ
    [receiver_email] => blahblah@usbswiper.com
    [payment_fee] => 0.34
    [receiver_id] => M5VRAQYEFCSK6
    [txn_type] => recurring_payment
    [mc_currency] => USD
    [residence_country] => US
    [transaction_subject] => USBSwiper Monthly Subscription
    [payment_gross] => 1.95
    [shipping] => 0.00
    [product_type] => 1
    [time_created] => 11:40:24 Jan 02, 2014 PST
    [ipn_track_id] => 8e2c922895e5c
)

如果您在IPN中没有收到rp_invoice_id,则它可能未被正确地包含在您的API请求中。

rp_invoice_id连接到什么?我发送了ProfileReference和RPINVOICEID,然后它回来了。 - user2352040
1
啊,抱歉,是的。API请求中的实际参数是PROFILEREFERENCE。该值将作为rp_invoice_id在IPN中返回。 - Drew Angell
请问如何在REST API代码中发送这个PROFILEREFERENCE? - udayatom

1

custom变量一定可以工作,如果它包含在POST中。或者,您可以将任何变量名称=值对添加到notify_url中,只要它们不与PayPal的IPN变量冲突。


2
这是针对循环付款的,IPN 是在Paypal内设置的,无法通过此方式即时设置URL中的变量将不起作用。 - user2352040
我已经阅读过,notify_url 中的 URL 参数在任何地方设置时都会被尊重。你确定这不起作用吗? - user207421

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