Как получить два отдельных одноразовых номера с Accept.js?
Я использую Authorize.Net Accept.js для пользовательской корзины с подписками, используя ARBCreateSubscriptionRequest
API, где мы передаем его одноразовый платеж как непрозрачный элемент данных.
Хотя это работает, у него есть эти 3 ошибки, которые происходят на ARBCreateSubscriptionRequest
(подписки) но не встречаются на CreateTransactionRequest
(разовые платежи):
- Это не подтверждает CVC (код карты).
- Это не подтверждает действительную дату истечения срока действия карты.
- Это не подтверждает наличие средств для начала подписки.
Работая с техподдержкой Authorize.Net, они подтвердили, что правильной процедурой является:
- использование
CreateTransactionRequest
создать первоначальную оплату подписки, тем самым давая немедленный ответ и обходя перечисленные выше проблемы. - Затем они сказали следовать этому с
ARBCreateSubscriptionRequest
где дата начала - следующий срок их подписки.
Конечно, да, даже без CreateTransactionRequest
, но исключительно используя ARBCreateSubscriptionRequest
когда первоначальный платеж подписки вступит в силу через 24 часа, карта выйдет из строя, и в мою корзину может быть отправлено сообщение через веб-крючок, чтобы сообщить мне об отключении того, что я включил. Тем не менее, немедленный ответ был бы более подходящим и, безусловно, уменьшил бы разочарование потенциальных покупателей и торговцев. Кроме того, если кто-то отправляет что-то вместе с покупкой, для продавца важно знать, что покупка сработала.
Например, скажем, я подписываюсь на 9 долларов в месяц. Первый платеж будет с CreateTransactionRequest
за 9 долларов за текущий месяц. Затем создайте ARBCreateSubscriptionRequest
с задержкой на начало первого дня следующего месяца и интервалом каждого месяца. Таким образом, клиент получает обработанные (успешно / неудачно) начальные $9 сразу после покупки. Затем, когда наступит следующий месяц, их подписка будет стоить 9 долларов в месяц.
Хорошо, я понимаю это на 100%. Но здесь я не получаю четкого ответа в документах или в тикете поддержки. CreateTransactionRequest
и ARBCreateSubscriptionRequest
оба нуждаются в собственном уникальном платеже.
Основная проблема: если Accept.js используется для генерации одного одноразового номера, как мне получить два одноразовых номера? Если я использую Accept.js для генерации второго одноразового номера, отменяет ли он предыдущий? Я запутался и документация не объясняет.
1 ответ
Если вы хотите проверить информацию о карте из одноразового номера Accept.js, обработать начальную транзакцию и затем создать подписку, вы можете попробовать следующую последовательность действий:
- использование
createTransactionRequest
с одноразовым номером и установить createProfile=true. Шлюз будет обрабатывать вашу транзакцию, включая проверку номера карты, срока действия и CCV. В случае успеха создается профиль клиента. - Используйте профиль клиента для создания вашей подписки.