在电报漫游器返回中创建INVOICE的错误

时间:2020-04-16 14:49:56

标签: javascript node.js telegram-bot telegraf

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

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

我看到我对总额有疑问吗?但是我该如何解决?

1 个答案:

答案 0 :(得分:1)

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

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