загрузка контекста PayPal в лайтбоксе и через несколько секунд возврат к классической экспресс-проверке

1

paypal в контексте проверки загрузки в лайтбокс и через несколько секунд вернуться к классическому экспресс-выписку. я прочитал это сообщение paypal in-context checkout возвращается к классическому экспресс-оформлению, но он не помог

<form class="ajaxasync">
<button id="t2" type="submit" class="checkout" class="paypal-button-hidden">
    <img src="https://www.paypalobjects.com/fr_FR/i/btn/btn_xpressCheckout.gif">
</button>

$scope.paypalArray['method'] ="SetExpressCheckout";
$scope.paypalArray['PAYMENTREQUEST_0_AMT']= "1.00";
$scope.paypalArray['PAYMENTREQUEST_0_CURRENCYCODE'] = "USD";
$scope.paypalArray['PAYMENTREQUEST_0_PAYMENTACTION'] = "Sale";
$scope.paypalArray['returnUrl']= "https://devtools-paypal.com/guide/expresscheckout/curl?success=true";
$scope.paypalArray['cancelUrl'] = "https://devtools-paypal.com/guide/expresscheckout/curl?cancel=true";
$scope.paypalArray['version'] = "124.0";
$scope.paypalArray['USER'] = "[email protected]";
$scope.paypalArray['PWD']= "9MKJCKB9JLSDEHD";
$scope.paypalArray['signature'] = "ABObRIVX-x21JGHTHGJJKLyToPvwtHhA90pM0a-gaGJs54hytrf2OzBfd";
$scope.paypalArray['L_PAYMENTREQUEST_0_NAME0'] = "item";
$scope.paypalArray['L_PAYMENTREQUEST_0_AMT0'] = "1.00";
$scope.paypalArray['L_PAYMENTREQUEST_0_QTY0'] = "1";


window.paypalCheckoutReady = function() {
        paypal.checkout.setup("56EJUS986TVWQ", {
            environment: 'sandbox',
            click: function(event) {
                event.preventDefault();
                var url = paypal.checkout.urlPrefix + "EC%2d54U76817C6392042J";
                paypal.checkout.startFlow(url);
            },
            button: ['t2']
        });
    };

первый вызов api, который я делаю, чтобы успешно получить токен. после того, как я положил токен, чтобы открыть окно лайтбоксов PayPal. световая коробка открыта в течение нескольких секунд с пустой страницей, а затем перенаправляется на экспресс-проверку классического дисплея. Я мог бы найти какое-либо решение для этого. Проводная часть состоит в том, что если я скопирую пасту, то пример формы paypal хорошо работает: http://plnkr.co/edit/RifUli3hDIq6kQJI0Ujc?p=preview

заранее спасибо.

ОТВЕТ: моя проблема вызвана тем, что я установил в свой тестовый бизнес-аккаунт регион Израиль.

поддерживаемые страны: проверка In-Context доступна только для Merchant Accounts в Австралии, Австрии, Бельгии, Бразилии (оплата только = продажа), Канада, Китай, Дания, Финляндия, Франция, Германия, Гонконг, Ирландия, Италия, Нидерланды, Норвегии, Польши, Испании, Швеции, Швейцарии, Турции, Соединенного Королевства или Соединенных Штатов

  • 0
    Я просто хочу сказать, что у меня та же проблема. В течение нескольких недель все работало правильно, но проблема началась поздно вечером без каких-либо изменений с моей стороны.
Теги:
paypal
paypal-sandbox

1 ответ

0

Когда вы выполняете асинхронную проверку AJAX, вам нужно добавить следующую строку в начало функции click: function (event):

paypal.checkout.initXO();

EDIT: Фактическая проблема закончилась тем, что ваша учетная запись была основана в Израиле. In-Context checkout в настоящее время недоступна для торговых счетов в Израиле.

  • 0
    Спасибо за комментарий . но это не решает проблему. просто для теста я добавляю токен вручную, как вы можете видеть в коде. Если есть ошибка, всплывающее окно не закрывается или перенаправляется на обычную страницу. это происходит только тогда, когда токен действителен.
  • 0
    Есть ли у вас <script src = "// www.paypalobjects.com/api/checkout.js" async> </ script> после функции window.paypalCheckoutReady?
Показать ещё 17 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню