Как получить два отдельных одноразовых номера с Accept.js?

Я использую Authorize.Net Accept.js для пользовательской корзины с подписками, используя ARBCreateSubscriptionRequest API, где мы передаем его одноразовый платеж как непрозрачный элемент данных.

Хотя это работает, у него есть эти 3 ошибки, которые происходят на ARBCreateSubscriptionRequest (подписки) но не встречаются на CreateTransactionRequest (разовые платежи):

  • Это не подтверждает CVC (код карты).
  • Это не подтверждает действительную дату истечения срока действия карты.
  • Это не подтверждает наличие средств для начала подписки.

Работая с техподдержкой Authorize.Net, они подтвердили, что правильной процедурой является:

  1. использование CreateTransactionRequest создать первоначальную оплату подписки, тем самым давая немедленный ответ и обходя перечисленные выше проблемы.
  2. Затем они сказали следовать этому с ARBCreateSubscriptionRequest где дата начала - следующий срок их подписки.

Конечно, да, даже без CreateTransactionRequest, но исключительно используя ARBCreateSubscriptionRequest когда первоначальный платеж подписки вступит в силу через 24 часа, карта выйдет из строя, и в мою корзину может быть отправлено сообщение через веб-крючок, чтобы сообщить мне об отключении того, что я включил. Тем не менее, немедленный ответ был бы более подходящим и, безусловно, уменьшил бы разочарование потенциальных покупателей и торговцев. Кроме того, если кто-то отправляет что-то вместе с покупкой, для продавца важно знать, что покупка сработала.

Например, скажем, я подписываюсь на 9 долларов в месяц. Первый платеж будет с CreateTransactionRequest за 9 долларов за текущий месяц. Затем создайте ARBCreateSubscriptionRequest с задержкой на начало первого дня следующего месяца и интервалом каждого месяца. Таким образом, клиент получает обработанные (успешно / неудачно) начальные $9 сразу после покупки. Затем, когда наступит следующий месяц, их подписка будет стоить 9 долларов в месяц.

Хорошо, я понимаю это на 100%. Но здесь я не получаю четкого ответа в документах или в тикете поддержки. CreateTransactionRequest и ARBCreateSubscriptionRequest оба нуждаются в собственном уникальном платеже.

Основная проблема: если Accept.js используется для генерации одного одноразового номера, как мне получить два одноразовых номера? Если я использую Accept.js для генерации второго одноразового номера, отменяет ли он предыдущий? Я запутался и документация не объясняет.

1 ответ

Решение

Если вы хотите проверить информацию о карте из одноразового номера Accept.js, обработать начальную транзакцию и затем создать подписку, вы можете попробовать следующую последовательность действий:

  1. использование createTransactionRequest с одноразовым номером и установить createProfile=true. Шлюз будет обрабатывать вашу транзакцию, включая проверку номера карты, срока действия и CCV. В случае успеха создается профиль клиента.
  2. Используйте профиль клиента для создания вашей подписки.
Другие вопросы по тегам