The Synchronous API has a set of response codes that are returned within seconds as a response to the trans_com call.
If you get a successful response with code MR101, then you know that is the final status and it was successful.
If you get any ER response then the transaction has failed.
An ER result will never change status; once failed, it remains failed, you should not call get_trans_status for ER results.
A transaction that receives a clear error response (any ER code) is considered failed and will not be reprocessed. Where the sender has already been charged, the partner can safely refund the sender. Where the sender has not been charged, no refund is necessary.
The following flow chart shows you what to do, based on the response codes you get.
Pending response codes are either MR102 or MR103.
A pending result may occur due to downstream systems being unresponsive. In such cases, a back-office analysis is required to determine the state of the transaction and the appropriate remedy.
For pending responses, the partner should NOT refund the sender until the MFS back-office analysis has been completed we have agreed on remedy.
Where a result is not obtained or is ambiguous, the partner may query status by calling get_trans_status.
If you get an inconclusive result (MR102 or MR103) after three attempts then stop calling get_trans_status and consider the result as Inconclusive and log a ticket with our support team via email: [email protected].
The queued response code is MR108.
A queued response will only be received if the partner has elected to enable the queueing of transactions. Transactions will be queued where a temporary event prevents us from executing transactions to the receiving platform. Queued transactions execute (release) automatically once the temporary event has been resolved.
The partner should call get_trans_status to receive the final execution status.
The table below describes the available response codes
|MR101||Success||The transaction has been successfully executed to the destination platform.||No further action is required.|
|MR102||Pending||The transaction has not been executed.||Commit transaction by calling trans_com.|
|MR103||Pending||The transaction was not confirmed likely due to response not being received in the expected time from the destination platform. The partner needs to call get_trans_status for an update. If status is still pending, back office analysis is required.||Call get trans status.|
If status is still pending after 1 hour, contact MFS support.
|MR104||Log Success||The transaction has been logged successfully. Client can proceed to Commit.||Commit transaction by calling trans_com.|
|MR105||Cash pick up complete||The voucher cash pick up has been completed.||No further action is required.|
|MR106||Cash pick up pending.||The voucher cash pick up has not been completed||No further action is required.|
|MR107||Cash pick up cancelled||The voucher for cash pick up has been cancelled.||No further action is required.|
|MR108||Transaction queued||The transaction has been queued for execution.||Use get_trans_status to confirm final execution status.|
|MR109||Transaction cancelled||The transaction has been cancelled.||No further action is required.|
|ER101||Authentication error||The partner has provided an invalid corporate code / password.||Verify corporate code and password and retry.|
|ER102||Invalid partner code||The recipient partner code provided is invalid.||Verify recipient partner code and retry.|
|ER103||Partner corridor not active||The attempted corridor is inactive.||Contact MFS Support.|
|ER104||Invalid currency code||The currency code provided is not ISO 4217 compliant.||Verify the currency code and retry.|
|ER105||Invalid amount format||The transaction amount provided is incorrect.||Correct amount (positive number with 2 decimals) and retry.|
|ER106||Invalid MSISDN format||The MSISDN provided is not passed in ITU-T E.164 GSM DCS 1800 format, e.g. 250700800900.||Verify the MSISDN and retry.|
|ER107||Invalid transaction ID||The partner has provided an invalid MFS transaction ID or the MFS transaction ID identified using the Transaction ID of the sending 3P is invalid.||Verify the MFS transaction ID and retry.|
|ER108||Subscriber not found||Subscriber not registered on destination platform.||Double check the mobile number, and/or inform sending customer that the recipient account cannot be found on the destination platform, thus the transfer cannot proceed.|
|ER109||Subscriber not authorized to receive amount||Amount being sent exceeds the limit allowed for the client.||Contact recipient before retry, alternatively try smaller amount.|
|ER110||Insufficient fund in merchant account||The transaction failed due to insufficient funds on the on the E-wallet merchant account to process the transaction.||Contact MFS Support|
|ER111||Transaction could not be executed||The requested transaction cannot be executed.||Failure on receiving wallet. Refund sender.|
|ER115||Expired transfer proposal.||The transaction proposal has expired (more than 24 hours).||Submit new log instruction to create new transaction proposal|
|ER200||E-Wallet System error||The transaction failed due to an error occurring on the E-Wallet platform.||Failure on receiving wallet. Refund sender.|
|ER201||MFS System error||The transaction failed due to an error occurring on the MFS platform.||Contact MFS Support.|
|ER202||Blacklist error||The log failed as the subscriber matched to a blacklist item||Contact MFS Support.|
|ER203||Daily Sender Velocity Limit Exceeded||The log failed as the request causes the daily velocity limit to be exceeded for the sender||Retry next day.|
|ER204||Daily Recipient Velocity Limit Exceeded||The log failed as the request causes the daily velocity limit to be exceeded for the recipient||Retry next day.|
|ER205||Weekly Sender velocity Limit Exceeded||The log failed as the request causes the weekly velocity limit to be exceeded for the sender||Retry next day.|
|ER206||Weekly Recipient velocity Limit Exceeded||The log failed as the request causes the weekly velocity limit to be exceeded for the recipient||Retry next day.|
|ER207||Monthly Sender velocity Limit Exceeded||The log failed as the request causes the monthly velocity limit to be exceeded for the sender||Retry next day.|
|ER208||Monthly Recipient velocity Limit Exceeded for Recipient||The log failed as the request causes the monthly velocity limit to be exceeded for the recipient||Retry next day.|
|ER209||Transaction Max Amount exceeded||The log failed as the max transaction amount will be /has been exceeded.||Confirm max transaction limit, amend amount and retry.|
|ER210||Invalid voucher code||The partner has provided an invalid voucher code.||Verify the voucher code and retry.|
|ER211||Invalid voucher partner||The partner has provided an invalid voucher partner.||Verify the voucher partner and retry.|
|ER212||Invalid bank account number||The bank account number provided is invalid.||Confirm and provide valid bank account number and retry. Or inform sending customer that the recipient bank account number provided is invalid, thus the transfer cannot proceed.|
|ER213||Invalid mfs bank code||The mfs bank code provided is invalid.||Correct mfs bank code and retry.|
Updated 12 months ago