Implement parsing for BRI QRIS transactions, including direct and forwarded message handling. Update rules to recognize QRIS success messages and adjust spending record mapping accordingly. Enhance tests to cover new functionality.
308 lines
6.1 KiB
JavaScript
308 lines
6.1 KiB
JavaScript
export const livinDirectBody = `Livin' by Mandiri
|
|
|
|
Pembayaran Berhasil
|
|
Halo NASYAROBBY NUGRAHA PUTRA,
|
|
|
|
Berikut adalah detail transaksi Anda dengan QR:
|
|
|
|
Penerima
|
|
|
|
SNACK BAROKAHJAKARTA BARAT - ID
|
|
|
|
Tanggal13 Sep 2026
|
|
|
|
|
|
Jam14:48:31 WIB
|
|
|
|
|
|
Nominal TransaksiRp 14.000,00
|
|
|
|
|
|
No. Referensi2609131121540314991
|
|
|
|
|
|
No. Ref. QRIS609532729372
|
|
|
|
|
|
Merchant PAN9360091436372513569
|
|
|
|
|
|
Customer PAN9360000822021345851
|
|
|
|
|
|
PengakuisisiGoPay
|
|
|
|
|
|
Terminal ID A01
|
|
|
|
Sumber Dana
|
|
|
|
Kartu Kredit - Mandiri Platinum ****4585
|
|
|
|
Simpan email ini sebagai ref`;
|
|
|
|
export const livinForwardedBody = `---------- Forwarded message ---------
|
|
From: Livin' <noreply.livin@bankmandiri.co.id>
|
|
Date: Sun, Sep 13, 2026 at 10:44 AM
|
|
Subject: Pembayaran Berhasil!
|
|
To: <nasyarobby@gmail.com>
|
|
|
|
|
|
[image: livinbymandiri]
|
|
Pembayaran Berhasil
|
|
|
|
Halo NASYAROBBY NUGRAHA PUTRA,
|
|
|
|
Berikut adalah detail transaksi Anda dengan QR:
|
|
|
|
Penerima
|
|
Eleven Chicken Cabang Gah
|
|
|
|
JAKARTA SELATAN - ID
|
|
|
|
Tanggal 13 Sep 2026
|
|
|
|
|
|
Jam 10:43:51 WIB
|
|
|
|
|
|
Nominal Transaksi Rp 22.000,00
|
|
|
|
|
|
No. Referensi 2609131121539559589`;
|
|
|
|
export const grabBody = `Bike Hemat
|
|
[image: Grab]
|
|
|
|
Hope you enjoyed your ride!
|
|
Picked up on 13 September 2026
|
|
Booking ID: A-9RXV4K2GWCLOAV
|
|
Total Paid
|
|
Rp16.600
|
|
Receipt issued by the driver Mahendra.
|
|
5.0 [image: stars]
|
|
Compliments for driver
|
|
Layanan Mantap
|
|
Breakdown
|
|
Fare
|
|
16.600
|
|
Fare
|
|
16.600
|
|
Total Paid
|
|
16.600
|
|
Passenger
|
|
Bintang
|
|
Profile
|
|
`;
|
|
|
|
export const grabForwardedBody = `---------- Forwarded message ---------
|
|
From: Grab <no-reply@grab.com>
|
|
Date: Sun, Sep 13, 2026 at 10:58 AM
|
|
Subject: Your Grab E-Receipt
|
|
To: <nasyarobby@gmail.com>
|
|
|
|
|
|
${grabBody}`;
|
|
|
|
export const grabTipForwardedBody = `---------- Forwarded message ---------
|
|
From: Grab <no-reply@grab.com>
|
|
Date: Sun, Sep 13, 2026 at 11:51 AM
|
|
Subject: Your Grab E-Receipt
|
|
To: <nasyarobby@gmail.com>
|
|
|
|
|
|
Bike Hemat
|
|
[image: Grab]
|
|
|
|
Thanks! Your tip goes a long way for your driver.
|
|
13 Sep 26 10:47 +0700
|
|
Total Paid
|
|
Rp2.000
|
|
Tip
|
|
From: Apartemen Kalibata City, Jl. Kalibata Raya No.1, Rawajati, Pancoran,
|
|
Kota Jakarta Selatan, DKI Jakarta, Indonesia, 12750
|
|
Booking ID: A-9RXV4K2GWCLOAV
|
|
`;
|
|
|
|
/** Minimal Grab ride HTML: pickup/dropoff times only exist here, not in plain text. */
|
|
export const grabRideHtml = `
|
|
<div>Picked up on 13 September 2026</div>
|
|
<div>Booking ID: A-9RXV4K2GWCLOAV</div>
|
|
<table>
|
|
<tr>
|
|
<td>
|
|
<div>Gate II Apartemen Kalibata City</div>
|
|
<div style="font-weight:300">10:47AM</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<div>Badan Koordinasi Penanaman Modal</div>
|
|
<div style="font-weight:300">10:58AM</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
`;
|
|
|
|
export const grabFoodForwardedBody = `---------- Forwarded message ---------
|
|
From: <no-reply@grab.com>
|
|
Date: Fri, Sep 11, 2026 at 7:01 PM
|
|
Subject: Your Grab E-Receipt
|
|
To: <nasyarobby@gmail.com>
|
|
|
|
|
|
[image: E-receipt]
|
|
Selamat menikmati makanan Anda!
|
|
TOTAL
|
|
IDR 49000 TANGGAL | WAKTU
|
|
11 Sep 26 18:24 +0700
|
|
Detail Pesanan
|
|
Jenis Kendaraan:
|
|
GrabFood
|
|
Diterbitkan untuk
|
|
Bintang
|
|
Pesanan ID
|
|
00112712674-C8EUEZDGEEAZTX
|
|
Pesanan Dari:
|
|
Doner Kebab - Kalibata City
|
|
Kalibata City, Foodcourt Teras Kuliner, Lt. Dasar Units Fb. 23 (Doner
|
|
Kebab), Jl. Raya Kalibata No. 1, Rawajati, Pancoran, Jakarta Selatan
|
|
Profil:
|
|
Personal
|
|
Detail Tagihan
|
|
Detail Pembayaran:
|
|
OVO Cash
|
|
Detail Pembayaran: Jumlah:
|
|
1x Fish n Chips IDR 45000
|
|
|
|
Subtotal IDR 45000
|
|
Restaurant packaging charge IDR 4000
|
|
TOTAL (INCL. TAX) IDR 49000
|
|
`;
|
|
|
|
export const briTransferDirectBody = `Halo,*NASYAROBBY NUGRAHA PUTRA*
|
|
Berikut ini adalah informasi transaksi yang telah Anda lakukan di Aplikasi
|
|
BRImo.
|
|
Transaksi Berhasil
|
|
Tanggal 13 September 2026 , 19:00:00 WIB
|
|
Nomor Referensi 212189333864
|
|
------------------------------
|
|
Sumber Dana NASYAROBBY NUGRAHA PUTRA
|
|
0121 **** **** 500
|
|
Jenis Transaksi Transfer Bank BRI
|
|
Bank Tujuan BANK BRI
|
|
Nomor Tujuan 1060 0100 2070 507
|
|
Nama Tujuan NELLY ARISANTI
|
|
Catatan -
|
|
------------------------------
|
|
Nominal Rp4.000.000
|
|
Biaya Admin Rp0
|
|
*Total* *Rp4.000.000*
|
|
|
|
|
|
Semoga informasi ini dapat bermanfaat bagi Anda.`;
|
|
|
|
export const briTransferForwardedBody = `Nasyarobby N. Putra
|
|
Boston University MSSD Program
|
|
|
|
---------- Forwarded message ---------
|
|
From: Bank BRI <BankBRI@bri.co.id>
|
|
Date: Sun, Sep 13, 2026, 7:00 PM
|
|
Subject: Pemindahan Dana Sesama Rekening BRI
|
|
To: <nsrb@bu.edu>
|
|
|
|
|
|
Halo,*NASYAROBBY NUGRAHA PUTRA*
|
|
Berikut ini adalah informasi transaksi yang telah Anda lakukan di Aplikasi
|
|
BRImo.
|
|
Transaksi Berhasil
|
|
Tanggal 13 September 2026 , 19:00:00 WIB
|
|
Nomor Referensi 212189333864
|
|
------------------------------
|
|
Sumber Dana NASYAROBBY NUGRAHA PUTRA
|
|
0121 **** **** 500
|
|
Jenis Transaksi Transfer Bank BRI
|
|
Bank Tujuan BANK BRI
|
|
Nomor Tujuan 1060 0100 2070 507
|
|
Nama Tujuan NELLY ARISANTI
|
|
Catatan -
|
|
------------------------------
|
|
Nominal Rp4.000.000
|
|
Biaya Admin Rp0
|
|
*Total* *Rp4.000.000*
|
|
`;
|
|
|
|
export const briQrisDirectBody = `Halo NASYAROBBY NUGRAHA PUTRA,
|
|
|
|
Berikut detail transaksi kamu di BRImo:
|
|
Total Transaksi
|
|
674.500
|
|
Tujuan
|
|
[image: Product.png]
|
|
|
|
Shopee Indonesia
|
|
|
|
QRIS Bayar
|
|
|
|
9360000210106600585
|
|
Nomor Referensi 185794483464
|
|
Tanggal Transaksi 30 Jul 2026, 19:21:34 WIB
|
|
Rekening Sumber Dana 0121 **** **** 500
|
|
Nama Sumber Dana NASYAROBBY NUGRAHA PUTRA
|
|
Jenis Transaksi QRIS Bayar
|
|
Nama Merchant Shopee Indonesia
|
|
Lokasi Merchant KOTA JAKARTA
|
|
Nama Penerbit BRI
|
|
Nama Pengakuisisi Shopeepay
|
|
Kode PAN Pelanggan 9360000210106600585
|
|
Merchant PAN 936009180021573212
|
|
ID Terminal 21573212
|
|
Catatan -
|
|
Nominal Rp674.500
|
|
Biaya Admin Rp0
|
|
|
|
*INFORMASI:*
|
|
`;
|
|
|
|
export const briQrisForwardedBody = `Nasyarobby N. Putra
|
|
Boston University MSSD Program
|
|
|
|
---------- Forwarded message ---------
|
|
From: Bank BRI <BankBRI@bri.co.id>
|
|
Date: Thu, Jul 30, 2026, 7:22 PM
|
|
Subject: Pembelian QRIS Berhasil
|
|
To: <nsrb@bu.edu>
|
|
|
|
|
|
[image: bri-white-logo.png]
|
|
|
|
Halo NASYAROBBY NUGRAHA PUTRA,
|
|
|
|
Berikut detail transaksi kamu di BRImo:
|
|
Total Transaksi
|
|
674.500
|
|
Tujuan
|
|
[image: Product.png]
|
|
|
|
Shopee Indonesia
|
|
|
|
QRIS Bayar
|
|
|
|
9360000210106600585
|
|
Nomor Referensi 185794483464
|
|
Tanggal Transaksi 30 Jul 2026, 19:21:34 WIB
|
|
Rekening Sumber Dana 0121 **** **** 500
|
|
Nama Sumber Dana NASYAROBBY NUGRAHA PUTRA
|
|
Jenis Transaksi QRIS Bayar
|
|
Nama Merchant Shopee Indonesia
|
|
Lokasi Merchant KOTA JAKARTA
|
|
Nama Penerbit BRI
|
|
Nama Pengakuisisi Shopeepay
|
|
Kode PAN Pelanggan 9360000210106600585
|
|
Merchant PAN 936009180021573212
|
|
ID Terminal 21573212
|
|
Catatan -
|
|
Nominal Rp674.500
|
|
Biaya Admin Rp0
|
|
`;
|