2016-07-25 3 views
2

У кого-нибудь был успех интеграции API PayPal Express Checkout в веб-приложение AngularJS? Я попытался приспособить "in-context" integration steps к моему угловому сайту; однако он работает только один раз.Paypal Express Checkout с AngularJS

Мой сценарий заключается в следующем:

  • У меня есть кнопка PAYPAL на странице
  • Нажатие кнопки PayPal вызывает paypal.checkout.initXO(), а затем делает серверный вызов для создания экспресс-проверку маркера
  • Когда звонок возвращается, я передаю токен в paypal.checkout.startFlow(tokenFromServer)
  • API PayPal создает всплывающее окно и собирает мою учетную запись в PayPal
  • Браузер g ets перешел на мою страницу подтверждения, основываясь на том, что я настроил на стороне сервера, когда я сгенерировал токен экспресс-проверки.

Как я сказал выше, это работает нормально один раз; API PayPal переводит браузер на мою страницу подтверждения так, как я ожидаю. Однако последующие попытки использования экспресс-проверки API не перемещаются по браузеру после завершения всплывающего окна PayPal. Обновление браузера позволяет мне снова использовать экспресс-чек, один раз.

Я не вижу ошибок в консоли Javascript.

+2

Downvoters: any comments? – FMM

+0

Вероятно, вы должны показать немного больше своего кода. – sventechie

ответ

0

В то же время я добавил это в ui.router состояние, которое является начальной точкой моего «покупки» рабочий процесс:

.state("example.buy.the.thing", { 
    url: "/buy", 
    templateUrl: "path/to/my/template.html", 
    controller: ["$window", ($window) => { 
     if ($window.needsPaypalRefresh) { 
      $window.location.reload(); 
     } 
     $window.needsPaypalRefresh = true; 
    }] 
}) 

Он обновляет страницу при последующих посещениях этого состояния, восстанавливающего PayPal API. Оно работает. Это уродливо, но оно работает.

Смежные вопросы