Запустить функцию после callbackUrl от стороннего поставщика - PullRequest
0 голосов
/ 28 апреля 2020

У нас есть приложение, которое требует от пользователя сделать платеж. У нас есть сторонний поставщик, который обрабатывает платежи. На нашем веб-сайте, когда пользователь совершает платеж, он направляется на портал платежей на веб-сайте третьей стороны и после оплаты он перенаправляется обратно на наш веб-сайт после оплаты с помощью callbackurl, а callbackResultParameter является декодером JSON: ex ( swi sh: // payment? data =% 7B% 22 версия% 22: 1,% 22payee% 22:% 7B% 22 значение% 22)

После декодирования и анализа URL я получаю JSON Объект: ex {"результат": "оплачено", "сумма": 50, "сообщение": ”...}

Мы можем проверить, является ли платеж действительным или нет (платный, не оплачен) и тогда я хочу продолжить свои действия. Но я не уверен, как «ждать», пока callbackUrl вызовет мою функцию, кто-то, у кого есть идея?

 async addCredit() {
var creditInput = [this.userCreditForm.get('credit').value]
if(confirm("Lägga till " + creditInput + "kr i saldo?")) {
  this.user = Object.assign({}, this.userCreditForm.value);
console.log(this.user);
var data = [this.userId, this.userCreditForm.get('credit').value]
}
this.addEncodedUrl(); //redirect to third party app and gets a callbackurl as a response after payment 
  var callback = await fetch(callback) // ? this is where I want it to catch up when I get back to the application

  if(callback){
    var newUrl = window.location.href;
       var splice = newUrl.slice(37);
        var decode = decodeURI(splice);
      var newJSON = JSON.parse(decode);
   var result = Object.values(newJSON).includes("paid");
   }
 if(result == true){ 
 this.store$.dispatch(new fromUser.UpdateCredit(data));
this.alertify.success("string!");
 }
}
...