电报我需要验证条纹付款后点击按钮

  • 本文关键字:付款 按钮 验证 telegram
  • 更新时间 :
  • 英文 :


你好,stackoverflow,所以对于电报,我有一个带按钮的简单消息。点击按钮后,它会把我带到我的条纹网址。我想知道如何在用户付款后处理成功/未全额付款。这是我到目前为止的代码

require("dotenv").config();
const express = require("express");
var cors = require('cors')
const axios = require("axios");
const bodyParser = require("body-parser");
const invoiceDescription = require('./constants');
const { TOKEN, SERVER_URL, BOTTOKEN } = process.env;
const TELEGRAM_API = `https://api.telegram.org/bot${TOKEN}`;
const URI = `/webhook/${TOKEN}`;
const WEBHOOK_URL = SERVER_URL + URI;
const app = express();
app.use(cors());
app.use(bodyParser.json());
const init = async () => {
const res = await axios.get(`${TELEGRAM_API}/setWebhook?url=${WEBHOOK_URL}`);
console.log(res.data);
};
app.get("/payment", async (req, res) => {
alert("Hello world");
})
app.post(URI, async (req, res) => {
console.log(req.body)
let text = "", chatId = "", userObjectForTable = {}; 
if(req.body.message?.chat?.id && req.body.message?.text && req.body.message?.text === "Start"){
chatId = req.body.message.chat.id;
text = invoiceDescription;
const message = await axios.post(`${TELEGRAM_API}/sendMessage`, {
chat_id: chatId,
text: text,
reply_markup: {
inline_keyboard: [[{
text: 'Pay $65.00',
web_app: {url: 'https://buy.stripe.com/test_14kbKj3Gd0AGeRi' }
}]]
}
});
console.log("test message is", message)
}
return res.send();
});
app.listen(process.env.PORT || 5050, async () => {
console.log("🚀 app running on port", process.env.PORT || 5050);
await init();
});

您必须监听更新message.successful_payment,当它到达时,意味着付款已成功进行

来源:https://core.telegram.org/bots/payments#8-结账

最新更新