【问题标题】:Creating INVOICE in Telegram bot return's error在 Telegram 机器人返回错误中创建 INVOICE
【发布时间】:2020-07-29 20:51:41
【问题描述】:

我尝试将付款集成到我的电报机器人。 我使用电报库工作。 所以我创建了一张发票

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

如我所见,总金额有问题?但是我该如何解决呢?

【问题讨论】:

  • 尝试“100”,100.00 或其他
  • 已经尝试过——同样的错误

标签: javascript node.js telegram-bot telegraf


【解决方案1】:

我发现了一个错误。以 kopeika 为单位的 API 使用价格(如以美元为单位的美分)。所以我应该输入

{ label: 'Онлайн консультация', amount: 100*100 }//100 kopoeikas*100 = 100 rubles

【讨论】:

    猜你喜欢
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    • 2015-09-11
    • 1970-01-01
    • 2020-01-20
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    相关资源
    最近更新 更多