adonisjs-paystack

    0.2.0 • Public • Published

    adonis-paystack

    An addon/plugin package to provide PayStack payment services in AdonisJS 4.1+

    NPM Version Build Status Coveralls

    Getting Started

    Install from the NPM Registry

        $ adonis install adonisjs-paystack
    

    Make use of it inside a HTTP/Web Socket Controller(s)

    const Paystack = use('PayStack')
    
    /**
     * This class handles all requests for 
     * the checkout flow of the app
     *
     * @class CheckOutController
     */
    class CheckOutController {
    	/**
    	 * Begin Transaction Process
    	 *
    	 * @method initTransaction
    	 *
    	 * @param  {Object} context.request
    	 * @param  {Object} context.response
    	 *
    	 * @return {Promise}
    	 */
    	async initTransaction({ request, response }) {
    
    		    //.....
    			try {
    				let paystackResponse = await Paystack.initializeTransaction({
    				callback_url:"https://locahost:3333/trans/hooks/paystack", 
    				amount: 3000, 
    				email: "xyz@abc.com"
    				})
    			}catch(ex){
    
    				console.error(ex.message);
    
    				return response.status(400).json({
    					data: null,
    					error: true,
    					message: ex.message
    				}); 
    			}
    
    		    return await response.status(200).json({
    		      data: response.body.data
    			});
    	}
    
    	async fetchCustomer({ request, response }){
    
    			//.....
    			try {
    
    				let paystackResponse = await Paystack.getCustomer({
    					customer_id:'CUS_reu3738we993wsnqah'
    				});
    			}catch(ex){
    
    				console.error(ex.message);
    
    				return response.status(400).json({
    					data: null,
    					error: true,
    					message: ex.message
    				}); 
    			}finally{
    
    				return response.status(200).json({
    					data: response.body.data
    				})
    			}
    	}
    
    }
    
    module.exports = CheckOutController

    Creating fakes (for Unit/Integration Testing in AdonisJS)

    It's possible to fake the PayStack instance like so:

    const PayStack = use('PayStack')
    
    //start faking the provider instance
    PayStack.fake()
    
    //stop faking the provider instance
    PayStack.restore()

    License

    MIT

    Running Tests

        npm i
    
    	npm run lint
    
        npm run test
    

    Credits

    Contributing

    See the CONTRIBUTING.md file for info

    Support

    Coolcodes is a non-profit software foundation (collective) created by Oparand - parent company of StitchNG, Synergixe based in Abuja, Nigeria. You'll find an overview of all our work and supported open source projects on our Facebook Page.

    Follow us on facebook if you can to get the latest open source software/freeware news and infomation.

    Does your business depend on our open projects? Reach out and support us on Patreon. All pledges will be dedicated to allocating workforce on maintenance and new awesome stuff.

    Install

    npm i adonisjs-paystack

    DownloadsWeekly Downloads

    8

    Version

    0.2.0

    License

    MIT

    Unpacked Size

    11.8 kB

    Total Files

    11

    Last publish

    Collaborators

    • stitchng