【发布时间】:2020-07-19 20:28:06
【问题描述】:
我最近能够使用 PayPal 沙盒成功完成购买,并且在购买后可以使用 POST 变量,该变量会在付款时重定向到提交表单页面(只能在付款后查看):
array(30) { ["payer_email"]=> string(36) "example@personal.example.com" ["payer_id"]=> string(13) "4FUN7NBSC787C" ["payer_status"]=> string(8) "VERIFIED" ["first_name"]=> string(4) "John" ["last_name"]=> string(3) "Doe" ["address_name"]=> string(12) "Tester Tests" ["address_street"]=> string(12) "3000 Pine St" ["address_city"]=> string(7) "Testing" ["address_country_code"]=> string(2) "GB" ["address_zip"]=> string(8) "SW1A 1AA" ["residence_country"]=> string(2) "GB" ["txn_id"]=> string(17) "4JL40298VT457961L" ["mc_currency"]=> string(3) "USD" ["mc_fee"]=> string(4) "0.33" ["mc_gross"]=> string(4) "1.00" ["protection_eligibility"]=> string(8) "ELIGIBLE" ["payment_fee"]=> string(4) "0.33" ["payment_gross"]=> string(4) "1.00" ["payment_status"]=> string(9) "Completed" ["payment_type"]=> string(7) "instant" ["handling_amount"]=> string(4) "0.00" ["shipping"]=> string(4) "0.00" ["quantity"]=> string(1) "1" ["txn_type"]=> string(10) "web_accept" ["payment_date"]=> string(20) "2020-07-19T20:05:47Z" ["business"]=> string(36) "example@business.example.com" ["receiver_id"]=> string(13) "LTCCDM4GCQZKW" ["notify_version"]=> string(11) "UNVERSIONED" ["custom"]=> string(11) "alreadyPaid" ["verify_sign"]=> string(56) "AcUCovblmWr2tKRnFCWWVIV11FyiA6BhiCk05j3nsD6ht3wW7G7A4Jxa" }
我在按钮的“高级变量”部分插入了以下代码来执行此操作:
return=https://example.com/submit-details-test/
rm=2
custom=alreadyPaid
但是,当我尝试使用带有真实支付按钮的真实 PayPal 帐户进行实时购买时,在“高级变量”中插入相同的代码(更改返回 URL 以反映我的实际站点),POST 数组是返回时为空。
我至少需要返回自定义变量alreadyPaid,以便我们可以在让他们查看表单提交页面之前验证某人是否已付款。
是否必须在真实 PayPal 帐户中设置特定设置才能使用此功能(或者我不能在返回 URL 上接收 POST 数据,而只能通过设置 IPN?)?
【问题讨论】:
标签: php paypal paypal-ipn