Authorize.net применяет единовременную скидку наличными на подписку ARB
Можно ли применить одноразовую или многократную скидку к оплате за автоматическую периодическую подписку? Я не могу найти что-либо из этого в Google.
Что у меня сейчас есть:
- Сначала вычислите цену со скидкой, а затем создайте единый сбор с новой ценой и вручную создайте локальную подписку (больше не ARB), для которой мне нужно создать свой собственный планировщик выставления счетов.
Я пытаюсь добиться чего-то вроде этого:
- Применить $100 в первый и / или второй месяц подписки
- После применения двух скидок цена подписки должна вернуться к первоначальной цене при следующем выставлении счета.
Я использую кассовый пакет 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
]
Суть в том, что вы хотите сделать, возможно.