好吧,我正在设计一个需要订阅才能被最终用户使用的在线服务。它有一个免费的基本计划,然后用户有几个功能更丰富的付费计划。
订阅是每月或每年(用户选择)。
根据客户规范,该服务应该有两种处理付款的途径——信用卡处理或 PayPal 订阅。我即将处理 PayPal 订阅、IPN 和一切,但我担心信用卡。我知道如何使用 PayPal 的 API 对 CC 进行收费,并且我非常清楚我不能存储任何敏感信息,所以我的想法是使用 3rd 方服务通过一些安全的 API 存储信用卡,然后构建一个 CRON 作业将每天运行以根据某些标准检查订阅是否即将到期,如果是,则为下一个计费周期收费。
好吧,我过去曾在 Authorize.net 上为不同的产品存储过信用卡。他们的 API 允许在那里创建用户配置文件(您获得内部用户 ID 以保留),发送 CC 存储(您获得内部 cc id 以保留),并且无论何时您都可以通过 API 对该 ID 进行收费. 但是只有当用户有意识地提交了一个表格“用这张信用卡支付这个(从 Authorize.net 检索到的最后 4 位数字)”时——所以在后台向他们收取 cron 作业可能会导致法律问题,尽管我们会这样做那只是为了他们有意识地订阅的服务。
简而言之- 我想知道在远程服务上存储的信用卡上使用 cron 作业进行定期付款是否是可行的方法(如果没有,请推荐一些东西)。如果是这样,我读到 PayPal 有一项以类似于 Authorize.net 的方式存储信用卡的服务,但经过广泛的研究,我找不到任何规范、任何文档或任何关于如何做到这一点的示例。并不是说我不能用 Authorize.net 做到这一点,但与我记得的 Authorize.net 相比,PayPal 在技术上似乎要好得多。