1.2.4 • Published 2 years ago

@strmchsr/transaction-sms-parser v1.2.4

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Transaction SMS Parser

A library to parse transaction sms text to extract relevant information from it. A naive implementation using mostly regular expressions.

How to use

The main method to use be used is:

getTransactionInfo(message: string): ITransactionInfo

It takes sms text as input and will give an object of ITransactionInfo type

interface ITransactionInfo {
  account: IAccountInfo;
  transactionAmount: string;
  balance?: string;
  transactionType: 'debit' | 'credit' | '';
}

interface IAccountInfo {
  type: IAccountType | null;
  number?: string;
  name?: string;
}

enum IAccountType {
  CARD = 'CARD',
  WALLET = 'WALLET',
  ACCOUNT = 'ACCOUNT',
}

Example

import { getTransactionInfo } from 'transaction-sms-parser';

const sms =
  'INR 2000 debited from A/c no. XX3423 on 05-02-19 07:27:11 IST at ECS PAY. Avl Bal- INR 2343.23.';

const transactionInfo = getTransactionInfo(sms);
//output
{
    account: {
        type: 'ACCOUNT',
        number: '3423',
    },
    transactionAmount: '2000.00',
    transactionType: 'debit',
    balance: { available: '2343.23' },
}

API Documentation generated by typedoc is hosted on gh-pages

Testing

How to unit test ?

Tested with the SMS text from following banks/cards/wallets:

Banks:

  • Axis
  • ICICI
  • Kotak
  • HDFC
  • Standard Charted
  • IDFC
  • Niyo global

Credit Cards:

  • HSBC
  • Citi Bank
  • Sodexo
  • ICICI
  • Uni Card
  • Indusind Bank
  • Slice

Wallets

  • Paytm
  • Amazon pay
  • Lazypay
  • Simpl