API Errors

Error messages are returned in HTTP response. The body of the response contains the details of the error in JSON format.

The following attributes are returned as part of the error content

AttributeDescription
categoryA string which groups errors based on the error handling routine that is required.
codeA more specific code allowing you to handle the specific errors.
messageDescriptive information about the error. This is for developer(/merchant) consumption and should not be used for showing errors to your customers.
HTTP/1.1 200 OK
Content-Type: application/json

{
   "error":{
      "category": "Authorization",
      "code": "1001",
      "message": "Basic Auth required. Invalid credentials"
   }
}

The following are the list of codes grouped based on category.

CategoryCodeMessagePossible Cause
API Not Supported0000Operation not supported by {operator_name}
Authorization1001Basic auth required. Invalid credentialsWrong or missing authorization token in HTTP header
Authorization1002Your IP address {ip} is not in the whitelist {whitelist}. You can add it via the Management PortalWrong or missing IP Allow list in API access page in portal
Authorization1003Rate limit exceeded, You have exceeded the number of requests per {period}
Request Validation2000Invalid parameter {parameter} value {value}
Request Validation2001Missing required parameters {params}Missing mandatory parameters in HTTP request
Request Validation2002Unknown merchant with URI {uri}Wrong merchant parameter value
Request Validation2003Unknown operator for MSISDN {msisdn}Wrong country dial code in MSISDN parameter value
Request Validation2004Campaign with uri {campaign_uri} is not validWrong campaign parameter value or campaign not approved
Request Validation2005{operator} does not accept charges in {currency}Unsupported currency
Request Validation2006{operator} has a max charge amount of {max} {currency}Amount parameter value exceed the purchase limit
Request Validation2007Correlator repeated. Possible duplicate transactionCorrelator parameter value has been used before
Request Validation2008Invalid PINWrong PIN parameter value
Request Validation2009Invalid Notification URLWrong notification url value in service settings
Request Validation2010Invalid frequency requested. Valid values are: {frequencies}Wrong frequency value in service settings
Request Validation2011Subscription not foundWrong uuid value or no subscription available
Request Validation2012Subscription {campaign} already exists with {operator} for this customerCreate duplicates subscription
Request Validation2013No valid agreement with {operator} for {environment} environmentService agreement not approved
Request Validation2014{operator} does not support partial refund. Refunded amount ({refund_amount}) did not match original amount ({original_amount})Refund amount not equal to charge amount
Request Validation2015Charge amount must be greater than zeroCharge amount less than zero
Request Validation2016Invalid (charge) parameter value. should be true for subscriptions offers free trialsCreate trial subscription with charge parameter value is false
Request Validation2017Period value is invalidFree coupons API request with not allowed period value
Request Validation2018Subscription not in inactive modeSubscription status value is not inactive
Request Validation2019Subscription not activeSubscription status value is not active
Request Validation2021Subscription not in paused modeSubscription status value is not removed
Request Validation2022Invalid SMS messageSMS MT not delivered
Request Validation2023{language} is not supported for {operator}Wrong language or it is not supported for this operator
Request Validation2024{msisdn} is not a valid MSISDN or ACRWrong MSISDN or ACR parameter value
Request Validation2025Account not foundThe customer does not exist in our system
Request Validation2026{operator} has a min charge amount of {min} {currency}Amount parameter value exceeds the purchase limit
Request Validation2027Refund amount must be less than zeroRefund amount greater or equal to zero
Request Validation2028Offer not provisioned
Request Validation2029Customer may not be eligible. Please call isEligible before dataProvision.
Request Validation2030Customer {msisdn} is blocked from using campaign with uri {campaign_uri}
Request Validation2031Trial value must be over zero
Request Validation2032Subscription creation exceeded the limit
Request Validation2033Transaction not found
Request Validation2034Customer {msisdn} is not currently eligible to use this campaign with uri {campaign_uri}MSISDN is not on the Campaign's whitelist
Request Validation2035Unknown operator {operator_code}
Request Validation2036Unknown MSISDN {msisdn} for operator {operator_code}
Request Validation2037Unknown Token {token}
Request Validation2038Subscription {campaign_uri} request already processing with {operator_name} for this customer {msisdn}
Request Validation2039One Off Charges is not allowed on Subscription campaign with uri {campaign_uri}
Request Validation2040Your service is only allowed to authenticate via Checkout
PIN API3001PIN sending failedSMS MT not delivered
Invalid PIN4001PIN has been used alreadyProved PIN value reused
Invalid PIN4002PIN has expiredProvided PIN value TTL expired
Invalid PIN4003PIN not foundWrong PIN parameter value
Free Trial5001{service_name} service doesn't support Free trial for subscriptionsTrial subscriptions not activated on service settings
Free Trial5002Free trial period cannot exceed 30 daysTrial parameter value greater than 30
Free Period5501{service_name} service doesn't support Free periods for subscriptionsFree coupons for subscription not activated in service settings
Free Period5502Free period cannot exceed {max_free_days} days
Service Incomplete6001Your service is missing notification_urlNotification url value is empty in service settings
Service Incomplete6002Your service is missing amountSubscription amount is empty in service settings
Service Incomplete6003Your service retries grace period is invalid. Grace period should not exceed 30 days and number of retries should not exceed 3 times per dayWrong grace period value in service settings
Service Incomplete6004You are not allowed to use this service
Service Incomplete6005Your service is inactive, Your are not allowed to use this service
Token Error7001Token {token} could not be found
Token Error7001Token {token} has been already used
Token Error7002No MSISDN for token {token}
Token Error7003Amount {amount} doesn't match the original amount provisioned with Token {token}
Token Error7004Token {token} doesn't belong to campaign with uri {campaign_uri}
Token Error7005Token {token} has not been provisioned with environment {environment}
Token Error7006Token {token} has expiredProvided Token value TTL expired
SMS API8001SMS sending failedSMS MT not delivered
SMS API8002SMS API is not allowed for campaign with uri {campaign_uri}
SUBSCRIPTION API9001Subscription creation failed with error={message}
MO API10001MO sending failed
MO API10002MO unknown command sent {command}
MO API10003MO operator not found for {param} {value}
MO API10004MO customer not found
MO API10005MO settings is not supported for operator {operator_code}
MO API10006MO is not allowed for campaign {campaign_id}
MO API10007MO unknown service keyword command sent {keyword}
MO API10008MO unknown receiver sent {receiver} for campaign {campaign_id}
MO API10009MO service is inactive, You are not allowed to use this service
MO API10010MO service is inactive, Customer {msisdn} is not currently eligible to use this campaign {campaign_id}
Fraud Token Error11001Token not found
Fraud Token Error11002Token does not belong to this service
Fraud Token Error11003Token is not valid
Fraud Token Error11004Token already used
Fraud Token Error11005Token expired
ErrorNo resourcesError contacting the operator systems so please contact Support to confirm

CALLBACK Errors

Other errors will be returned to your redirect URL and will have the following format:

http://your-redirect-url/?status=error&transaction_id={transaction_id}&message={reason_for_the_error}

MessagePossible Cause
not_found&param=xxxMissing required parameter
invalid_serviceUnknown service
invalid_merchantUnknown merchant
invalid_priceInvalid price param
invalid_transaction_idTransaction ID param does not exist
invalid_correlatorCorrelator params does not exist
invalid_service_not_belong_to_merchantThe Service provided does not belong to the Merchant
invalid_mismatch_merchantThe merchant provided is not the same merchant as the previous request
invalid_referral_is_blacklistedThe referral URL is blocked
service_not_allowedService is not allowed to use two click
operator_unsupportedOperator is not allowed to use two click
msisdn_not_detectedUnable to get the MSISDN/ACR
request_not_from_operator_gateway_ipThe request is not from the operator trusted IP. MSISDN could be from a different operator, not on mobile data etc.
transaction_id_not_uniqueDuplicate transaction ID
msisdn_mismatch
block_fraudFraud detected
not_confirmedFraud user did not check the confirm box
token_missingFraud
fraud_detectedFraud detected
civilid_check_failedWrong civil ID
user_cancelUser canceled the current transaction
no_auth_methodsUnavailable authentication methods
user_blockedUser is blocked
unable_to_redirect_to_axiataUnable to redirect to Axiata checkout page
invalid_service_not_belong_to_axiataThe service provided does not belong to Axiata
blockedThe request has been blocked
blocked_{msg}The request has been blocked and the reason will be the extra msg