Telegramm Bot Zahlung - Zahlungen 2.0 - Sberbank + Telegraf + Node.js.

Zahlungen 2.0 - Der Telegramm-Messenger kann jetzt Zahlungen in jedem Chat akzeptieren, einschließlich Gruppen und Kanälen. Sie können Ihr Geschäft ohne Vereinbarung mit Telegram selbst mit der Plattform verbinden.









In diesem Tutorial erstellen wir mit Node.js einen einfachen Bot im Telegraf.js- Framework , der Geld von einem Kunden annehmen und über die Sberbank auf Ihr Konto senden kann.







Zahlungen 2.0







Zahlungen 2.0



Telegram 2017 . , .







8- , .







200 :







Zahlungen 2.0







Telegram . , . Telegram, .







– Telegram . , , .







Telegram



Telegram @BotFather. /newbot



, , , . , Telegram



sber_pay_test_bot



.







Newbot







, , BotFather — «» .







! .







Node.js



. .







:







mkdir sber_pay_test_bot && cd sber_pay_test_bot
      
      





:







npm init 
      
      





package.json



, , , , . enter









index.js



.







touch index.js    
      
      





Telegraf.js



C telegraf.js — .







npm install telegraf@3.38 
      
      





dotenv



— , .env



process.env.



, nodemon



— , node.js node



.







npm install dotenv nodemon
      
      





package.json









"scripts": {
    "start": "nodemon index"
}
      
      





telegraf.js, .







const { Telegraf } = require('telegraf')
require('dotenv').config()

const bot = new Telegraf(process.env.BOT_TOKEN) //  ,   botFather

bot.start((ctx) => ctx.reply('Welcome')) //    /start
bot.help((ctx) => ctx.reply('Send me a sticker')) //    /help
bot.on('sticker', (ctx) => ctx.reply('')) //bot.on     ,      ,       
bot.hears('hi', (ctx) => ctx.reply('Hey there')) // bot.hears    ,    - "hi"
bot.launch() //  
      
      





.env



BOT_TOKEN



, @BotFather







BOT_TOKEN=''
      
      











npm run start
      
      











Bot überprüfen







PROVIDER_TOKEN @SberbankPaymentBot



PROVIDER_TOKEN



merchantLogin



. -.







@BotFather /mybots



, .







Payments









Zahlungen













Zahlungen







Connect Live









Zahlungen







@SberbankPaymentBot



, merchantLogin



, -api



-operator



. : P71XXXXXXX21



.







SberbankPaymentBot







@BotFather , PROVIDER_TOKEN



.env









PROVIDER_TOKEN='41018XXXX:LIVE:XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
      
      





SberbankPaymentBot









index.js



:







const { Telegraf } = require('telegraf')
require('dotenv').config()

const bot = new Telegraf(process.env.BOT_TOKEN) //  ,   botFather

const getInvoice = (id) => {
  const invoice = {
    chat_id: id, //         
    provider_token: process.env.PROVIDER_TOKEN, //     @SberbankPaymentBot 
    start_parameter: 'get_access', //   .    ,        «»,         ,      .   ,        URL      (  )  ,     .
    title: 'InvoiceTitle', //  , 1-32 
    description: 'InvoiceDescription', //  , 1-255 
    currency: 'RUB', //    ISO 4217
    prices: [{ label: 'Invoice Title', amount: 100 * 100 }], //  ,      JSON 100  * 100 = 100 
    photo_url: 'https://s3.eu-central-1.wasabisys.com/ghashtag/JavaScriptBot/Unlock.png', // URL    -.         .   ,   ,   .
    photo_width: 500, //  
    photo_height: 281, //  
    payload: { //   -,  , 1–128 .     ,      .
      unique_id: `${id}_${Number(new Date())}`,
      provider_token: process.env.PROVIDER_TOKEN 
    }
  }

  return invoice
}

bot.use(Telegraf.log())

bot.hears('pay', (ctx) => { . //    ,    - "pay"
  return ctx.replyWithInvoice(getInvoice(ctx.from.id)) //   replyWithInvoice     
})

bot.on('pre_checkout_query', (ctx) => ctx.answerPreCheckoutQuery(true)) //      

bot.on('successful_payment', async (ctx, next) => { //     
  await ctx.reply('SuccessfulPayment')
})

bot.launch()
      
      





Telegraf replyWithInvoice telegram.sendInvoice.







. .







yarn start



.







pay



.







JavaScript Bot — JavaScript, React Native, TypeScript.







:







Rechnung







rechnungsdetail







Englishmoji







rechnungsdetail







?



Telegraf







.







JavaScript Camp








All Articles