Как получить подтверждение оплаты у провайдера нестандартных платежей - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь подключить локального платежного провайдера к моему боту nodejs telegram. Я пытаюсь отправить URL параметра подтверждения успешного платежа, например, 'server_url': 'https://api.telegram.org/bot:token/some_method. Но не могу поймать этот обратный вызов внутри моего nodejs. Не могли бы вы помочь мне, какой URL я должен отправить? Как отловить успешный платеж внутри nodejs? Спасибо.

sendRequestLiqpay() {
//        set invoice parameters
        let request = {
            "action"   : "invoice_bot",
            "version"  : "3",
            "email"    : "alexXX@gmail.com",
            "amount"   : this.price,
            "currency" : "UAH",
            "orderId" : this.orderId,
            "phone" : "3806750000",
// Payment provider return result of payment by POST to this URL. How to catch this data?
            'server_url': 'https://api.telegram.org/bot:token/IDoNtnowMethodToCatchPostData'
        }

        let chatId = this.chatId;
        let public_key = 'sandbox_xx';
        let  private_key = 'sandbox_xx';
// init payment prov session
        let liqpay = new LiqPay(public_key, private_key);
// generate provider web form url to payment and send to chat
        liqpay.api("request", request,
         function( json ){
            this.sendPaymentlinkToUser(chatId, json.href); 
            });
    }

1 Ответ

0 голосов
/ 08 июля 2019

Я не понимаю ваш вопрос, но я верю, что приведенный ниже пример кода поможет вам, запросите пакет запроса в вашем приложении Nodejs. Проверьте это Запрос - упрощенный HTTP-клиент :

const EventEmitter = require('events');
const querystring = require('querystring');
const request = require('request');

class BetaSmsMessenger extends EventEmitter{
    constructor(){
        super();
        this.on('SEND_SMS', this.sendSMS);
    }

    sendSMS(data){
        var queryParams = {
            username: 'oyewolxxxxxx@gmail.com',
            password: 'xxxxxx',
            sender: 'xxxxxx',
            mobiles: data.phone,
            message: 'Welcome to xxxxxxx, your activation token is '+data.token
        }

        var baseUrl = "http://auth.betasms.com/api/v1/";
        var query = querystring.stringify(queryParams);
        var url = baseUrl+"?"+query;
        request(url, (error, response, body) => console.log(body));
    }

}

module.exports = BetaSmsMessenger;
...