| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- 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-pemko-4002' && req.method === 'POST') {
- const xmlInquiryResponse = `<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>
- <InquiryResponse xmlns="http://BTN-PEMKO-TANJUNGPINANG/">
- <rsp>000</rsp>
- <resdesc>Success</resdesc>
- <ref>ESB544600779</ref>
- <sysReferenceNo>APIM20251229185135</sysReferenceNo>
- <dataRes>
- <jenisPajak>1</jenisPajak>
- <nop>21.74.020.004.014-0912.0</nop>
- <tahun>2025</tahun>
- <dataWajibPajak>
- <namaWP>HERI KUNCORO</namaWP>
- <provinsiWP></provinsiWP>
- <kotaWP></kotaWP>
- <kecamatanWP></kecamatanWP>
- <kelurahanWP></kelurahanWP>
- <RTRWWP></RTRWWP>
- <alamatWP>JL KAMPUNG SRIMULYO GG KELINCI NO 19</alamatWP>
- </dataWajibPajak>
- <dataTagihan>
- <jumlahTagihan>85537</jumlahTagihan>
- <pokok>83046</pokok>
- <denda>2491</denda>
- <biayaAdmin>0</biayaAdmin>
- <diskon>0</diskon>
- </dataTagihan>
- <additionalInfo>
- <kodeKp>0</kodeKp>
- <kodeRek>0</kodeRek>
- <idTransaksi>0</idTransaksi>
- <masa>0</masa>
- <noSk>0</noSk>
- <jatuhTempo>2025-09-30T00:00:00Z</jatuhTempo>
- </additionalInfo>
- </dataRes>
- </InquiryResponse>
- </SOAP-ENV:Body>
- </SOAP-ENV:Envelope>`;
- const xmlPaymentResponse = `<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>
- <PaymentResponse xmlns="http://BTN-PEMKO-TANJUNGPINANG/">
- <rsp>000</rsp>
- <resdesc>Success</resdesc>
- <ref>ESB544600779</ref>
- <sysReferenceNo>APIM20251229185135</sysReferenceNo>
- <dataRes>
- <jenisPajak>1</jenisPajak>
- <nop>21.74.020.004.014-0912.0</nop>
- <tahun>2025</tahun>
- <dataWajibPajak>
- <namaWP>HERI KUNCORO</namaWP>
- <provinsiWP></provinsiWP>
- <kotaWP></kotaWP>
- <kecamatanWP></kecamatanWP>
- <kelurahanWP></kelurahanWP>
- <RTRWWP></RTRWWP>
- <alamatWP>JL KAMPUNG SRIMULYO GG KELINCI NO 19</alamatWP>
- </dataWajibPajak>
- <dataTagihan>
- <jumlahTagihan>85537</jumlahTagihan>
- <pokok>83046</pokok>
- <denda>2491</denda>
- <biayaAdmin>0</biayaAdmin>
- <diskon>0</diskon>
- </dataTagihan>
- <additionalInfo>
- <kodeKp>0</kodeKp>
- <kodeRek>0</kodeRek>
- <idTransaksi>0</idTransaksi>
- <masa>0</masa>
- <noSk>0</noSk>
- <jatuhTempo>2025-09-30T00:00:00Z</jatuhTempo>
- </additionalInfo>
- </dataRes>
- </PaymentResponse>
- </SOAP-ENV:Body>
- </SOAP-ENV:Envelope>`;
- if(hasInquiry) {
- res.writeHead(200, { 'Content-Type': 'text/xml; charset=ISO-8859-1' });
- res.end(xmlInquiryResponse);
- } else if (hasPayment) {
- res.writeHead(200, { 'Content-Type': 'text/xml; charset=ISO-8859-1' });
- res.end(xmlPaymentResponse);
- } 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(3002, () => {
- console.log('SOAP dummy running at http://localhost:3002/dummy-pemko-4002');
- });
|