Как установить интервал пробного периода в authorize.net?

Я использую authorize.net для ежемесячной подписки с пробным периодом, используя API профиля клиента. Ссылка: https://developer.authorize.net/api/reference/#recurring-billing-create-a-subscription-from-customer-profile Я хочу установить интервал пробного периода подписки. В API я не мог получить отношение к интервалу пробного периода. Сценарий: если я подпишусь 01.01.2019, пользователь получит 1-й пробный период на 7 дней. Таким образом, дата окончания пробного периода должна быть 01.08.2019 с нулевой суммой. Тогда фактическая дата окончания подписки должна быть 02.08.2019 (на 1 месяц после пробного периода) и сумма подписки 100.

$subscription = new AnetAPI\ARBSubscriptionType();
$subscription->setName("Sample Subscription");

$interval = new AnetAPI\PaymentScheduleType\IntervalAType();
$interval->setLength('30');
$interval->setUnit("days");

$paymentSchedule = new AnetAPI\PaymentScheduleType();
$paymentSchedule->setInterval($interval);
$paymentSchedule->setStartDate(new DateTime('2019-01-01'));
$paymentSchedule->setTotalOccurrences("9999");
$paymentSchedule->setTrialOccurrences("1");

$subscription->setPaymentSchedule($paymentSchedule);
$subscription->setAmount(100);
$subscription->setTrialAmount("0.00");

С каким параметром я могу пройти пробный период в authorize.net? Пожалуйста, помогите мне в этом. Заранее спасибо.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
332
1

Ответы 1

Это не пробный период с точки зрения Authorize.Net. Это просто задержка начала подписки. Все, что вам нужно сделать, это установить дату начала на одну неделю позже, а затем создать обычную подписку с временными рамками в один месяц. Здесь не требуется никакого специального кода или параметра.

Итак, в вашем конкретном примере измените

 $paymentSchedule->setStartDate(new DateTime('2019-01-01'));

к

$paymentSchedule->setStartDate(new DateTime('2019-01-08'));

Или, если вы хотите, чтобы это было сделано динамически:

$paymentSchedule->setStartDate(new DateTime('+7 days'));

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