From 71483e39fadf90cb3b56f37a7795e49a0943b152 Mon Sep 17 00:00:00 2001 From: Herrie Date: Fri, 29 Nov 2019 14:30:32 +0100 Subject: [PATCH] Add XG1 order type and example XG1 order type is used for ISO XML 20022 CGI (Common Global Implementation) which should be a unified format that works within a country (irrespective of bank). Signed-off-by: Herman van Hazendonk --- examples/send-xg1-order.js | 30 ++++++++++++++++++++++++++++++ lib/predefinedOrders/XG1.js | 8 ++++++++ lib/predefinedOrders/index.js | 2 ++ 3 files changed, 40 insertions(+) create mode 100644 examples/send-xg1-order.js create mode 100644 lib/predefinedOrders/XG1.js diff --git a/examples/send-xg1-order.js b/examples/send-xg1-order.js new file mode 100644 index 0000000..bdac07e --- /dev/null +++ b/examples/send-xg1-order.js @@ -0,0 +1,30 @@ +#! /usr/bin/env node + +'use strict'; + +const ebics = require('../index'); +const fs = require('fs'); + +const client = new ebics.Client({ + url: 'https://ebics.server', + partnerId: '', + userId: '', + hostId: '', + passphrase: 'test', // keys-test will be decrypted with this passphrase + keyStorage: ebics.fsKeysStorage('./keys-test'), +}); + +// The bank keys must have been already saved +const paymentFile = fs.readFileSync('mytestfile.xml').toString(); + +client.send(ebics.Orders.XG1(paymentFile)) + .then((resp) => { + console.log('Response for XG1 order %j', resp); + + const data = Buffer.from(resp.orderData); + console.log(data.toString('utf8')); + }) + .catch((err) => { + console.error(err); + process.exit(1); + }); diff --git a/lib/predefinedOrders/XG1.js b/lib/predefinedOrders/XG1.js new file mode 100644 index 0000000..d9764f8 --- /dev/null +++ b/lib/predefinedOrders/XG1.js @@ -0,0 +1,8 @@ +'use strict'; + +module.exports = document => ({ + version: 'h004', + orderDetails: { OrderType: 'XG1', OrderAttribute: 'OZHNN', StandardOrderParams: {} }, + operation: 'upload', + document, +}); diff --git a/lib/predefinedOrders/index.js b/lib/predefinedOrders/index.js index 52e9455..e32c57a 100644 --- a/lib/predefinedOrders/index.js +++ b/lib/predefinedOrders/index.js @@ -13,6 +13,7 @@ const CCT = require('./CCT'); const CCS = require('./CCS'); const XE3 = require('./XE3'); const XCT = require('./XCT'); +const XG1 = require('./XG1'); const STA = require('./STA'); const VMK = require('./VMK'); @@ -42,6 +43,7 @@ module.exports = { CCS, XE3, XCT, + XG1, STA, VMK,