webmoney Отправка запроса с сертификатами в Nodejs

136
03 ноября 2019, 04:20

Помогите разобраться с апихой Webmoney

пытаюсь сделать запрос на получение баланса кошелька для Ligth версии

wiki.webmoney.ru/projects/webmoney/wiki/Интерфейс_X9

пока из разных кусков готовых скриптов собрал такого франкенштейна

var sert = { 
    key: fs.readFileSync('./key.pem'), 
    crt: fs.readFileSync('./crt.pem')
};

let options = {
  method: 'POST',
  url: "https://w3s.wmtransfer.com/asp/XMLPursesCert.asp",
  body: buildXML(),
  agentOptions: {
    key: sert.key,
    crt: sert.crt
  }
}
request(options, function(error, resp, body) {
  console.log(error)
  console.log(body)
});

function buildXML(){
        const reqn = Date.now();
        return `<w3s.request>
        <reqn>${reqn}</reqn>
        <getpurses><wmid>7XXXmywmidXXXXX</wmid></getpurses>
      </w3s.request>`;
}

ошибку получаю следующую

{ Error: self signed certificate in certificate chain at TLSSocket.onConnectSecure (_tls_wrap.js:1181:34) at TLSSocket.emit (events.js:197:13) at TLSSocket._finishInit (_tls_wrap.js:672:8) code: 'SELF_SIGNED_CERT_IN_CHAIN' }

к сожалению, нет готовых решений для Javascript есть php

 class WMLightAuthInterface(AuthInterface):
    def __init__(self, pub_cert, priv_key=None):
        if not os.path.exists(pub_cert):
            raise ValueError("Incorrect path to pub certificate")
        if priv_key and not os.path.exists(priv_key):
            raise ValueError("Incorrect path to private key")
        self.cert = os.path.abspath(
            pub_cert) if priv_key is None else (os.path.abspath(pub_cert),
                                                os.path.abspath(priv_key))
    def wrap_request(self, request_params):
        request_params.update({"cert": self.cert})
        return request_params
    def get_url_by_name(self, name):
        if name == "FindWMPurseNew":
            return "https://w3s.wmtransfer.com/asp/XMLFindWMPurseCertNew.asp"
        return "https://w3s.wmtransfer.com/asp/XML{}Cert.asp".format(name)

но я как то в php вообще не силен

READ ALSO
Изменить метод в зависимости от cookies

Изменить метод в зависимости от cookies

Необходимо, чтобы метод возвращал { device_id: device_id } если в cookies есть строка device_idПодскажите, пожалуйста, как это лучше реализовать в данном случае?

137
Как сделать чтобы прокрутка мыши не действовала на определенном article?

Как сделать чтобы прокрутка мыши не действовала на определенном article?

кому-то вечера или ночи, все вам ребята! Я постараюсь объяснить, чтобы вы меня понялиИтак в качестве образца я залил на тестовый домен html сайт

123