Coder Social home page Coder Social logo

fuson / cyberplat Goto Github PK

View Code? Open in Web Editor NEW

This project forked from antirek/cyberplat

0.0 0.0 1.0 2.29 MB

node module for Cyberplat API

JavaScript 2.43% C++ 13.44% C 13.77% Makefile 0.64% Shell 56.41% Batchfile 0.01% Java 1.48% M4 5.76% Awk 0.19% PHP 5.76% Objective-C 0.02% Python 0.09%

cyberplat's Introduction

Cyberplat

nodejs модуль для проведения платежей через сервис cyberplat.ru

Build Status

Подготовка

Для проведения платежей необходимо осуществлять криптографическую подпись сообщения. Для этого используется libipriv.

Установка

npm install nbind autogypi node-gyp npm run install npm install npm run test npm install cyberplat

Пример использования

var Cyberplat = require('cyberplat');
var moment = require('moment');
var randomstring = require("randomstring");

var cyberplat = new Cyberplat({
    crypto: {
        secretKey: './secret/secret.key',  //path to secret.key
        secretPhrase: ''                   //secret password of secret key
    },
    settings: {
        SD: 17031,
        AP: 17032,
        OP: 17033
    },
    providers: {
        "227": {
            payCheck: 'https://service.cyberplat.ru/cgi-bin/t2/t2_pay_check.cgi',
            pay: 'https://service.cyberplat.ru/cgi-bin/t2/t2_pay.cgi',
            payStatus: 'https://service.cyberplat.ru/cgi-bin/es/es_pay_status.cgi'
        }
    },
    logger: console                  
});

var session = randomstring.generate(20);    //сессия не должна повторяться

var obj = {
    DATE: moment().format("DD.MM.YYYY HH:mm:ss"),
    AMOUNT: "1.00",
    AMOUNT_ALL: "1.00",
    COMMENT: "комментарий",
    NUMBER: "9135292926",
    SESSION: session
};

cyberplat.payCheck("227", obj, function(answer) {
    console.log("payCheck answer:", answer);
    
    if (answer.ERROR == "0" && answer.RESULT == "0") {
        cyberplat.pay("227", obj, function(answer) {
            console.log("pay answer:", answer);

        }
    }
});

Пояснения к примеру

  1. Для проведения платежей необходимо установить настройки модуля.

  2. В настройках есть несколько логических секций: crypto, settings, providers, logger.

  3. В секции crypto указываются необходимые для криптографической подписи параметры: путь к модулю libipriv.so, путь к секретному ключу, секретная фраза. Секретный ключ и секретная фраза получаются в сервисе cyberplat.ru.

  4. В секции settings указываются настройки SD, AP, OP - коды контрагента, точки приема и оператора точки приема. Затем эти параметры используются во всех сообщениях для проведения платежей.

  5. В секции providers указываются адреса для каждого типа запросов к сервису cyberplat.ru.

  6. В секции logger передается объект логгирования (например, console)

  7. Типы запросов к сервису cyberplat.ru:

  • а. payCheck - запрос на получение разрешения на платеж

  • б. pay - запрос на платеж

  • в. payStatus - запрос на получение статуса платежа

  1. Для каждого типа запроса в каждом провайдере в секции providers должен быть соответствующий url. Например:
"227": {
    payCheck: 'https://service.cyberplat.ru/cgi-bin/t2/t2_pay_check.cgi',
    pay: 'https://service.cyberplat.ru/cgi-bin/t2/t2_pay.cgi',
    payStatus: 'https://service.cyberplat.ru/cgi-bin/es/es_pay_status.cgi'
}
  1. Затем при вызове запроса указывается код провайдера, модуль cyberplat берет соответствующий url и согласно порядка, описанному в пункте 3 Руководства по программному взаимодействию с системой "Cyberplat"

Поддержка

Вопросы? Баги?

email [email protected]

cyberplat's People

Contributors

alexobukhoff avatar antirek avatar lumpov avatar

Forkers

versh23

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.