Я пытаюсь интегрировать Worldpay в приложение angular2.Как интегрировать worldpay с angular2
Я использую собственную форму (own-form) подход, при котором необходимо включать в свой сценарий страницы: <script src="https://cdn.worldpay.com/v1/worldpay.js"></script>
Добавить конкретные атрибуты объявления для некоторых входов: data-worldpay
и прикрепить Worldpay.js логики в форме. ..
мне удалось сделать шаги:
1. Включать Worldpay.js в вашей странице
2. Создайте форму оплаты с соответствующими атрибутами
Как я могу продолжать делать следующие шаги ... Я застрял на эту проблему:
5. Приложить Worldpay.js в форму:
<script type="text/javascript">
var form = document.getElementById('paymentForm');
Worldpay.useOwnForm({
'clientKey': 'your-test-client-key',
'form': form,
'reusable': false,
'callback': function(status, response) {
document.getElementById('paymentErrors').innerHTML = '';
if (response.error) {
Worldpay.handleError(form, document.getElementById('paymentErrors'), response.error);
} else {
var token = response.token;
Worldpay.formBuilder(form, 'input', 'hidden', 'token', token);
form.submit();
}
}
});
</script>
Почему?
угловой2 удаляет все теги <script
из шаблонов.
Предположив с обходным можно было бы внедрить некоторые скрипты на странице в ngAfterViewInit()
методе (как я сделал для 1-я ступени)
ngAfterViewInit(): void {
let s = document.createElement("script");
s.type = "text/javascript";
s.src = "https://cdn.worldpay.com/v1/worldpay.js";
this.worldPayScriptElement.nativeElement.appendChild(s);
}
где this.worldPayScriptElement
является ViewChild из DIV от шаблона: <div #worldPayScriptElement hidden></div>
Но, в результате их правил обработки, WorldPay будет заменять конфиденциальные данные от моей формы с полем под названием CreditCardToken
от источника: Наконец, в Worldpay.formBuilder() все конфиденциальные данные карты удаляются из формы, заменяются токеном, и только тогда форма возвращается на ваш сервер. источник: https://developer.worldpay.com/jsonapi/docs/own-form
Как продолжить интеграцию этого ... Не могу понять.
Если они будут иметь API, возвращая CreditCardToken на основе GET/POST
запроса было бы идеально, но из документации я не нашел еще правильный метод для этого ...
Я действительно оценит любые предложения ,
Отлично, спасибо очень много для этого :) – Apogee
да. Это здорово, если вы совместимы с PCI и с удовольствием обрабатываете данные кредитной карты, иначе вам придется прибегать к использованию worldpay в iframe или отправить пользователя на сайт worldpay. – Kamalpreet
... скучно ... они еще не реализовали обертку для angular2? (Я не проверял после того, как я реализовал решение, как писал выше) – meorfi