Error Codes (Payments)

Description

During Bre-B payment processing, the result of an operation is not determined only by the HTTP response code.

HTTP response codes indicate whether the request was received or processed at the API communication level. However, the functional result of the transaction is returned inside the JSON response body.

For this reason, integrators must validate the payment status fields returned in the JSON response, mainly:

{ "error": { "error_code": "B101", "error_description": "Payment rejected by the MOL with code B101" }
  • status_code: Indicates the functional status of the operation. For example: ACTC or RJCT.

  • error_code: Specific code that indicates the reason for the result or rejection.

  • error_description: Functional or technical detail associated with the result.

Status interpretation

Status Code

Meaning

Description

ACTC

Accepted

The transaction was successfully accepted.

RJCT

Rejected

The transaction was rejected due to a validation, business rule, participant issue, or ecosystem condition.

Credit Transfer Response Codes

The following codes apply to Credit Transfer operations.

These responses are returned inside the JSON response body and should not be interpreted only based on the HTTP status code:

Status Reason Code

Status Code

Operation

Description

U000

ACTC

Credit Transfer

Successful operation.

U120

RJCT

Network Management

Inbound channel signed out.

U119

RJCT

Credit Transfer

Session validation failed.

U111

RJCT

Credit Transfer

Minimum amount check failed. The minimum allowed value is 1.

U112

RJCT

Credit Transfer

Maximum amount check failed.

U125

RJCT

Credit Transfer

Inbound bank classifier not found.

U126

RJCT

Credit Transfer

Outbound bank ID cannot be determined.

U122

RJCT

Credit Transfer

Inbound bank is not active.

U204

RJCT

Credit Transfer

Liquidity position state not found.

U272

RJCT

Credit Transfer

Rejected due to rules for originating or receiving payments.

U908

RJCT

Credit Transfer

Validation error related to participant lock status, participant configuration, account data, message structure, or required transaction fields. See section "Errors Associate with U908" for more details.

Errors associated with U908

The U908 code groups different rejection scenarios related to business validations, configuration, participants, accounts, or message structure.

Participant validations

Status Reason Code

Status Code

Description

U908

RJCT

Debtor not found in CUD Account table.

U908

RJCT

Creditor not found in CUD Account table.

U908

RJCT

Invalid transaction: debtor participant is inactive.

U908

RJCT

Invalid transaction: creditor participant is inactive.

U908

RJCT

Invalid transaction: receiving participant is locked.

U908

RJCT

Invalid transaction: originating participant is locked.

U908

RJCT

Invalid transaction: originating and receiving participants are locked.

U908

RJCT

The account of the source participant and the account of the destination participant do not exist.

Debtor Validations

Status Reason Code

Status Code

Description

U908

RJCT

Debtor Agent ID must be 1 to 9 characters.

U908

RJCT

Debtor Account ID must exist and be 1 to 34 characters.

U908

RJCT

Debtor Account data must be registered in the dictionary.

U908

RJCT

Debtor name is required and must be 1 to 140 characters.

U908

RJCT

Debtor ID must be 1 to 18 alphanumeric characters.

U908

RJCT

Debtor must be registered in the dictionary.

Creditor Validations

Status Reason Code

Status Code

Description

U908

RJCT

Creditor Agent ID must be 1 to 9 characters.

U908

RJCT

Creditor Account ID must exist and be 1 to 34 characters.

U908

RJCT

Creditor Account data must be registered in the dictionary.

U908

RJCT

Creditor name is required and must be 1 to 140 characters.

U908

RJCT

Creditor ID must be 1 to 18 alphanumeric characters.

U908

RJCT

Creditor data must be registered in the dictionary.

Message and Transaction Structure Validations

Status Reson Code

Status Code

Description

U908

RJCT

InstdAgt Name field must be a type registered in the dictionary.

U908

RJCT

InstgAgt Name field must be a type registered in the dictionary.

U908

RJCT

NbOfTxs must be 1.

U908

RJCT

SttlmMtd must be CLRG.

U908

RJCT

Amount value is a mandatory field.

U908

RJCT

Currency code must be COP.

U908

RJCT

Transaction ID must be unique and comply with the expected format.

U908

RJCT

EndToEndId must match the Transaction ID.

Transaction Status Inquiry Response Codes

These codes apply to transaction status inquiries, associated with the status update for a payment calls.

Status Reason Code

Status Code

Operation

Description

U000

ACTC

Payment Status Request

Request processed successfully.

U106

RJCT

Payment Status Request

Transaction not found.

U103

RJCT

Payment Status Request

Tenant undefined validation.

Additional Bre-B Ecosystem Error Code List

Status Reason Code

Status Code

Operation

Description

B001

RJCT

Credit Transfer

Time-out declared by the Originating SPBVI.

B002

RJCT

Credit Transfer

Time-out declared by the Receiving SPBVI.

B301

RJCT

Credit Transfer

Time-out declared by the Originating SPBVI during a payment status inquiry.

B302

RJCT

Credit Transfer

Time-out declared by the Receiving SPBVI during a payment status inquiry.

B101

RJCT

Credit Transfer

Error in the receiving financial consumer account validations.

B102

RJCT

Credit Transfer

Invalid receiving customer account number.

B103

RJCT

Credit Transfer

Incorrect receiving customer identification.

B104

RJCT

Credit Transfer

Incorrect receiving customer payment method type.

B105

RJCT

Credit Transfer

Receiving customer account does not exist.

B106

RJCT

Credit Transfer

Rejected due to risk control or suspected fraud.

B107

RJCT

Credit Transfer

Exceeds the maximum amount allowed for low-value, ordinary, or inclusive deposits.

B108

RJCT

Credit Transfer

Exceeds the maximum amount allowed by the SPBVI.

B109

RJCT

Credit Transfer

Exceeds the maximum amount allowed by the receiving Participant.

What is an SPBVI?

In Bre-B, SPBVI refers to system participants authorized to operate under the instant low-value payments scheme(i.e., participating regulated entities) that originate or receive transactions.

In practice:

  • Originating SPBVI: the participant (entity) that sends/initiates the payment.

  • Receiving SPBVI: the participant (entity) that receives the payment (where the beneficiary’s account/payment instrument is held).

Therefore, for time-out errors:

  • if it says “time-out declared by the Originating SPBVI”, the unavailability/latency is attributed to the originating participant side;

  • if it says “time-out declared by the Receiving SPBVI”, it is attributed to the receiving participant side.