我正在努力实施 PayPal 的即时付款通知。我确实收到了来自 PayPal 的 IPN 请求,但它只是没有 PayPal 所说的字段。例如,没有“mc_gross”、“payment_gross”或“txn_id”。如果缺少所有这些字段,我应该如何验证 IPN?
使用 PayPal 沙盒网站上的即时支付通知 (IPN) 模拟器会产生一个完全不同的 IPN(当然,它包含 API 文档中提到的所有字段)。
我正在使用“自适应支付”API,并将其设置为只执行一个非常简单的 PAY 操作(否则效果很好)。我现在整天都在阅读 SO 和互联网上的帖子,但我就是不知道出了什么问题。
这是我的 IPN 处理程序的 Request.Params 数组的转储(省略了不相关的变量):
payment_request_date => Fri Jan 18 05:50:04 PST 2013
return_url => http://MYHOST/ReturnUrl
fees_payer => EACHRECEIVER
ipn_notification_url => http://MYHOST/PayPal.aspx
sender_email => sender_acc_pre@gmx.net
verify_sign => AoIh-cQwnxZ7nSmfalIL7L182SDTA2JKiIrVnwt.uetdGX.Jw0bG2C1f
test_ipn => 1
transaction[0].id_for_sender_txn => 66X080248E331472D
transaction[0].receiver => some_email_biz@gmx.net
cancel_url => http://MYHOST/CancelUrl
transaction[0].is_primary_receiver => false
pay_key => AP-28U75135KE1302901
action_type => PAY
transaction[0].id => 96E03111D3558372G
memo => This is a sandbox test payment
transaction[0].status => Completed
transaction[0].paymentType => SERVICE
transaction[0].status_for_sender_txn => Completed
transaction[0].pending_reason => NONE
transaction_type => Adaptive Payment PAY
transaction[0].amount => EUR 30.25
status => COMPLETED
log_default_shipping_address_in_transaction => false
charset => windows-1252
notify_version => UNVERSIONED
reverse_all_parallel_payments_on_error => false
ALL_HTTP => HTTP_CONTENT_LENGTH:1102
HTTP_CONTENT_TYPE:application/x-www-form-urlencoded
HTTP_HOST:92.231.161.192
有任何想法吗?