Authorize.net 申请 ARB 订阅一次现金折扣

Authorize.net apply one time cash discount on ARB subscription

是否可以对自动定期计费订阅应用一次性/多次现金折扣?我似乎在 Google.

上找不到任何内容

我目前拥有的:

  1. 首先计算折扣价,然后使用新价格创建单次收费并手动创建本地订阅(不再是 ARB),我必须在其上创建自己的计费计划程序。

我想要实现的是这样的:

  1. 在订阅的第一个 and/or 第二个月申请 $100
  2. 应用 2 次折扣后,订阅价格应在下次计费时恢复原价。

我正在为 authorize.net 使用 Laravel cashier package,所以我想添加一个功能,例如 ->withDiscount()->discountUsage()

$user->newSubscription('main', $planId)
    ->skipTrial()
    ->withDiscount(100) // these are the functions I want to achieve 
    ->discountUsage(2)  // the number of times discount is applicable
    ->create($user->authorize_id, [
        'email' => $user->email_address
    ]);

我认为 Authorize.net 目前的 ARB API 可以实现吗?有人可以启发我或提供一些建议以获得更好的选择。谢谢!

如果您只想降低前一两次付款的价格,您可以使用 ARB 中的 trial period 功能。这允许您在对剩余付款收取正常价格之前,为一定数量的付款设置不同的、通常较低的价格。

我不知道您使用的包,但在第二行中您主动禁用了此功能。

$user->newSubscription('main', $planId)
    ->skipTrial()  // <-- HERE. This needs to be changed to enable the trial period.
    ->create($user->authorize_id, [
        'email' => $user->email_address
    ]);

您需要阅读该库的文档以了解如何为 ARB 设置试用期。

看来您可以在配置中进行设置:

'monthly-10-1' => [
    'name' => 'main',
    'interval' => [
        'length' => 1, // number of instances for billing
        'unit' => 'months' //months, days, years
    ],
    'total_occurances' => 9999, // 9999 means without end date
    'trial_occurances' => 0,
    'amount' => 9.99,
    'trial_amount' => 0, <-- HERE
    'trial_days' => 0, <-- AND HERE
    'trial_delay' => 0, // days you wish to delay the start of billing
]

底线是你想做的是可能的。