dummyPemko4020.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. const http = require('http');
  2. const server = http.createServer((req, res) => {
  3. let body = '';
  4. let hasInquiry = false;
  5. let hasPayment = true
  6. req.on('data', (chunk) => {
  7. body += chunk;
  8. });
  9. req.on('end', () => {
  10. hasInquiry = /<(\w+:)?Inquiry\b/.test(body);
  11. hasPayment = /<(\w+:)?Payment\b/.test(body);
  12. if (req.url === '/dummy-pemko-inquiry-4020' && req.method === 'POST') {
  13. 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">
  14. <SOAP-ENV:Body>
  15. <InquiryResponse xmlns="http://BTN-PAJAK-BENGKULU/">
  16. <ref>11</ref>
  17. <rsp>000</rsp>
  18. <rspdesc>Request Data Berhasil</rspdesc>
  19. <kode_pajak>1</kode_pajak>
  20. <no_bayar>177106100800300540</no_bayar>
  21. <tahun>2024</tahun>
  22. <no_pelaporan>0</no_pelaporan>
  23. <nop>177106100800300540</nop>
  24. <npwpd>0</npwpd>
  25. <npwrd>0</npwrd>
  26. <no_spt>0</no_spt>
  27. <nama_wp>RALIN MS GUMAY</nama_wp>
  28. <alamat_wp>JL MERAWAN</alamat_wp>
  29. <nama_op>0</nama_op>
  30. <alamat_op>JL MERAWAN</alamat_op>
  31. <kelurahan_op>SAWAH LEBAR BARU</kelurahan_op>
  32. <kecamatan_op>RATU AGUNG</kecamatan_op>
  33. <masa_pajak>0</masa_pajak>
  34. <jenis_pajak>PBB</jenis_pajak>
  35. <luas_bumi>229</luas_bumi>
  36. <luas_bangunan>162</luas_bangunan>
  37. <masa_retribusi>0</masa_retribusi>
  38. <jenis_retribusi>0</jenis_retribusi>
  39. <tempo>2024-12-31</tempo>
  40. <pokok>484416</pokok>
  41. <denda>0</denda>
  42. <total>484416</total>
  43. </InquiryResponse>
  44. </SOAP-ENV:Body>
  45. </SOAP-ENV:Envelope>`;
  46. 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">
  47. <SOAP-ENV:Body>
  48. <PaymentResponse xmlns="http://BTN-PAJAK-BENGKULU/">
  49. <ref>12</ref>
  50. <rsp>000</rsp>
  51. <rspdesc>Pembayaran Data Berhasil</rspdesc>
  52. <kode_pajak>1</kode_pajak>
  53. <no_bayar>177106100800300540</no_bayar>
  54. <tahun>2024</tahun>
  55. <no_pelaporan>0</no_pelaporan>
  56. <nop>177106100800300540</nop>
  57. <npwpd>0</npwpd>
  58. <npwrd>0</npwrd>
  59. <no_spt>0</no_spt>
  60. <nama_wp>RALIN MS GUMAY</nama_wp>
  61. <alamat_wp>JL MERAWAN</alamat_wp>
  62. <nama_op>0</nama_op>
  63. <alamat_op>JL MERAWAN</alamat_op>
  64. <kelurahan_op>SAWAH LEBAR BARU</kelurahan_op>
  65. <kecamatan_op>RATU AGUNG</kecamatan_op>
  66. <masa_pajak>0</masa_pajak>
  67. <jenis_pajak>PBB</jenis_pajak>
  68. <luas_bumi>229</luas_bumi>
  69. <luas_bangunan>162</luas_bangunan>
  70. <masa_retribusi>0</masa_retribusi>
  71. <jenis_retribusi>0</jenis_retribusi>
  72. <tempo>2024-12-31</tempo>
  73. <pokok>484416</pokok>
  74. <denda>0</denda>
  75. <total>484416</total>
  76. </PaymentResponse>
  77. </SOAP-ENV:Body>
  78. </SOAP-ENV:Envelope>`;
  79. if(hasInquiry) {
  80. res.writeHead(200, { 'Content-Type': 'text/xml; charset=ISO-8859-1' });
  81. res.end(xmlInquiryResponse);
  82. } else if (hasPayment) {
  83. res.writeHead(200, { 'Content-Type': 'text/xml; charset=ISO-8859-1' });
  84. res.end(xmlPaymentResponse);
  85. } else {
  86. res.writeHead(404, { 'Content-Type': 'text/plain' });
  87. res.end('Not found');
  88. }
  89. } else {
  90. res.writeHead(404, { 'Content-Type': 'text/plain' });
  91. res.end('Not found');
  92. }
  93. });
  94. });
  95. server.listen(3001, () => {
  96. console.log('SOAP dummy running at http://localhost:3001/dummy-pemko-inquiry-4020');
  97. });