Accept.js (authorize.net) и одностраничные приложения

Мы стремимся использовать Authorize.NET accept.js для поддержания нашего соответствия SAQ-A (мы уже делаем это с помощью braintree и stripe).

Мне очень трудно работать с accept.js, основываясь на документации, и я надеюсь, что то, что я не хочу, возможно недокументированным способом!

Моя большая проблема заключается в следующем:

"ВАЖНО: при использовании формы с информацией о платеже убедитесь, что ваша страница загружает библиотеку после определения кнопки".

Сценарий, кажется, хочет обработать DOM, как только он загрузится, и найти необходимые ему атрибуты. Это крайне затрудняет работу с точки зрения одностраничного приложения, потому что, если пользователь просматривает страницу оплаты, затем решает вернуться, чтобы добавить что-то еще в корзину, а затем снова идет на оплату... сценарий уже был загружен, но теперь форма не отображается.

То, что я хочу сделать, это сделать так, чтобы accept.js дал мне функцию для вызова и передачи ей необходимых вещей (тестовый режим, ключ публикации и т. Д.). Вот как это делается в Braintree:

braintree.dropin.create({
      authorization: 'CLIENT_TOKEN_FROM_SERVER',
      container: '#dropin-container'
    }

и вот как это делается с полосой:

// Create an instance of the card Element
var card = elements.create('card', {style: style});

// Add an instance of the card Element into the `card-element` <div>
card.mount('#card-element');

Этот стиль API прекрасно работает в Интернете, потому что я могу загрузить файл javascript один раз, но при необходимости создаю форму оплаты.

Есть ли способ сделать это с accept.js? Единственный способ, которым я смог придумать, - это создать форму самостоятельно и затем вызвать Accept.dispatch, но это переместит нас из SAQ-A в SAQ-A EP.

Спасибо!

0 ответов

Если вы используете React, есть довольно полезная библиотека под названием response-authorize-net, которая позволяет вам взаимодействовать с Authorize.Net через простой и понятный API на основе компонентов.

Чтобы интегрировать его в свой проект, вы обычно используете FormContainer компонент вместе с FormComponent чтобы сразу же получить полнофункциональную и готовую к использованию платежную форму.

Вы можете иметь собственную логику рендеринга, предоставив свой собственный компонент / функцию для FormContainer слишком.

Вот пример библиотеки, используемой в существующем проекте React https://github.com/j-em/react-authorize-net-example

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