4

我正在开发一个提供 30 天试用期的应用程序,然后可以选择按月或按年订阅(两种不同的价格)。

我在他的网站上使用了 John Conde 提供的很多信息(感谢 John),但我想确定我对这一切的工作原理有正确的认识——我第一次使用 Authorize.net 或订阅做任何事情...

因此,如果我有 30 天的试用期,并且有人决定他们今天要付款,则不应向他们收取 60 天的费用。我将开始日期提前 60 天,但我是否应该在 Authorize.net 中看到任何类型的费用显示它正在等待处理?

接下来,是它“监视”更新的 ARB 服务的一部分,或者我应该做些什么来定期触发检查。我很确定这就是 ARB,而且我不需要 cron 每天检查,但我宁愿现在问一个愚蠢的问题,也不愿以后有一堆遗漏的费用。

最后,您会建议我将哪些信息存储在我的本地数据库中,以及我应该让 ARB 服务捕获哪些信息。目前,我正在存储订阅项目是什么,付款人是谁(通过 id),卡上的姓名,卡的最后四位数字以防他们想要参考使用的内容,到期卡的日期,因此我可以查找未决的到期日期(除非这也是 ARB 的一部分)以及订阅开始、结束的日期。

任何其他信息表示赞赏。

4

2 回答 2

3

因此,如果我有 30 天的试用期,并且有人决定他们今天要付款,则不应向他们收取 60 天的费用。我将开始日期提前 60 天,但我是否应该在 Authorize.net 中看到任何类型的费用显示它正在等待处理?

使用 AIM API 收取他们的初始付款,然后在 ARB 中将开始日期设置为 60 天(当他们首次付款时)。您不会收到订阅处于“待处理”状态的任何通知,但如果 ARB API 将订阅 ID 返回给您,则可以安全地假设将在 60 天内尝试首次付款。

接下来,是它“监视”更新的 ARB 服务的一部分,或者我应该做些什么来定期触发检查。我很确定这就是 ARB,而且我不需要 cron 每天检查,但我宁愿现在问一个愚蠢的问题,也不愿以后有一堆遗漏的费用。

你不必做任何事情。ARB 中的“A”代表自动化,它是完全自动化的。安排付款后,它将自动运行,直到订阅结束,您取消订阅,或者他们的卡过期并且您没有在下一个预定账单日期之前更新它。

最后,您会建议我将哪些信息存储在我的本地数据库中,以及我应该让 ARB 服务捕获哪些信息。目前,我正在存储订阅项目是什么,付款人是谁(通过 id),卡上的姓名,卡的最后四位数字以防他们想要参考使用的内容,到期卡的日期,因此我可以查找未决的到期日期(除非这也是 ARB 的一部分)以及订阅开始、结束的日期。

尽可能多地向 ARB API 发送信息。它使在 Authnet 控制面板中研究交易变得更加容易,因为您可以将您捕获的内容与他们在交易历史中显示的内容进行比较。

听起来您正在存储对您有用的信息。如果您的数据库被黑客入侵,我会加密任何与信用卡相关的内容,以使其不那么有用。您存储了足够的信息,黑客可以使用它来说服您的客户他们有他们的信用卡号码,然后事情变得非常丑陋。

于 2011-01-25T04:21:17.847 回答
1

好吧,一般来说,您应该避免存储 CC 信息(出于安全原因),因此将所有内容保存在 ARB 会更好。

您应该在用户注册时安排付款,并将 SOAP 调用中的 startDate 设置为 60 天后。存储交易密钥或他们调用的任何方式,以便您可以随时在 ARB 取消订阅。如果你这样做,你可以完全避免处理付款,你只需要处理订阅和取消订阅。

于 2011-01-24T16:34:01.097 回答