javascript - 在 Telegram 机器人返回错误中创建 INVOICE
问题描述
我尝试将付款集成到我的电报机器人中。我使用电报库工作。所以我创建了一张发票
const invoice = {
provider_token: payment_tocken,
start_parameter: 'online_conslutation',
title: 'Онлайн консультация Айболит',
description: 'Проведение Онлайн консультации с врачем. Стоимость 1000 рублей. Длительность 1час',
currency: 'RUB',
photo_url: 'https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcThWVMksAXRtRQJn3oHFWyz9FMusRty4pQX5Iobe8OfMEJmRzpD&usqp=CAU',
need_shipping_address: false,
is_flexible: true,
prices: [
{ label: 'Онлайн консультация', amount: 100 }
],
payload: {}
};
我在这里发送它
const stepHandlerBuy = new Composer()
stepHandlerBuy.action('buy', (ctx) => {
ctx.replyWithInvoice(invoice);
return ctx.wizard.next();
})
但它总是返回我的错误
(node:24476) UnhandledPromiseRejectionWarning: Error: 400: Bad Request:
CURRENCY_TOTAL_AMOUNT_INVALID
at /Users/nabiullinanton/Documents/UnitBean/NodeJSProjects/VetClinicTelegramFront/node_modules/telegraf/core/network/client.js:281:17
正如我所见,我的总金额有问题?但我该如何解决呢?
解决方案
我发现了一个错误。以 kopeika 为单位的 API 使用价格(如以美元为单位的美分)。所以我应该输入
{ label: 'Онлайн консультация', amount: 100*100 }//100 kopoeikas*100 = 100 rubles
推荐阅读
- java - 验证 ECPoint 在给定 xy 坐标和曲线名称的 EllipticCurve 对象上是否有效
- amazon-web-services - Amazon EventBridge 架构注册表与 AWS Glue 架构注册表
- visual-studio-code - 几乎看不到 vscode 编辑器选项卡
- c++ - 身份功能:模板和自动之间的区别
- html - 如何将 html 风格标签应用于条件语句?
- scala - Circe 在 Scala Play 中解码“AnyContentAsJson”类型
- html - 带有引导程序和个性化模板的 asp.net 母版页站点 - 侧边菜单未按预期用于便携式设备
- node.js - 使用映射函数来渲染按钮以及每个按钮如何在 React js 中独立工作
- unity3d - 调整圆柱变换以匹配 2 个给定点
- kubernetes - 我只能通过 kubespray 初始化 kubernetes 集群吗?