Skip to main content
Question

Currency not supported. INVALID_CURRENCY

  • August 6, 2024
  • 7 replies
  • 254 views

The request body below returns invalid currency. What currency codes work for Uganda? Tried altering the currencies but same error.{    "amount": "40000",    "currency": "UGX",    "externalId": "c1f4687688585858a173f12",    "payer": {        "partyIdType": "MSISDN",        "partyId": "25678119xxxx"    },    "payerMessage": "Payment for services",    "payeeNote": "Payment for services"}

7 replies

Forum|alt.badge.img

kindly share the end point URL and the target environment 


  • Author
  • New Member
  • August 7, 2024

the targetEnviroment was sandbox
I randomly used EUR and it worked fine. I was also informed that the sandbox uses EUR


Forum|alt.badge.img

Correct, 

Postman collection to guide you going forward 

MoMo OpenAPI Postman collection (getpostman.com)


  • Author
  • New Member
  • August 7, 2024

Thank you


  • New Member
  • January 22, 2026

Hello, I encountered the same issue. I wonder, if the sandbox mode does not support any african currency? I tried with “XOF” and i got the same error currency not supported. 

 

PAYLOAD: 
{
"plan": "pro",
"billing_cycle": "monthly",
"payment_method": "momo",
"phone_number": "+2290196355621"
}


RESPONSE:
{
"status": "error",
"error_code": "PAYMENT_GATEWAY_ERROR",
"detail": "Échec de l'initiation du paiement: {\"message\":\"Currency not supported.\",\"code\":\"INVALID_CURRENCY\"}",
"field_errors": {}
}


 

# Create payment record
payment = Payment.objects.create(
organization=organization,
user=user,
plan=plan,
billing_cycle=billing_cycle,
payment_method=payment_method,
amount=amount,
currency="XOF",
phone_number=validated_phone,
subscription_start=start_date,
subscription_end=end_date,
expires_at=expires_at,
metadata=metadata or {}
)

 


  • Community Manager
  • January 23, 2026

Sandbox only supports EUR, the country specific currencies like UGX, XOF etc are for production.


  • New Member
  • March 9, 2026

Hello everyone,

I have a question regarding the integration of MTN MoMo for a client who operates in two different countries: Tanzania and Eswatini.

I would like to understand whether the client would need separate credentials for each country, since the payment environments may differ by market. In other words, should the integration use country-specific API users and credentials, or can the same credentials work across multiple MTN MoMo markets?

Additionally, the client intends to process payments in TZS (Tanzanian Shilling) and SZL (Swazi Lilangeni). Are there any specific configuration requirements or limitations when working with multiple currencies across different MTN MoMo markets?

Any clarification or guidance on the recommended approach for this scenario would be greatly appreciated.

Thank you.