For a Ghana-optimised Paystack checkout: (1) enable channels: ["mobile_money", "card", "bank"] — mobile money first; (2) set currency: "GHS"; (3) amounts in GHS go to Paystack multiplied by 100 (pesewas); (4) include the customer phone number so Paystack can trigger the mobile money prompt to the correct operator; (5) MTN MoMo, Vodafone Cash, and AirtelTigo Money are all supported via the mobile_money channel.
// Ghana-optimised transaction initialization
var response = await fetch('https://api.paystack.co/transaction/initialize', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + process.env.PAYSTACK_SECRET_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
email: customer.email,
phone: customer.phone, // e.g., '0241234567' or '+233241234567'
amount: Math.round(orderAmountGHS * 100), // GHS to pesewas
currency: 'GHS',
reference: generateReference(),
channels: ['mobile_money', 'card', 'bank'], // Mobile money first
metadata: {
order_id: order.id,
},
}),
});
Mobile money operators in Ghana on Paystack:
Paystack automatically identifies the operator from the phone number and routes the payment prompt accordingly.
Get weekly developer tips
Join 25,000+ developers. Practical guides, job tips, and new content — straight to your inbox.
No spam. Unsubscribe anytime.
This guide is part of the Paystack by country guide.
KES 2,999
The definitive guide to building payment systems with Paystack — from your first transaction to production-grade payment infrastructure across Africa. 9 modules, 47 lessons. Free preview available.
Start Paystack Course