Authorize.net применяет единовременную скидку наличными на подписку ARB

Можно ли применить одноразовую или многократную скидку к оплате за автоматическую периодическую подписку? Я не могу найти что-либо из этого в Google.

Что у меня сейчас есть:

  1. Сначала вычислите цену со скидкой, а затем создайте единый сбор с новой ценой и вручную создайте локальную подписку (больше не ARB), для которой мне нужно создать свой собственный планировщик выставления счетов.

Я пытаюсь добиться чего-то вроде этого:

  1. Применить $100 в первый и / или второй месяц подписки
  2. После применения двух скидок цена подписки должна вернуться к первоначальной цене при следующем выставлении счета.

Я использую кассовый пакет Laravel для authorize.net, поэтому хочу добавить такую ​​функциональность, как ->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
    ]);

То, что я думаю, достижимо с текущим ARB API Authorize.net? Может кто-нибудь, пожалуйста, просветите меня или дать совет для лучшего варианта. Спасибо!

1 ответ

Решение

Если вы хотите снизить цену только за первый или два платежа, вы можете использовать функцию пробного периода в ARB. Это позволяет вам установить другую, обычно более низкую, цену для установленной суммы платежей, прежде чем обычная цена будет взиматься с оставшихся платежей.

Я не знаю, какой пакет вы используете, но во второй строке вы активно отключаете эту функцию.

$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
]

Суть в том, что вы хотите сделать, возможно.

Другие вопросы по тегам