我原以为付款撤销会返回,嗯,“REVERSED”。
这两个 IPN 通知几乎完全相同,我真的很困惑我应该如何处理这两个截然不同且影响深远的案例。
我看没有迹象表明一个是成功的付款,一个是取消(撤销)该笔付款..
这是一次成功的支付
{
"transaction": ["USD 107.75"],
"payment_request_date": "Thu Dec 13 06:36:41 PST 2012",
"return_url": "http:\\/\\/dev.something.com\\/paypal\\/callback\\/success",
"fees_payer": "EACHRECEIVER",
"ipn_notification_url": "http:\\/\\/dev.something.com\\/paypal\\/ipn_pay",
"sender_email": "buyer_1345686673_per@something.ch",
"verify_sign": "APXJM61hjKwY87DLzueyb5wEw.d6A-0.-hTUGwmFgZwciame2x1SEpe1",
"test_ipn": "1",
"cancel_url": "http:\\/\\/dev.something.com\\/paypal\\/callback\\/cancel",
"pay_key": "AP-4AC54963BJ135581V",
"action_type": "PAY",
"memo": "MEMO",
"transaction_type": "Adaptive Payment PAY",
"tracking_id": "pay_50c9e7f8658ae",
"status": "COMPLETED",
"log_default_shipping_address_in_transaction": "false",
"charset": "windows-1252",
"notify_version": "UNVERSIONED",
"reverse_all_parallel_payments_on_error": "false"
}
这是付款审核后撤消的同一笔付款
{
"transaction": ["USD 107.75"],
"payment_request_date": "Thu Dec 13 06:36:41 PST 2012",
"return_url": "http:\\/\\/dev.something.com\\/paypal\\/callback\\/success",
"fees_payer": "EACHRECEIVER",
"ipn_notification_url": "http:\\/\\/dev.something.com\\/paypal\\/ipn_pay",
"sender_email": "buyer_1345686673_per@something.ch",
"verify_sign": "Am2jFc4B6hWjlKD0-6LqtZwFoCEPACrjGEsaP1pg3GsZN5Q33vlx.AO1",
"test_ipn": "1",
"cancel_url": "http:\\/\\/dev.something.com\\/paypal\\/callback\\/cancel",
"reason_code": "Unknown",
"pay_key": "AP-4AC54963BJ135581V",
"action_type": "PAY",
"memo": "MEMO",
"expiration_date": "Thu Dec 13 06:40:07 PST 2012",
"transaction_type": "Adjustment",
"tracking_id": "pay_50c9e7f8658ae",
"status": "COMPLETED",
"log_default_shipping_address_in_transaction": "false",
"charset": "windows-1252",
"notify_version": "UNVERSIONED",
"reverse_all_parallel_payments_on_error": "false"
}
最佳答案
这里的区别是“Adaptive Payment Pay”与“Adjustment”的transaction_type。
但要记住的一件事是,这些 IPN 是针对您的自适应支付应用程序的,是针对应用程序所有者而不是卖家的。
涉及的实际卖家账户将从系统中获取自己的 IPN,其中包含有关付款本身的更多详细信息。
关于PayPal 支付逆转被 IPN 标记为 "COMPLETE",,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13862436/