UNPKG

@eckidevs/payfastjs

Version:

A Node.js implementation of the PayFast API.

82 lines (61 loc) 2.1 kB
<p style="text-align: center;"> <img style="max-width: 100%;" src="./assets/NodeFast.png"> </p> A Node.js implementation of [PayFast's](https://www.payfast.co.za) API. An effort to present the data returned in a JS friendly way and abstract some of PayFast's intricate request payloads. ## Getting started ```bash npm i @eckidevs/payfastjs ``` or ```bash yarn add @eckidevs/payfastjs ``` ## Usage ```js const payfast = require('payfastjs'); // Use the credentials from your PayFast dashboard payfast.options({ merchantId: 'xxxx', passphrase: 'xxxx' }) // Example usage payfast.getTransactions({ period: 'daily', from: '2018-12-31' }) .then(data => console.log(data)) // JSON .catch(error => console.log(error)) ``` ## Available methods ### options({ merchantId: String, passphrase: String }) ##### - merchantId: - type: String - required: true - description: your PayFast merchantId ##### - passphrase: - type: String - required: true - description: your PayFast passphrase must explicity be created under settings > integrations. ### getTransactions({ period: String, from: String, to: String }) ##### - period: - type: String - required: false - default: daily - options: '', 'daily', 'weekly', 'monthly' - description: Gives the agregate of transactions for the specified period. ##### - from: - type: String - required: false - default: start of current month - format: 'YYYY-MM-DD' - description: Specifies the date from which transactions should be searched for. ##### - to: - type: String - required: false - default: current day - format: 'YYYY-MM-DD' - description: Specifies the date up to which transactions should be searched for. ## Roadmap - Write unit tests - setup CI/CD - Contribution guide and repo config - Further SDK methods - Subscription management - Ad Hoc payment management - Credit Card transaction query - Maintainence/staying up to date with PayFast releases ### Contributions and comments welcome