我正在开发一个前端webapp,允许用户通过订阅按钮成为高级版。 用户完成订阅工作流程后,我必须通知我的后端某个用户已开始订阅。
从后端的角度来看,我需要做什么api来获取有关订阅的信息? https://api.sandbox.paypal.com/v1/payments/sale/? https://api.sandbox.paypal.com/v1/payments/authorization/?
在前端我正在使用订阅按钮,我从PDT回调获得的唯一ID是transaction-id。是我需要的还是我必须设置IPN监听器去获取其他信息?
答案 0 :(得分:1)
IPN是管理后端订阅状态所需的全部内容。 当客户完成订阅时,您的IPN脚本将收到PayPal回传消息,该消息应该是这样的:
txn_type=subscr_signup&subscr_id=I-T174N7E5R9YK&last_name=US&residence_country=US&mc_currency=USD&item_name=USM+Sample+Subscription&business=USM%40email.com&amount3=1.00&recurring=1&verify_sign=AFcWxV21C7fd0v3bYYYRCpSSRl31AfmX-ZMkgBlWAFEHv-hrAdTpuXhH&payer_status=verified&test_ipn=1&payer_email=USP%40email.com&first_name=Payer&receiver_email=USM%40email.com&payer_id=8FMFQ2KVYYHTY&reattempt=1&item_number=S1&recur_times=2&subscr_date=20%3A41%3A18+Oct+25%2C+2015+PDT&charset=gb2312¬ify_version=3.8&period3=6+D&mc_amount3=1.00&ipn_track_id=683b212770787
您可能需要查看txn_type=subscr_signup
和subscr_id=I-T174N7E5R9YK
,前者告诉交易类型(注册,取消,订阅付款,到期等),后者用于您的数据库协调使用(将ID与您的客户配置文件条目一起存储到您的数据库中)
PDT适用于在付款后返回您的网站时显示您的客户订单详细信息,但不建议用于后端订单管理,因为它是一种同步方法,可能会被用户浏览器行为“中止” (后退按钮,浏览器关闭等)