我正在开发一个IPN监听器,必须能够捕获定期付款,发票付款和订阅付款。我已经回顾了很多关于这个主题的文档。 我希望有人可以告诉我,当txn_type变量将值更改为以下时,paypal发送给我的监听器的POST之间的主要区别:
我已经使用txn_type = invoice_payment进行了交易,这是IPN重新发送:
invoice_number=0003
invoice_id=XXXX-XXXX-XXXX-XXXX-XXXX
mc_gross_1=58.00
mc_handling1=0.00
num_cart_items=1
payer_id=DJ77XLF8321SCCQ
address_country_code=
ipn_track_id=901559bfkk956f2d
address_zip=6546
invoice=xxxx-xxxx-xxxx-xxxx-xxxx
charset=windows-1252
payment_gross=
address_status=unconfirmed
address_street=
verify_sign=AFcWxVudFQq8ZSboMdT0X3W4ahu5PTNt
tax1=0.00
txn_type=invoice_payment
receiver_id=5VPNPEENCQ
payment_fee=
item_number1=
mc_currency=
transaction_subject=
custom=
protection_eligibility=Eligible
quantity1=1
address_country=
payer_status=verified
first_name=
item_name1=Pago+0003
address_name=
mc_gross=58.00
mc_shipping1=0.00
payment_date=10%3a24%3a19+Mar+08%2c+2016+PST
payment_status=Completed
business=
last_name=
address_state=
txn_id=9GE9035442720
mc_fee=7.30
resend=true
payment_type=instant
notify_version=3.8
payer_email=
receiver_email=
address_city=
residence_country=
我主要想知道变量invoice_id =是否出现在定期付款和订阅付款上。 谢谢!
答案 0 :(得分:2)
对于定期付款,如果您在CreateRecurringPaymentsProfile请求的PROFILEREFERENCE参数中传递了发票ID,它将在IPN中以rp_invoice_id的形式返回。
对于订阅,如果包含在请求中,它将作为“发票”返回。
要进行API调用,您可以将HTTP请求作为NVP字符串发送,也可以使用SOAP。