У нас есть приложение, которое требует от пользователя сделать платеж. У нас есть сторонний поставщик, который обрабатывает платежи. На нашем веб-сайте, когда пользователь совершает платеж, он направляется на портал платежей на веб-сайте третьей стороны и после оплаты он перенаправляется обратно на наш веб-сайт после оплаты с помощью 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!");
}
}