Error Handling

Detect and respond to exceptions, invalid data, network problems and more.

Supported HTTP status codes

HTTP status codes can reflect successful and failed statuses including: missing fields, network interruptions, code problems or invalid API calls. MoneyGram supports the following HTTP status codes:

HTTP methodHttp statusDescription
POST, PUT, PATCH200 - OKThe server successfully processed the request. The response will contain an entity describing or containing the result of the action.
GET200 - OKThe server successfully processed the request.. The response will contain an entity corresponding to the requested resource.
GET204 - No ContentThe server successfully processed the request and is not returning any content.
POST, PUT, PATCH, GET400 - Bad RequestThe server cannot or will not process the request due to an apparent client error. The response payload will include “ErrorDetails” object to indicate the issue with the request payload. This may indicate a system error, business error or malformed request syntax.
POST, PUT, PATCH, GET500 - Internal Server ErrorThe server cannot process the request.



Types of errors and responses

Partner applications can react to the following error categories by collecting missing data or correcting the invalid data before resubmitting the request payload:

Category codeError description
20000RECOVERABLE_BUSINESS_ERROR
30000UNRECOVERABLE_BUSINESS_ERROR
40000MISSING_FIELD_ERROR
45000MALFORMED_FIELD_VALUE
50000UNRECOVERABLE_SYSTEM_ERROR

Top Error Code and Messages

CodeMessage
100One or more required fields missing
160One or more required fields missing/invalid field values.
302You have reached your daily limit. Please contact Servicing via chat or email.
315Delivery option not allowed for receive country.
323Field contains too many characters.
328Field does not match regular expression.
604Invalid reference number, please contact sender.
605Send reversal/cancel must be requested same day.
1010Invalid Account.
3022No matching receiver bank information found.
3544Photo identification (ID) is expired. Please provide current photo identification in order to complete this transaction.
4017Transaction cannot be amended due to holds.
4025Send Limit Exceeded.
4036This transaction is not currently available. Please inform the receiver contact MoneyGram customer service for assistance.
4055MoneyGram has rejected this transaction to protect the consumer. Do not collect funds.
4146Country code is required.
4215Name fields cannot begin with a special character.
9141Wallet has reached maximum balance. It cannot accept more funds.
9301Invalid account number.




Error details examples:

//RECOVERABLE_BUSINESS_ERROR
{
  "errors": [
    {
      "category": "IP-20000", 
      "code": "604", 
      "message": "Invalid reference number, please contact sender",
      "offendingFields": []
    }
  ]
}
//UNRECOVERABLE_BUSINESS_ERROR
{
  "errors": [
    {
      "category": "IP-30000",
      "code": "4055",
      "message": "MoneyGram has rejected this transaction to protect the consumer. Do not collect funds.",
      "offendingFields": []
    }
  ]
}
//MISSING_FIELDS_ERROR  
{  
  "errors": [  
    {  
      "category": "IP-40000",  
      "code": "100",  
      "message": "One or more required fields missing",  
      "offendingFields": [  
        {  
          "field": "sender.firstName"  
        },  
        {  
          "field": "sender.lastName"
        },  
        {  
          "field": "sender.address.line1"  
        },  
        {  
          "field": "sender.address.countryCode"  
        },  
        {  
          "field": "sender.primaryIdentification.typeCode"  
        },  
        {  
          "field": "sender.primaryIdentification.id"  
        },  
        {  
          "field": "sender.occupationCode"  
        }  
      ]  
    }  
  ]  
}
{
  "errors": [
    {
      "category": "IP-45000",
      "code": "3416", 
      "message": "Mobile Phone is required to choose Text as a notification type. Please provide a mobile phone number or change notification selection",
      "offendingFields": [
        {
          "field": "sender.mobilePhone.number",
        },
        {
          "field": "sender.preferences.smsOptIn"
        }
      ]
    },
    {
      "category": "MO-45000",
      "code": "1037", 
      "message": "Phone Number format is invalid.",
      "offendingFields": [
        {
          "field": "sender.mobilePhone.number"
        }
      ]
    },    
    {
      "category": "MO-45000",
      "code": "381", 
      "message": "Invalid phone number, special characters are not allowed - please correct and reenter.",
      "offendingFields": [
        {
          "field": "sender.mobilePhone.number",
        }
      ]
    }
  ]
}
//SYSTEM_ERROR
{
  "errors": [
    {
      "category": "IP-50000",
      "code": "955-20001",
      "message": "Internal System Error",
      "offendingFields": []
    }
  ]
}