| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- 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/.test(body);
- hasPayment = /<(\w+:)?Payment/.test(body);
- // console.log(hasInquiry);
- // console.log(body);
- if (req.url === '/dummy-asabri' && req.method === 'POST') {
- const xmlInquiryDetailResponse = `<?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>
- <InquiryDetailResponse xmlns="http://tempuri.org/">
- <InquiryDetailResult>
- <action>getDataPP102NonBPLS</action>
- <resp_code>00</resp_code>
- <resp_desc>Berhasil</resp_desc>
- <trx_obj>
- <NO_KTPA>BE141852</NO_KTPA>
- <KODE_BAYAR>BE141852THT21</KODE_BAYAR>
- <KODE_PROG>1</KODE_PROG>
- <F_BYR>1</F_BYR>
- <KODE_MUTASI>70</KODE_MUTASI>
- <KODE_KEJADIAN>2</KODE_KEJADIAN>
- <NO_SP>B/002759-AS/THT/I/2026</NO_SP>
- <TGL_SP>2026-01-08</TGL_SP>
- <KODE_KANCAB>1700</KODE_KANCAB>
- <MITRA_BAYAR>AAW0414</MITRA_BAYAR>
- <NAMA_PESERTA>SUWANTAH</NAMA_PESERTA>
- <NRPNIP>479045</NRPNIP>
- <KD_PANGKAT>1662</KD_PANGKAT>
- <UNOR>1</UNOR>
- <TGL_LAHIR_PESERTA>1943-03-02</TGL_LAHIR_PESERTA>
- <NAMA_PENERIMA>WIKE TIN KEMASAN SARI</NAMA_PENERIMA>
- <JNS_ID_PENERIMA>002</JNS_ID_PENERIMA>
- <NO_ID_PENERIMA>7309015003810002</NO_ID_PENERIMA>
- <NO_REKENING>0007601500167476</NO_REKENING>
- <HUBKEL>3</HUBKEL>
- <ALAMAT>PERUMAHAN SOLINDO IM/5</ALAMAT>
- <RT>006</RT>
- <RW>003</RW>
- <KELURAHAN>BONTOA</KELURAHAN>
- <KECAMATAN>MANDAI</KECAMATAN>
- <KD_KOTA>A0398</KD_KOTA>
- <KD_PROPINSI>A0026</KD_PROPINSI>
- <NO_HP>6282259395559</NO_HP>
- <LIST_MANFAAT>
- <KD_MANFAAT>008</KD_MANFAAT>
- <NOMINAL>4000000</NOMINAL>
- </LIST_MANFAAT>
- <JML_HAK>4000000</JML_HAK>
- <POTONGAN>0</POTONGAN>
- <JML_PENERIMAAN>4000000</JML_PENERIMAAN>
- <GIRO_NO>0</GIRO_NO>
- </trx_obj>
- </InquiryDetailResult>
- </InquiryDetailResponse>
- </SOAP-ENV:Body>
- </SOAP-ENV:Envelope>`;
- const xmlFlaggingDetailResponse = `<?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>
- <FlaggingDetailResponse xmlns="http://tempuri.org/">
- <FlaggingDetailResult>
- <resp_code>00</resp_code>
- <resp_desc>sukses</resp_desc>
- <noBuktiPembayaran>BTNTHT20901202600241154800010</noBuktiPembayaran>
- </FlaggingDetailResult>
- </FlaggingDetailResponse>
- </SOAP-ENV:Body>
- </SOAP-ENV:Envelope>`;
- if(hasInquiry) {
- res.writeHead(200, { 'Content-Type': 'text/xml; charset=ISO-8859-1' });
- res.end(xmlInquiryDetailResponse);
- } else if (hasPayment) {
- res.writeHead(200, { 'Content-Type': 'text/xml; charset=ISO-8859-1' });
- res.end(xmlFlaggingDetailResponse);
- } 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(3046, () => {
- console.log('SOAP dummy running at http://localhost:3046/dummy-asabri');
- });
|