> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.crisscross.money/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.crisscross.money/_mcp/server.

# Ghana Mobile Money

> Mobile money operators and approval flows for Ghana (GHA) on CrissCross.

Mobile money in Ghana (`GHA`) is available through the operators below. Set `payerDetails.location` to `GHA` on the checkout session and pass the operator's `provider` slug on the payment. The operators enabled for your account are configured during onboarding.

For how a payment works, what you collect, sandbox testing, and error codes, see the [Mobile Money overview](/payment-method-mobile-money). For the end-to-end API sequence, see [Direct API: Mobile Money](/direct-api-integration-mobile-money).

### Operators

| Operator         | `paymentDetails.provider` | Approval flow             |
| ---------------- | ------------------------- | ------------------------- |
| MTN MoMo         | `mtn`                     | Handset prompt or SMS OTP |
| AirtelTigo Money | `airteltigo`              | Handset prompt or SMS OTP |
| Telecel Money    | `telecel`                 | Handset prompt or SMS OTP |

The authorization flow can vary by the route enabled for your account. Treat `authState` as the source of truth: `pendingApproval` means the customer approves on their handset, while `fields` asks you to collect the single `otp` field and submit it with `POST /v1/payment/authorize`. Hosted Checkout handles both flows automatically.

### GHS only

Ghanaian mobile money collects in **GHS**. Set `currency` (or `collectionCurrency` on an FX-enabled session) to `GHS` when you create the session. A payment that reaches these operators in any other currency is rejected with [`INVALID_CURRENCY`](/error-codes) rather than converted.