Selaa lähdekoodia

update : added UTBK to bds billpayment and its initiation kit

Rizalul Fiqri 1 viikko sitten
vanhempi
commit
7c191d7670

+ 3 - 0
btn-middleware/QueueManager/BDSBROKER/queue.mqsc

@@ -50,6 +50,9 @@ DEFINE QLOCAL(BDS_MP_PEMKO_RPG_REPLY) REPLACE
 DEFINE QLOCAL(BDS_BP.WS_INQ_SMMPTN) REPLACE
 DEFINE QLOCAL(BDS_BP.WS_PAY_SMMPTN) REPLACE
 DEFINE QLOCAL(BDS_BP_SMMPTN_RPG_REPLY) REPLACE
+DEFINE QLOCAL(BDS_BP.WS_INQ_UTBK) REPLACE
+DEFINE QLOCAL(BDS_BP.WS_PAY_UTBK) REPLACE
+DEFINE QLOCAL(BDS_BP_UTBK_RPG_REPLY) REPLACE
 DEFINE QREMOTE(BP.WS.PAYMENT.COREFAILEREV.COREREPLY) RNAME(BP.WS.PAYMENT.COREFAILEREV.COREREPLY) RQMNAME(PAYBROKER.QM) XMITQ(PAYBROKER.QM_TRAN)
 DEFINE QREMOTE(BP.WS.PAYMENT.COREREPLY) RNAME(BP.WS.PAYMENT.COREREPLY) RQMNAME(PAYBROKER.QM) XMITQ(PAYBROKER.QM_TRAN)
 DEFINE QREMOTE(BP.WS.PAYMENT.REV.COREREPLY) RNAME(BP.WS.PAYMENT.REV.COREREPLY) RQMNAME(PAYBROKER.QM) XMITQ(PAYBROKER.QM_TRAN)

+ 4 - 1
btn-middleware/QueueManager/PAYBROKER/queue.mqsc

@@ -279,4 +279,7 @@ DEFINE QREMOTE(BDS_BP.PEMKO_ISO_PAY_REPLY) RNAME(BDS_BP.PEMKO_ISO_PAY_REPLY) RQM
 DEFINE QREMOTE(BDS_BP.WS_PAY_PEMKO) RNAME(BDS_BP.WS_PAY_PEMKO) RQMNAME(BDSBROKER.QM) XMITQ(BDSBROKER.QM_TRAN) REPLACE
 
 DEFINE QREMOTE(BDS_BP.WS_INQ_SMMPTN) RNAME(BDS_BP.WS_INQ_SMMPTN) RQMNAME(BDSBROKER.QM) XMITQ(BDSBROKER.QM_TRAN) REPLACE
-DEFINE QREMOTE(BDS_BP.WS_PAY_SMMPTN) RNAME(BDS_BP.WS_PAY_SMMPTN) RQMNAME(BDSBROKER.QM) XMITQ(BDSBROKER.QM_TRAN) REPLACE
+DEFINE QREMOTE(BDS_BP.WS_PAY_SMMPTN) RNAME(BDS_BP.WS_PAY_SMMPTN) RQMNAME(BDSBROKER.QM) XMITQ(BDSBROKER.QM_TRAN) REPLACE
+
+DEFINE QREMOTE(BDS_BP.WS_INQ_UTBK) RNAME(BDS_BP.WS_INQ_UTBK) RQMNAME(BDSBROKER.QM) XMITQ(BDSBROKER.QM_TRAN) REPLACE
+DEFINE QREMOTE(BDS_BP.WS_PAY_UTBK) RNAME(BDS_BP.WS_PAY_UTBK) RQMNAME(BDSBROKER.QM) XMITQ(BDSBROKER.QM_TRAN) REPLACE

BIN
btn-middleware/bar/BDSBROKER/BDS_BILLPAYMENT/BDS_BP_RA-67.bar


+ 74 - 0
btn-middleware/dummy-ws/dummyutbk.js

@@ -0,0 +1,74 @@
+const http = require('http');
+
+const server = http.createServer((req, res) => {
+        let body = '';
+    let hasInquiry = false;
+    let hasPayment = true
+    req.on('data', (chunk) => {
+        body += chunk;
+    });
+    req.on('end', () => {
+        hasInquiry = /<(\w+:)?Inquiry\b/.test(body);
+        hasPayment = /<(\w+:)?Payment\b/.test(body);
+        if (req.url === '/dummy-utbk' && req.method === 'POST') {
+          const xmlInquiryResult = `<?xml version="1.0" encoding="utf-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+    <SOAP-ENV:Body>
+        <InquiryResult xmlns="http://BTN-SNPMB/">
+          <rsp>000</rsp>
+          <rspdesc>Successful</rspdesc>
+          <ref>68</ref>
+          <uuid>5fcc7969-449b-4bde-8dec-502d974eebd7</uuid>
+          <kodeTagihan>01</kodeTagihan>
+          <deskripsiPanjang>Biaya UTBK 2026</deskripsiPanjang>
+          <deskripsiPendek>Biaya UTBK</deskripsiPendek>
+          <nominal>200000</nominal>
+          <noPembayaran>88802336</noPembayaran>
+          <nisn>0086660415</nisn>
+          <nama>ANDINI AZALIA SYAKIRA</nama>
+          <dob>2008-02-29</dob>
+        </InquiryResult>
+    </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>`;
+        const xmlPaymentResult = `<?xml version="1.0" encoding="utf-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+    <SOAP-ENV:Body>
+        <PaymentResult xmlns="http://BTN-SNPMB/">
+          <rsp>000</rsp>
+          <rspdesc>Successful</rspdesc>
+          <ref>68</ref>
+          <uuid>5fcc7969-449b-4bde-8dec-502d974eebd7</uuid>
+          <kodeTagihan>01</kodeTagihan>
+          <deskripsiPanjang>Biaya UTBK 2026</deskripsiPanjang>
+          <deskripsiPendek>Biaya UTBK</deskripsiPendek>
+          <nominal>200000</nominal>
+          <noPembayaran>88802336</noPembayaran>
+          <nisn>0086660415</nisn>
+          <nama>ANDINI AZALIA SYAKIRA</nama>
+          <dob>2008-02-29</dob>
+          <paidAmount>200000</paidAmount>
+          <currency>IDR</currency>
+        </PaymentResult>
+    </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>`;
+          if(hasInquiry) {
+            res.writeHead(200, { 'Content-Type': 'text/xml; charset=ISO-8859-1' });
+            res.end(xmlInquiryResult);
+          } else if (hasPayment) {
+            res.writeHead(200, { 'Content-Type': 'text/xml; charset=ISO-8859-1' });
+            res.end(xmlPaymentResult);
+          } else {
+            res.writeHead(404, { 'Content-Type': 'text/plain' });
+            res.end('Not found');
+          }
+        } else {
+          res.writeHead(404, { 'Content-Type': 'text/plain' });
+          res.end('Not found');
+        }
+    });
+});
+
+server.listen(3071, () => {
+  console.log('SOAP dummy running at http://localhost:3071/dummy-utbk');
+});
+

+ 1 - 0
btn-middleware/init.sh

@@ -16,6 +16,7 @@ cmd "node /home/admmdw/dummyws/dummyPemko4020.js &"
 cmd "node /home/admmdw/dummyws/dummyPemko5464.js &"
 cmd "node /home/admmdw/dummyws/dummyPemko8768.js &"
 cmd "node /home/admmdw/dummyws/dummysmmptn.js &"
+cmd "node /home/admmdw/dummyws/dummyutbk.js &"
 
 export PATH=$PATH:/opt/mqm/bin
 cfg="/home/admmdw/config.yaml"

+ 2 - 0
mwconfig/migration/MWCONFIG_INIT_UTBK.sql

@@ -0,0 +1,2 @@
+INSERT INTO MWCONFIG.CHARGES (ID, C1_VALUE, C1_NAME, C1_SCRIPT, C1_ACCOUNT, C2_VALUE, C2_NAME, C2_SCRIPT, C2_ACCOUNT, C3_VALUE, C3_NAME, C3_SCRIPT, C3_ACCOUNT, C4_VALUE, C4_NAME, C4_SCRIPT, C4_ACCOUNT, C5_VALUE, C5_NAME, C5_SCRIPT, C5_ACCOUNT, MODIFIED_BY, "TIMESTAMP") VALUES('bds SNPMB', 0.00, 'charge', NULL, '0000101300015624', 0.00, 'charge2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'DB2PROD ', '2023-02-24 17:43:04.931151');
+INSERT INTO MWCONFIG.PARAM_MAP ("GROUP", NAME, VALUE, SEQ, MODIFIED_BY, "TIMESTAMP", DESCRIPTION) VALUES('destination.nbds', 'UTBK', 'http://0.0.0.0:3071/dummy-utbk', NULL, 'DB2INST1', '2025-11-12 16:04:27.488608', NULL);