advice.js 1.45 KB
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';

var xmlrpc = require('xmlrpc');
var url = require('url');

function topupInquiry(partner_url, requestId, msisdn, pin, destination) {
    var parsedUrl = url.parse(partner_url);
    
    var clientOptions = {
        url: partner_url
    };
    
    var client;
    if (parsedUrl.protocol == 'https:') {
        client = xmlrpc.createSecureClient(clientOptions);
    } else {
        client = xmlrpc.createClient(clientOptions);
    }
    
    var params = {
        MSISDN: msisdn,
        REQUESTID: requestId,
        PIN: pin,
        NOHP: destination,
    };
    
    console.log('Calling topUpInquiry method', params);
    client.methodCall('topUpInquiry', [ params ], function (error, value) {
        if (error) {
            console.log('Error', error);
            return;
        }
        console.log(value);
    });
    
}

var fs = require('fs');
var ini = require('ini');
var config = ini.parse(fs.readFileSync(__dirname + '/config.ini', 'utf-8'));

var argv = require('minimist')(process.argv.slice(2), {string: ['requestid', 'destination']});

if (!argv.destination || argv.destination === true) {
    console.log('Missing "destination" parameter');
    process.exit(1);
}

if (!argv.requestid || argv.requestid === true) {
    console.log('Missing "requestid" parameter');
    process.exit(1);
}

topupInquiry(config.h2h_out.partner, argv.requestid, config.h2h_out.userid, config.h2h_out.password, argv.destination);