订阅模型工作流程问题:如何处理付款

时间:2019-05-16 17:49:29

标签: php laravel laravel-cashier

我觉得我在应用程序订阅工作流程中缺少一些东西。

我有一个应用程序,可以访问按月付费订阅的视频。这是通过带有Stripe的Laravel Cashier设置的。

用户应该能够注册,订阅并进行首次付款,并且立即能够访问付费墙内容。

我的理解是,我能尽快处理的定期付款将是隔夜/第二天。这意味着,如果用户付款失败,则最多可以在24小时内免费访问付费内容。

即使只是进行授权检查也不会锁定资金,因此从理论上讲,有人可能会在付款之前超出其余额。

其他人如何处理?我想念什么?

2 个答案:

答案 0 :(得分:0)

您可以使用Stripe设置webhook,并在处理付款时收到通知。您可以等待授予他们访问权限,直到Stripe通知您为止。

答案 1 :(得分:0)

首先,您的付款服务提供商是什么?或者您为客户提供什么付款方式?
但基本上,您有两种选择:

1)在您的帐户中付款之前,请勿授予用户访问权限
我认为这不是一个好选择,也不是100%安全的。

2)以合法方式处理取消订单
我的意思是他们在您的商店购买订阅。因此,您的商店条件(您希望得到并展示给您的客户)应该涵盖所有付款部分。也许想想Factoring


问题是客户能够取消信用卡付款,借记付款(sepa),并且能够在PayPal帐户中退出其重复付款,等等...

在结帐过程中,您不能依靠付款提供商的成功消息。大多数付款服务提供商都使用服务器到服务器的消息传递系统来更新交易中的更改。例如,贝宝(PayPal)具有Instant Payment Notification

您需要一个具有cronjobs的计划系统,该系统可在您的付款提供商API上检查取消,在需要定期付款时发送付款提醒电子邮件(或自动执行定期付款),在通知期结束后延长订阅服务期限(一年或一个基于付款计划的期间)……还有很多其他内容。

从根本上讲,付款永远都不是100%安全的(甚至不是美金)!