background

Possible error codes on a failed transaction

Tags:r-codesr codeserrorhard failuresoft failuretechnical failureinsufficient fundscustomer refusesrefusaldisputedtransactietransactiesgeweigerdweigering

When a transaction fails, the bank generates an error code, which is then displayed in the Twikey user interface. This error code provides valuable information regarding the reason for the unsuccessful transaction, helping you identify and address the issue effectively.

R codes are displayed in the transaction detail or on the customer detail in the 'transactions' tab.

  • When clicking the error, the user is redirected to a page on our website where the error is described in detail.
  • When opening the transaction detail, a short description of the error is shown

An overview of all R codes can be is available at this link: https://www.twikey.com/product/r-codes/
NL: https://www.twikey.com/nl/product/r-codes/

Setting dunning steps allows you to automate your workflow

You can set specific actions (dunning steps) based on these error codes to facilitate smooth direct debit payments and prompt customers to finalize their transactions effortlessly. These dunning steps run automatically. An example is shown further in this article.

Insufficient funds - Soft failure (the CAN'T-BUCKET)

Usually this means that the customer can't pay (or not from that account).

CODEERROR REASON
MS03Reason not specified.
AM04Insufficient funds

Customer refuses - Hard failure (the WON'T-BUCKET)

This means that the customer explicitly didn't want to pay (but may want to opt for another mechanism)

CODEERROR REASON
MD06Disputed authorized transaction. Debtor has requested a refund within the 8 weeks refund period.
MS02The debtor refuses this particular collection. This code may be received pre- or post-settlement, depending on how quickly the debtor bank responds to the refusal.
SL01Specific service offered by the Debtor Bank. The creditor has been blocked by the debtor (blacklisted) or the collection amount is too high.

Technical Failure at bank (the OTHERS-BUCKET)

This is the anything else, could either be because there was a problem with the registration of the mandate at bank side or
any other technical problem.

CODEERROR REASON
AC01IBAN or IBAN/BIC combination of debtor is incorrect.
AC04Debtor account closed.
AC06Account of the debtor blocked (eg. succession/bankruptcy) or blocked for Direct Debit transactions by the debtor.
AC13Account type not allowed for Direct Debits.
AG01Account not allowed for Direct Debits for regulatory reasons.
AG02Bank Operation code specified in the message is not valid for the bank.
AM05Duplicate collection.
BE05Incorrect Creditor Identifier code.
FF01File Format incomplete or invalid.
MD01No valid mandate (no longer valid, not correctly registered, invalid sequence type).
MD02Mandate data missing or incorrect. Two FIRST transactions were received for the same mandate.
MD07Debtor deceased.
PY01Not routable. This can occur when the debtor's bank does not handle SDD's.
RC01Bank Identifier (BIC) incorrect.
RR01Regulatory Reason. The debtor account number is missing.
RR02Regulatory Reason. The debtor name and/or address is missing.
RR03Regulatory Reason. The creditor name and/or address is missing.
RR04Regulatory Reason. This code cannot be used in certain SEPA countries for data protection reasons. MS03 can be used as an alternative.

Dunning Example

Failed payments

Action(s) when insufficient funds MS03, AM04

  1. Try again with delay of 3 days
  2. Send payment link with reminder 1

Action(s) when customer refuses MD06, MS02, SL01

  1. Send payment link with reminder 1
  2. Notify (customer and/or merchant)

Action(s) on failure at bank AC01, AC04, AC06, AC13, AG01, AG02, AM05, BE05, FF01, MD01, MD02, MD07, PY01, RC01, RR01, RR02, RR03

  1. Change status of mandate to suspended
  2. Send payment link with reminder 1

For more info on how to adapt your failed payments flow; see Dunning

Last Update: 2023-08-25