@defany

Почему не отправляет валюту человеку после оплаты на киви?

Я написал код для создания ссылки на оплату и отправки этой ссылки пользователю, ссылка отправляется , и все работает без перебоев, но после оплаты человеку не отправляется валюта. Подскажите как исправить данную проблему?

vk.updates.hear(/^Купить/i , async (context) => {
    const lifetime = qiwiApi.getLifetimeByDay(1);
    const billId = qiwiApi.generateId();
    const balance = await myBalance() / 1000
    let qiwi_num = await context.question(`Введите кол-во рублей для покупки. \nНа данный момент доступно [ ${balance} ] коинов для покупки`)
    let qiwi_num_check = Number(qiwi_num.text)
    if (!qiwi_num_check || qiwi_num_check <= 0 || balance <= 0 || balance < qiwi_num_check) {
        context.send(
            'Ошибка при покупке',
            {
                keyboard: mainMenu,
            }
        )
        return
    }

    const fields = {
        amount: qiwi_num_check,
        currency: 'RUB',
        comment: context.senderId,
        expirationDateTime: lifetime,
    };

    qiwiApi.createBill( billId, fields ).then( data => {
        vk.api.call("utils.getShortLink", {url: `${data.payUrl}`}).then(function (res){
            context.send(res.short_url);
        })
    })

    
    context.send(`✅⚡ Вы получите [ ${utils.sp(Math.floor(qiwi_num_check) * botMoney.course)} ] коинов \n✍ После оплаты напишите "Оплачено".`)
    let pay = qiwi_num_check * botMoney.course
    if (context.message.send == 'Оплачено') {
        await qiwiApi.getBillInfo(billId).then( data => {
            if (data.status.value == 'PAID' && data.comment == context.senderId){
                payment(context.senderId , pay)
                context.send('Спасибо за оплату')
                return      
            } else {
                context.send('Вы не оплатили счет')
            }
        })
    }
})


P.S Функция 'payment' используется для отправки валюты и она работает нормально, проверял работоспособность.
  • Вопрос задан
  • 87 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы