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
]);

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

0

Решение

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

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

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

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

3

Другие решения

Других решений пока нет …