Как проверить с помощью Paypal API v2 на стороне клиента - PullRequest
0 голосов
/ 27 июня 2019

Мы в настоящее время используем 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 был удален.

...