var response = await requestify.post(https://edge.qiwi.com/sinap/api/v2/terms/99/payments, { id: String((new Date()).getTime()), sum: { amount: sum, currency: "643" }, paymentMethod: { type: "Account", accountId: "643" }, fields: { account: wallet }, comment: "Выплата от проекта Tg-Astik" }, { headers: { "Content-type": "application/json", "Accept": "application/json", "Authorization": "Bearer " + config.qiwi } })
response.getBody()
var r = JSON.parse(response.body)
var rand = randomInteger(1, 1000000)
setTimeout(() => {
const file = fs.createWriteStream(chequeFile);
https.get({
hostname: 'edge.qiwi.com',
port: 443,
path: /payment-history/v1/transactions/${r.transaction.id}/cheque/file?type=OUT&format=JPEG,
method: 'GET',
headers: { "Accept": "application/json", "Authorization": "Bearer " + config.qiwi },
localAddress: "178.159.38.110",
}, function (response) {
response.pipe(file);
response.on('end', () => {
sharp(chequeFile)
.extract({ width: 702, height: 932, left: 150, top: 42 }).toFile(chequeCroppedFile)
.then(function () {
bot.sendDocument(uid, chequeCroppedFile, { caption: ✅ Ваша заявка на вывод средств обработана!\n\n💸 <b>${sum}</b> рублей выплачено на кошелёк <b>${wallet}</b>!, parseMode: html });
gm(chequeFile).crop(702, 932, 150, 42).region(147, 40, 344, 293).blur(6, 6).write(chequePublicFile, async function (err) {
await bot.sendMessage("@astik_viplatu", ✅ <a href="tg://user?id=${id}">Пользователю</a> выплачено <b>${sum}₽</b>, { parseMode: html })
fs.unlinkSync(chequeFile)
fs.unlinkSync(chequeCroppedFile)
fs.unlinkSync(chequePublicFile)
})
})
})
})
}, 500)
}
incField(id, "payOut", sum)
Wallet.getBalance(async (err, balance) => { bot.editMessageText({ chatId: uid, messageId: msg.message.message_id, parseMode: html }, <a href="tg://user?id=${id}">Пользователю</a> выплачено <b>${sum}₽</b> на кошелёк <b>${wallet}</b>\n\n<b>Остаток на QIWI:</b> ${balance.accounts[0].balance.amount}₽) }, { replyMarkup: RM_admin, parseMode: html })
await User.findOneAndUpdate({ id: 0 }, { $inc: { ref: sum } })
}
Помогите
с чем?
Там в канал не выдает информацию про выплату
Ты бы лучше код куда-то залил, а то читается не очень🤔
буду честен, твой код -- говно.
Мне без разницы на твои мнения
телега сожрала `. залей код на pastebin.com
Стикер
Посмотрите
const file = fs.createWriteStream(chequeFile);
В терминале говорит что тут
https://gist.github.com/ — добавь в закладки
Зачем ?
И как
Как зачем? Ты думаешь кто-то будет скачивать твой файл, чтобы посмотреть на код?
ты понимаешь, что код на 33 строке будет выполнен в любом случае и не дожидаясь ответа от киви? или этот кусок вообще не относится к делу?
Относится
а зачем там setTimeout?
Хз вот у вас спрашиваю
я разделил твою писанину на функции. дальше нужно пройтись отладчиком или логами и выяснить на каком этапе происходит ошибка. https://pastebin.com/AMgwH9zK будет забавно, если chequeCroppedFile и аналогичные переменные являются глобальными
Сам сможешь ?
нужен доступ на прод сервер. пришли логин с паролем
Это что за прод сервер ?
забей, это шутка была. я сам пройтись отладчиком не могу, потому что ты прислал не полный код, а только отрывок.
Понятно
Обсуждают сегодня