payfastjs-helper
v1.2.1
Published
Create payments/subscriptions via payfast
Downloads
5
Maintainers
Readme
Package Description
Create payments and subscriptions using Payfast on any website
Features
- Supports 'return_url' & 'cancel_url' redirects
- Supports onSuccess callback
Installing
Using npm:
$ npm install payfastjs-helper
Using yarn:
$ yarn add payfastjs-helper
Parameters
new PayfastHandler(merchantKey, merchantId, passPhrase)
- merchantKey: Get this key from your Payfast account (required)
- merchantId: Get this id from your Payfast account (required)
- passPhrase: You have to set this in your Payfast account (required if set in Payfast account or when using subscriptions)
await... ().createPayment(paymentData, options, callback)
PaymentData:
- notify_url (required)
- return_url (Required if 'onsite' is false)
- cancel_url (Required if 'onsite' is false)
- name_first
- name_last
- email_address (required if 'cell_number' not provided)
- cell_number (required if 'email_address' not provided)
- m_payment_id
- amount (required)
- item_name
- item_description
- custom_str1
- custom_str2
- custom_str3
- custom_str4
- custom_str5
- custom_int1
- custom_int2
- custom_int3
- custom_int4
- custom_int5
- email_confirmation
- confirmation_address
- payment_method
await... ().createSubscription(paymentData, options, callback)
Payment Data:
- All above
- subscription_type (Required, default: 1 (subscription))
- billing_date
- recurring_amount
- frequency (Required, Default: 3 (monthly))
- cycles (Required)
Options
- onsite (false by default)
- sandbox (false by default)
options: {
onsite: true,
sandbox: false
}
Callback
(success: boolean) => {}
Checkout Payfast developer documentation to see what parameters mean.
Example
- With Redirect Urls
import { PayfastHandler } from 'payfastjs-helper'
const paymentHandler = new PayfastPayment('123', 'abc', 'mypassphrase);
// create payment
await paymentHandler.createPayment({
amount: '100.00',
email_address: '[email protected]',
item_name: 'my demo product',
cancel_url: 'https://demo.demo/cancel_payment',
return_url: 'https://demo.demo/return_payment',
notify_url: 'https://demo.demo/post_to_notify_url'
}, {sandbox: false, onsite: true})
Method will redirect you to your cancel_url / return_url
- With Callback
import {PayfastHandler} from 'payfastjs-helper'
const paymentHandler = new PayfastHandler('123', 'abc', 'mypassphrase);
// create payment
await paymentHandler.createPayment({
amount: '100.00',
email_address: '[email protected]',
item_name: 'my demo product',
notify_url: 'https://demo.demo/post_to_notify_url'
}, {onsite: true} ,(success) => {
if (success){
// payment successful
}else{
// payment cancelled or failed
}
})
- Method will not redirect you to your cancel_url / return_url, but rather return callback if both 'cancel_url' and 'return_url' is empty.
Roadmap
- Tokenization
- Split payments
- Better error handeling
- Class to handle Server Side validations and methods