所以我注意到,在付款的状态检查,当贝宝REST API - 国家购买后不改变
GET /v1/payments/payment/<Payment-Id>
PayPal的响应“状态”没有从变“即使PayPal用户购买了该商品后也创建了“”。直到我执行付款时,状态变为“批准”。
这使得难以区分实际上已被客户批准的付款和仍在处理的付款之间的差异,因为它们都在“已创建”状态。 JSON响应的唯一区别在于,一旦付款实际获得批准,似乎包括shipping_address。我不确定这是一种表示差异的标准方式。
当上述呼叫用于REST API时,客户是否实际上批准了PayPal交易的标准方式是什么?
注:我已经有PHP回调脚本设置和工作。我正在研究一种不间断检查数据库条目的故障安全系统,以确保已执行批准的付款(在发生某些系统故障的情况下)。
我想我可以使用IPN回调脚本我有安装从CLASSIC API
但似乎REST API
和CLASSIC API
是不兼容的,因为IPN回调将不包含事务ID或任何必要的信息是有用的。
似乎在使用REST API时,如果您错过了重定向呼叫到您的网络服务器,那么该事务将永远丢失。
感谢您的回应,最后得到一点帮助真是太棒了。在使用这些方法进行测试时,我注意到如果用户登录到PayPal但尚未付款,则存在“付款人”对象。在这种情况下,它不会有shipping_address。一旦用户完成结帐并付款,它将包含shipping_address。这是你的情况吗? –
如果用户在登录时坐在商店的“查看信息”页面上,我可以验证“付款人”对象是否存在。此时,他们还没有完全结账并可以选择取消。因此,“付款人”对象的存在是不够的。如果这有帮助,我可以告诉你我找回的JSON。 –
这是付款人对象而登录 “大户”:{ “payer_info”:{ “COUNTRY_CODE”: “US”, “FIRST_NAME”: “约书亚”, “姓氏”: “布里泰恩”, “ payer_id“: ”KZNRYBNVQD2FL“, ”电话“: ”4084500470“ }, ”PAYMENT_METHOD“: ”贝宝“, ”状态“: ”验证“ }, –