Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

cross-switch-gh

Cross-Switch Ghana API wrapper

API, Ghana, Payment, Cashout, Payment API, Cross-Switch, Cross Switch Ghana, Request to Pay, Bill, Sms API, USSD API, OTP, Mobile Verification

readme

Cross-Switch Ghana

Issues Star Issues

Nodejs API wrapper for Cross-Switch Ghana.

NPM

Installation

npm install cross-switch-gh

Usaged


var live = false;

if (process.env.NODE_ENV === 'production') {
    live = true;
}
// Require the library
var cross_switch = require('cross-switch-gh')(process.env.APP_ID, process.env.APP_KEY, live, baseurl);

Making calls to the resources

The resource methods accepts are promisified, but can receive optional callback as the last argument.

// cross_switch.{resource}
cross_switch.payment.createPayment({})
    .then((body)=> {
          console.log(body);
    })
    .catch((error)=> {
        console.log(error);
    });

For all resource methods, the JSON body can be passed as the argument.

Resources

  • payment
    • createPayment
    • Collection
    • Cashout
    • getBalance
    • verifyPayment
  • customer
    • createCustomer
    • getCustomer
    • getCustomerBill
  • sms
    • sendSms
    • sendOtp
    • verifyOtp
  • Bill
    • createBill
    • getBill
    • payBill
  • Page (Payment Link)
    • createPage - Coming soon
    • getPage - Coming soon
    • Payment - Coming soon
  • Invoice (Payment Link)
    • createInvoice - Coming soon
    • getInvoice - Coming soon
    • PayInvoice - Coming soon

Method to Initiation Sending or Receiving from mobile Money.

cross_switch.payment.createPayment({
    type: 'Receive || Send',
    name: 'Firstname Lastname',
    mobile: '+233540000000',
    mobile_network: 'MTN || AIRTEL || TIGO || VODAFONE',
    email: 'harmony@cross-switch.com',
    currency: 'GHS',
    amount: 0.1,
    order_id: `${Math.ceil(Math.random() * 10e8)}`,
    order_desc: 'Testing',
    account: '',
    customerid: '',
    callback: ''
}).then((body)=> {
    console.log(body);
}).catch((error)=> {
    console.log(error);
});

Method to Initiation Only Receiving from mobile Money.

cross_switch.payment.Collection({
    name: 'Firstname Lastname',
    mobile: '+233540000000',
    mobile_network: 'MTN || AIRTEL || TIGO || VODAFONE',
    email: 'harmony@icloud.com',
    currency: 'GHS',
    amount: 0.1,
    order_id: `${Math.ceil(Math.random() * 10e8)}`,
    order_desc: 'Testing',
    account: '',
    customerid: '',
    callback: '',
}).then((body)=> {
    console.log(body);
}).catch((error)=> {
    console.log(error);
});;

Method to Initiation Only Sending to mobile Money.

cross_switch.payment.Cashout({
    name: 'Firstname Lastname',
    mobile: '+233540000000',
    mobile_network: 'MTN || AIRTEL || TIGO || VODAFONE',
    email: 'harmony@icloud.com',
    currency: 'GHS',
    amount: 1,
    order_id: `${Math.ceil(Math.random() * 10e8)}`,
    order_desc: 'Testing',
    customerid: '',
    callback: '',
}).then((body)=> {
    console.log(body);
}).catch((error)=> {
    console.log(error);
});

Method to Get Cashout Balance.

cross_switch.payment.getBalance({})
.then((body)=> {
    console.log(body);
}).catch((error)=> {
    console.log(error);
});

Method to Verify Transaction status.

cross_switch.payment.verifyPayment({
    order_id: `${data.transaction_no}`,
}).then((body)=> {
    console.log(body);
}).catch((error)=> {
    console.log(error);
});

Todo

  • Add MOMO Number Verification
  • Add MOMO Direct Debit