Authorize.net применяет единовременную скидку наличными на подписку ARB - PullRequest
0 голосов
/ 17 сентября 2018

Можно ли применить одноразовую или многократную скидку к оплате за автоматическую периодическую подписку? Кажется, я не могу найти ничего из этого в 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 Ответ

0 голосов
/ 17 сентября 2018

Если вы хотите снизить цену только для первого или двух платежей, вы можете использовать функцию пробный период в 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
]

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

...