Officially supported momofy package for node Js applications.
Some useful resources
Visit the Documentation
Goto the Dashboard
To install this package run
npm install @momofy/sdk
yarn add @momofy/sdk
To be able to perform transactions using this SDK you need to get your API Secret Key from your Momofy Dashboard.
eg. secret_test_01HPH70VG02DAYJ1N70NP4QWKV
Example | Description | |
---|---|---|
Test |
secret_test_01HPH70VG02DAYJ1N70NP4QWKV |
Use test enviroment during project development |
Production |
secret_prod_01HPH70VG02DAYJ1N70NP4QWKV |
Use production enviroment for live application |
Request a checkout url to received payment from customers
import { Momofy } from "@momofy/sdk"
const momofy = new Momofy("secret_test_01HPH70VG02DAYJ1N70NP4QWKV");
let response = await momofy.transaction.checkout({
amount: 30,
redirectUrl: "https://example.com/verify-transaction",
referenceCode: "",
transactionNote: "Payment of bills",
});
{
success: true,
message: 'Checkout created successful',
result: {
transaction_ref: '00d67012-90b9-45c1-be9f-06ec8d813ddb',
checkout_url: 'https://app.momofy.com/checkout/c4e1a0e0-80bd-4925-b7bd-c36e48979f13'
},
meta: {}
}
Params | Example values | Description |
---|---|---|
amount |
20 or "30" |
Amount to be requested from customer |
redirectUrl |
https://example.com/verify-transaction |
A url to be redirected to after successful / failed transaction |
reference_code |
unique uuidv4 string |
Reference code ( will be auto generated when not provided ) |
transaction_note |
Message for transaction |
Note to display to user when requesting for payment. |
Request payment from your customers
import { Momofy } from "@momofy/sdk"
const momofy = new Momofy("secret_test_01HPH70VG02DAYJ1N70NP4QWKV");
let response = await momofy.transaction.requestPayment({
amount: 30,
channel: "mobile_money",
currency: "GHS",
customer: {
email: "example@gmail.com",
name: "Test User",
phone_number: "024777777",
},
provider: "MTN",
reference_code: "",
transaction_note: "Payment for DSTV Bill",
});
{
success: true,
message: 'Transaction has been initiated',
result: { reference_code: 'dee67adb-bcfc-416b-b08b-b7dbb211a210' },
meta: {}
}
Params | Example values | Description |
---|---|---|
amount |
20 or "30" |
Amount to be requested from customer |
channel |
mobile_money |
Only mobile money channel is currently being supported |
currency |
GHS |
The supported currency from the provider |
customer |
Customer Object |
The customer information |
provider |
MTN or VODAFONE |
Network Provider code ( get this from the docs ) |
reference_code |
unique uuidv4 string |
Reference code ( will be auto generated when not provided ) |
transaction_note |
Message for transaction |
Note to display to user when requesting for payment. |
Params | Required | Description |
---|---|---|
name |
Yes | Name of the customer |
phone_number |
Yes | Momo number of customer to be charged. |
email |
Yes | Email of the customer (if not available provide organisation email) |
Verify your transaction by providing the transaction ref ID.
import { Momofy } from "@momofy/sdk"
const momofy = new Momofy("secret_test_01HPH70VG02DAYJ1N70NP4QWKV");
let response = await momofy.transaction.verify("dee67adb-bcfc-416b-b08b-b7dbb211a210");
{
success: true,
message: 'Transaction retrieved',
result: {
id: 17,
channel: 'mobile_money',
message: 'Payment for DSTV Bill',
currency: 'GHS',
payment_phone: '024777777',
reference_code: 'a8735819-dbdd-4bf8-a075-8236660ba9d7',
gateway_status: 'waiting',
meta_data: null,
amount: 30,
status: 'initiated',
environment: 'test',
},
meta: {}
}
Status | Description |
---|---|
initiated |
Transaction has been initiated |
pending |
Transaction has been successfully sent to the provider |
success |
Transaction was process successfully |
failed |
Transaction has failed means (may be the user declined the payment request or something bad has happened ) |
If you have any feedback, please feel free to submit an issue.