Bonaventure OgetoBy Bonaventure Ogeto|

Building a Local Checkout Experience for Ghana

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 Checkout Configuration

// 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:

  • MTN MoMo — 055/056/057/059 numbers
  • Vodafone Cash — 020/050 numbers
  • AirtelTigo Money — 026/027/056/057 numbers

Paystack automatically identifies the operator from the phone number and routes the payment prompt accordingly.

Localisation Tips for Ghanaian Users

  • Currency display: Show as "GH₵ 100" or "GHS 100" — the cedi symbol GH₵ is familiar to Ghanaian users.
  • Mobile money prompt: After a customer initiates mobile money payment, show a waiting state: "Enter your MoMo PIN when prompted on your phone." Approval can take 15-60 seconds.
  • Expired prompts: MTN MoMo prompts expire after 90 seconds if not acted upon. Tell customers to approve quickly or restart checkout.
  • Weekend transactions: Mobile money works 24/7 in Ghana — no banking hours restriction like some bank transfer products.

Learn More

Key Takeaways

  • Mobile money (MTN MoMo, Vodafone Cash, AirtelTigo) is the dominant payment method in Ghana — put it first in channels.
  • GHS amounts go to Paystack in pesewas (multiply GHS by 100 — same kobo pattern as NGN/KES).
  • Include the customer phone number in the initialize call — Paystack uses it to route the mobile money prompt to the right operator.
  • Card payment is supported for Visa/Mastercard but lower penetration than mobile money in Ghana.
  • Set currency: "GHS" — do not rely on the account default if you serve multiple countries.
  • MTN MoMo requires the customer to approve the payment on their phone — build a "waiting for approval" state in your UI.

Frequently Asked Questions

Does Paystack support MTN MoMo in Ghana?
Yes. Paystack supports MTN MoMo, Vodafone Cash, and AirtelTigo Money in Ghana via the mobile_money channel. The customer's phone number determines which operator is used for the payment prompt.
What if the customer's MoMo prompt does not arrive?
Check that the phone number was passed correctly in the initialize call and is in the correct format. MTN network congestion can delay prompts — advise the customer to wait 60 seconds. If the prompt still does not arrive, the customer can complete payment by dialing *170# (MTN MoMo) directly and entering the transaction reference.
Can I accept international card payments from non-Ghanaian customers?
If your Paystack account is configured for GHS and your product has international customers, they can pay by card (Visa/Mastercard) in GHS. Paystack handles the currency conversion on the card network side. For multi-currency pricing, consider showing prices in your local currency and letting the card network handle conversion.
What is the Bank of Ghana's role in regulating Paystack in Ghana?
The Bank of Ghana (BoG) regulates payment service providers under the Payment Systems and Services Act, 2019 (Act 987). Paystack operates under a Payment Service Provider (PSP) license from the BoG. As a merchant using Paystack, you benefit from Paystack's regulatory compliance — you do not need your own PSP license to accept payments.

Ready to build real-world apps?

Join the McTaba Labs full-stack marathon (4 months full-time · 6 months part-time). Learn M-Pesa, USSD, and WhatsApp engineering while shipping 8 production apps.

Apply to the McTaba Marathon