Как преобразовать двоичный файл в байт для iso8583?

Я пытаюсь понять iso8583 и как отправить его нашему платежному провайдеру. Я вижу, что первая часть структуры сообщения — это идентификатор типа сообщения. Я использовал 0100 для авторизации, что кажется правильным. Однако также кажется, что я не отправляю его в правильном формате. Я просто отправил двоичное представление, то есть я отправил, а затем остальную часть сообщения. Нужно ли мне конвертировать 0100 в байты перед отправкой? Я использую node.js. Любая помощь приветствуется, так как это очень сложная тема.


person user8408326    schedule 09.08.2017    source источник


Ответы (2)


Вы должны использовать формат ascii. В вашем случае вы должны отправить авторизацию, используя 4 байта 0100 ascii, представление в шестнадцатеричном виде: 0x30 0x31 0x30 0x30

person Panagiotis Giannakis    schedule 09.08.2017
comment
Спасибо. Нужно ли мне конвертировать двоичный код (0100) в ascii? - person user8408326; 09.08.2017
comment
если вы рассматриваете MTI, то это не двоичное значение, это литерал 0100 для запроса авторизации и 0110 для ответа. одно и то же поле может содержать такие значения, как 0200 или 0430, не путайте 0 и 1 - person A.Rashad; 26.08.2017
comment
Я все еще в замешательстве. Извини за это. Скажем, у меня есть 0100, что именно мне отправить сюда? Есть ли онлайн-конвертер, который может мне помочь? Спасибо. - person user8408326; 29.08.2017

Панайотис говорил, что MTI (и остальную часть сообщения) необходимо преобразовать из ASCII в шестнадцатеричный формат. Что-то вроде этого сделает это:

    let message = "0100..."
    let msgArr = message.split( "" )
    let convertedMessage = ""
    for ( let index in msgArr )
    {
        convertedMessage += String.fromCharCode( msgArr[ index ]).toString( 16 )
    }
    // use convertedMessage to send your request
person Charles Campbell    schedule 15.08.2019