我正在构建一个贝宝订阅系统,但是我在理解某些要点方面有些困难。使用沙箱时,我无法模拟付款拒绝过程,因此在付款时,贝宝将我重定向到我的“批准网址回调”,并创建了计费协议。
因此,我想知道,在实际情况下,即使付款尚未发生,贝宝也会将我重定向到批准网址并创建此结算协议吗?还是只有在接受付款后才能创建此付款? (因此,如果贝宝拒绝付款,则将不会创建计费协议)
就我而言,我的客户需要访问我网站的某些付费功能,因此,我应该等待“ ipn webhook通知(PAYMENT.SALE.COMPLETED)”,这可能需要几分钟才能触发我的终端,还是可以在创建结算协议后立即授予访问权限?
哪个是最安全的事情?
谢谢。
答案 0 :(得分:0)
如果用户取消了结帐,贝宝将重定向到您的取消URL。 但是我也不清楚失败的付款案例。我相信即使付款失败也可以创建协议,因为完成付款尝试必须存在该协议,但是我在Paypal上不起作用:
我的方法是不管成功如何,都通过成功的重定向激活订阅,[edit:执行响应过去会返回agreement_details.next_billing_date
,因此您不能使用它]初始订阅期很短( 4h)。当我们的Webhook收到一条PAYMENT.SALE.COMPLETED
消息时,我们将获取协议计费协议详细信息,并将订阅到期时间更新为新的agreement_details.next_billing_date
。但是,如果Webhook收到PAYMENT.SALE.DENIED
,我们就让订阅过期。
HTH。