UNPKG

@usecomma/modulus-check

Version:

Validate a UK bank account number against a sort code using the VocaLink modulus check

68 lines (48 loc) 1.77 kB
# modulus-check Modulus checking allows payment originators to confirm that customer codes and account numbers are compatible before submitting a Bacs Direct Credit of Direct Debit. ## Status [![npm version][npm-image]][npm-url] ## Installation Install the package via `yarn`: ```sh yarn add modulus-check ``` or `npm`: ```sh npm install modulus-check ``` ## Usage ### `new ModulusCheck({ accountNumber, sortCode }).isValid()` This method validates if the given accountNumber and sortCode represent a valid `Faster Payment Account`. #### Arguments 1. `accountNumber` *(string)*: The account number to validate. 2. `sortCode` *(string)*: The sort code to validate. #### Returns *(boolean)*: Returns `true` if the account is valid. #### Example ```js new ModulusCheck({ accountNumber: '15764273', sortCode: '938063' }).isValid(); // => false new ModulusCheck({ accountNumber: '66374958', sortCode: '089999' }).isValid(); // => true new ModulusCheck({ accountNumber: '66374958', sortCode: '08-99-99' }).isValid(); // => true new ModulusCheck({ accountNumber: '66374958', sortCode: '08-9999' }).isValid(); // => true ``` ## Tests ```sh npm test ``` ## Release Run the below command and commit to `master` branch ```sh npm version [<newversion> | major | minor | patch] -m "Release %s" ``` Head to circelci and trigger a new pipeline with parameter `release: true` ## License MIT ## Credits Many thanks to [bazerk/uk-modulus-checking](https://github.com/bazerk/uk-modulus-checking) for the original inspiration and [uphold/uk-modulus-checking](https://github.com/uphold/uk-modulus-checking) for the initial development. [npm-image]: https://img.shields.io/npm/v/modulus-check.svg?style=flat-square [npm-url]: https://npmjs.org/package/@usecomma/modulus-check