Ghana
Learn everything you need to know to make payouts in Ghana with dLocal.
Market specifications
Take a look of all the information you need to make a payout.
Country reference Mandatory paramentersPayment methods
Find all the information about payment methods capabilities.
Bank transfers Wallet transfersMarket specifications
Do you want to know more information about Ghana's market? Go to the Expand Your Reach in Africa’s eCommerce Market article.
Country reference
country code | currency code | amount decimals | beneficiary.document.type name | beneficiary.document.id format |
|---|---|---|---|---|
GH | GHS | 2 | Ghana Card | 13 digits (3 letters + 10 numbers) |
Mandatory parameters
Bank transfers
| Bank transfer parameters | B2C | B2B | P2P |
|---|---|---|---|
external_id | Yes | Yes | Yes |
payment_method_id | Yes | Yes | Yes |
flow_type | Yes | Yes | Yes |
purpose | Yes | Yes | Yes |
country | Yes | Yes | Yes |
amount | Yes | Yes | Yes |
currency | Yes | Yes | Yes |
beneficiary.first_name | Yes | - | Yes |
beneficiary.last_name | Yes | - | Yes |
beneficiary.business_name | - | Yes | - |
beneficiary.bank_account.branch | Yes | Yes | Yes |
beneficiary.bank_account.account | Yes | Yes | Yes |
remitter.first_name | - | - | Yes |
remitter.last_name | - | - | Yes |
remitter.document.type | - | - | Yes |
remitter.document.id | - | - | Yes |
remitter.birth_info.date | - | - | Yes |
remitter.address.street | - | - | Yes |
remitter.address.city | - | - | Yes |
remitter.address.country | - | - | Yes |
remitter.nationality | - | - | Yes |
Wallet transfers
| Wallet transfer parameters | B2C | B2B | P2P |
|---|---|---|---|
external_id | Yes | Yes | Yes |
payment_method_id | Yes | Yes | Yes |
flow_type | Yes | Yes | Yes |
purpose | Yes | Yes | Yes |
country | Yes | Yes | Yes |
amount | Yes | Yes | Yes |
currency | Yes | Yes | Yes |
beneficiary.first_name | Yes | Yes | Yes |
beneficiary.last_name | Yes | Yes | Yes |
beneficiary.phone | Yes | Yes | Yes |
beneficiary.instant_payment.type | Yes | Yes | Yes |
beneficiary.instant_payment.id | Yes | Yes | Yes |
remitter.first_name | - | - | Yes |
remitter.last_name | - | - | Yes |
remitter.document.type | - | - | Yes |
remitter.document.id | - | - | Yes |
remitter.birth_info.date | - | - | Yes |
remitter.address.street | - | - | Yes |
remitter.address.city | - | - | Yes |
remitter.address.country | - | - | Yes |
remitter.nationality | - | - | Yes |
Payment methods
Ghana supports payouts via Bank transfers and Wallet transfers. Each method requires specific parameters and follows validation rules aligned with local compliance and banking standards.
Use Wallet transfers for instant payments to mobile wallets. Use Bank transfers when sending funds directly to a bank account.
Bank transfers
Ghana bank transfers require detailed account information, including SWIFT code and account number. The format of these fields depends on the receiving bank, and strict validation rules apply.
Mandatory parameters
All fields listed below are required for bank transfer payouts. For successful processing, ensure correct formatting and value types.
| Mandatory parameter | Description |
|---|---|
external_id | Unique payout identification at the merchant's end. Maximum 100 characters. |
payment_method_id | Payment method identifier. For bank transfers, use BANK_TRANSFER. |
flow_type | Payout flow type. Valid values: B2C (Business to Consumer), B2B (Business to Business), P2P (Person to Person), or PSP (Payment Service Provider). |
purpose | Payout purpose code. For P2P, use REMITTANCES. See purpose codes reference. |
country | Country code. For Ghana, use GH. |
currency | Source currency of the FX operation. For Ghana, use GHS or USD. Payouts are typically paid in local currency to the beneficiary. |
amount | Payout amount in GHS. Use up to 2 decimal places. |
beneficiary.first_name | Beneficiary's first name. Maximum 50 characters. |
beneficiary.last_name | Beneficiary's last name. Maximum 50 characters. |
beneficiary.bank_account.branch | Beneficiary's bank branch. SWIFT code (8 or 11 alphanumeric characters in upper case). |
beneficiary.bank_account.account | Beneficiary's bank account number. Maximum length 50 digits. |
remitter.first_name | Remitter's first name. Maximum 50 characters. Mandatory only for remittance (P2P). |
remitter.last_name | Remitter's last name. Maximum 50 characters. Mandatory only for remittance (P2P). |
remitter.document.type | Type of identification document: ID for national identification number, PASS for passport. Mandatory only for remittance (P2P). |
remitter.document.id | Remitter's identification document or number, as required by Ghana regulations. Maximum 45 characters. Mandatory only for remittance (P2P). |
remitter.birth_info.date | Remitter's date of birth in ISO 8601 format (YYYY-MM-DD). Mandatory only for remittance (P2P). |
remitter.address.street | Remitter's street address. Maximum 200 characters. Mandatory only for remittance (P2P). |
remitter.address.city | Remitter's city. Maximum 40 characters. Mandatory only for remittance (P2P). |
remitter.address.country | Remitter's country code in ISO 3166-1 alpha-2 format. Mandatory only for remittance (P2P) |
remitter.nationality | Remitter's nationality. Use ISO 3166-1 alpha-2 format. Mandatory only for remittance (P2P). |
Example request
{
"external_id": "GH_B2C_001",
"payment_method_id": "BANK_TRANSFER",
"flow_type": "B2C",
"purpose": "OTHER_SERVICES",
"country": "GH",
"amount": 100,
"currency": "GHS",
"beneficiary": {
"first_name": "Jhon",
"last_name": "Miles",
"bank_account": {
"branch": "ECOCGHAC",
"account": "433212345678"
}
}
}
{
"external_id": "GH_P2P_002",
"payment_method_id": "BANK_TRANSFER",
"flow_type": "P2P",
"purpose": "REMITTANCES",
"country": "GH",
"amount": 200,
"currency": "GHS",
"beneficiary": {
"first_name": "Kwame",
"last_name": "Asante",
"bank_account": {
"branch": "ECOCGHAC",
"account": "433212345678"
}
},
"remitter": {
"first_name": "Jane",
"last_name": "Smith",
"document": {
"type": "PASS",
"id": "AB123456"
},
"birth_info": {
"date": "1985-06-15"
},
"address": {
"street": "123 Main St",
"city": "New York",
"country": "US"
},
"nationality": "US"
},
"notification_url": "https://thisisawebsite.net/payments"
}
Wallet transfers
Wallet transfers enable real-time transfers using a mobile phone number linked to a wallet.
The beneficiary.instant_payment.type field must indicate the type of wallet being used (e.g., AirtelTigo, Vodafone, MTN, G-Money). The beneficiary.phone field must be present and correctly formatted.
Mandatory parameters
The table below outlines the required parameters for Wallet transfers.
| Mandatory parameter | Description |
|---|---|
external_id | Unique payout identification at the merchant's end. Maximum 100 characters. |
payment_method_id | Payment method identifier. For wallet transfers, use INSTANT_PAYMENT. |
flow_type | Payout flow type. Valid values: B2C (Business to Consumer), B2B (Business to Business), P2P (Person to Person), or PSP (Payment Service Provider). |
purpose | Payout purpose code. For P2P, use REMITTANCES. See purpose codes reference. |
country | Country code. For Ghana, use GH. |
currency | Source currency of the FX operation. For Ghana, use GHS or USD. Payouts are typically paid in local currency to the beneficiary. |
amount | Payout amount in GHS. Use up to 2 decimal places. |
beneficiary.first_name | Beneficiary's first name. Maximum 50 characters. |
beneficiary.last_name | Beneficiary's last name. Maximum 50 characters. |
beneficiary.phone | Beneficiary's phone number. Country code +233 plus 9 digits. Ex: +233123456789. |
beneficiary.instant_payment.type | Type of wallet being used: AIRTELTIGO, VODAFONE, MTN, or G-MONEY. |
beneficiary.instant_payment.id | Beneficiary's wallet identifier, typically the phone number. |
remitter.first_name | Remitter's first name. Maximum 50 characters. Mandatory only for remittance (P2P). |
remitter.last_name | Remitter's last name. Maximum 50 characters. Mandatory only for remittance (P2P). |
remitter.document.type | Type of identification document: ID for national identification number, PASS for passport. Mandatory only for remittance (P2P). |
remitter.document.id | Remitter's identification document or number, as required by Ghana regulations. Maximum 45 characters. Mandatory only for remittance (P2P). |
remitter.birth_info.date | Remitter's date of birth in ISO 8601 format (YYYY-MM-DD). Mandatory only for remittance (P2P). |
remitter.address.street | Street address of the remitter. Maximum 200 characters. Mandatory only for remittance (P2P). |
remitter.address.city | City of the remitter. Maximum 40 characters. Mandatory only for remittance (P2P). |
remitter.address.country | ISO 3166-1 alpha-2 country code of the remitter. Mandatory only for remittance (P2P). |
remitter.nationality | Remitter's nationality. Use ISO 3166-1 alpha-2 format. Mandatory only for remittance (P2P). |
Example request
{
"external_id": "GH_B2C_003",
"payment_method_id": "INSTANT_PAYMENT",
"flow_type": "B2C",
"purpose": "OTHER_SERVICES",
"country": "GH",
"amount": "150",
"currency": "GHS",
"beneficiary": {
"first_name": "Jhon",
"last_name": "Miles",
"phone": "+233123456789",
"instant_payment": {
"type": "MTN",
"id": "+233123456789"
}
},
"notification_url": "https://thisisawebsite.net/payments"
}
{
"external_id": "GH_P2P_004",
"payment_method_id": "INSTANT_PAYMENT",
"flow_type": "P2P",
"purpose": "REMITTANCES",
"country": "GH",
"amount": "250",
"currency": "GHS",
"beneficiary": {
"first_name": "Ama",
"last_name": "Owusu",
"phone": "+233987654321",
"instant_payment": {
"type": "VODAFONE",
"id": "+233987654321"
}
},
"remitter": {
"first_name": "Sarah",
"last_name": "Johnson",
"document": {
"type": "PASS",
"id": "CD987654"
},
"birth_info": {
"date": "1990-03-15"
},
"address": {
"street": "456 Park Ave",
"city": "London",
"country": "GB"
},
"nationality": "GB"
},
"notification_url": "https://thisisawebsite.net/payments"
}
Updated about 13 hours ago
