# Code and Formats
source: https://developer.mastercard.com/bill-payment-validator/documentation/code-and-formats/index.md

## Error Codes {#error-codes}

| Error Code |                      Error Description                       |                                       Solutions to fix                                       |
|------------|--------------------------------------------------------------|----------------------------------------------------------------------------------------------|
| OA004      | Account Number did not match BillerID masks                  | Provide the Account number that match the biller masks                                       |
| OA005      | Account Number failed on a check digit                       | Provide the Account number that match the check digit                                        |
| OA003      | Account Number is required                                   | Provide the Valid Account number in the Request                                              |
| OA018      | BillerID will not accept transactions for the Account Number | Provide the Valid account number that accepts transactions for the given biller              |
| OA011      | BillerID is not active                                       | Provide the Valid and Active BillerID                                                        |
| OA002      | BillerID is required                                         | Provide the Valid and Active BillerID                                                        |
| OA019      | Invalid Account Number                                       | Provide the Valid Account number                                                             |
| OA010      | Invalid BillerID                                             | Provide the Valid and Active BillerID                                                        |
| OA012      | Invalid RPPSID                                               | Provide the Valid and Active RPPSID                                                          |
| OA009      | RPPSID does not have access to BillerID                      | Provide the Valid and Active RPPSID that have access for the given biller                    |
| OA013      | RPPSID is not active                                         | Provide the Valid and Active RPPSID                                                          |
| OA008      | RPPSID is not an Originator                                  | Provide the Originator RPPSID                                                                |
| OA001      | RPPSID is required                                           | Provide the Valid and Active RPPSID                                                          |
| OA017      | Transaction Amount exceeds BillerID maximum                  | Provide the valid transaction amount less than or equal the max transaction limit for biller |

## Response Codes {#response-codes}

This API return 200 status code for all the Success Scenarios and Error Scenarios. The user able to see the error description in the ResponseString tag in response.

## Gateway Error Codes {#gateway-error-codes}

For further information about 4xx/5xx response codes and possible resolutions, See [Gateway Error Codes](https://developer.mastercard.com/platform/documentation/gateway-error-codes/)

## Error Structure {#error-structure}

To ensure a consistent experience across all Mastercard APIs, Following structure is being followed by Bill Payment Validator for internal error scenario that can occur.

Single Error:

    {
      "Errors": {
        "Error": [
          {
            "Source": "<source>",
            "ReasonCode": "<unique code>",
            "Description": "<short description of the error>",
            "Recoverable": true/false,
          }
        ]
      }
    }

Multiple Errors:

    {
      "Errors": {
        "Error": [
          {
            "Source": "<source>",
            "ReasonCode": "<unique code>",
            "Description": "<short description of the error>",
            "Recoverable": true/false,
          },{
            "Source": "<source>",
            "ReasonCode": "<unique code>",
            "Description": "<short description of the error>",
            "Recoverable": true/false,
          }
        ]
      }
    }

## Bill Payment Validator Specific Errors {#bill-payment-validator-specific-errors}

Following error formats are specific to Bill Payment Validator service.

Sample of Bill Payment API error object:

    <BillPayAccountValidation>
       <RppsId/>
       <BillerId>0206990420</BillerId>
       <AccountNumber>4820008501111117</AccountNumber>
       <TransactionAmount>223</TransactionAmount>
       <CustomerIdentifier1/>
       <CustomerIdentifier2/>
       <CustomerIdentifier3/>
       <CustomerIdentifier4/>
       <ResponseString>RPPSID is required</ResponseString>
    </BillPayAccountValidation>

