Мы в настоящее время используем checkout.js из PayPal при выполнении платежей, все работает хорошо, и теперь мы хотим перейти на v2 PayPal API.
ниже приведен наш код с использованием checkout.js
https://jsfiddle.net/hxm0cjbp/
paypal.Button.render({
style: {
// style here
},
env: variable_here,
client: {
sandbox: variable_here,
production: variable_here
},
commit: true,
validate: function (actions) {
// problem occur from here in v2
// by using actions.disable();
functionToDisableButtonIfValidationFail();
},
onClick: function () {
// more functions here
},
payment: function (data, actions) {
// more functions here
},
onAuthorize: function (data, actions) {
// more functions here
}
}, '#selector_here');
ниже наш новый код, использующий v2.
https://jsfiddle.net/sk3rpme5/
paypal.Buttons({
validate: function(){
// problem occur from here
// actions.disable() is not recognize anymore
functionToDisableButtonIfValidationFail();
},
createOrder: function() {
// function here
}
}).render('#selector_here');
ошибка начинается с метода validate.
При использовании v1, при нажатии кнопки PayPal. Если проверка не пройдена, будут показаны ошибки формы. В v2 при нажатии на кнопку PayPal. Страница перенаправления PayPal по-прежнему отображается и ошибки формы тоже. Мы хотели бы решить это как v1, показать только страницу PayPal, если проверка правильна. При проверке SDK похоже, что validate
был удален.