# Result Codes ###### The Result Code is a three-digit number that specifies the result of the processed operation, e.g. "success" or "failure" Result Codes indicating a transaction failure are always associated with response type `STATUS_ERROR`. Therefore, only the Result Code has to be evaluated to determine the response result (except `PAYMENT_QUERY`, see below). ## Evaluating the Result Code The following table provides an overview of all the gateway operations and corresponding Result Codes. ### Gateway operations and Result Codes | Operation | Success | Rejection | Technical Error | Warning | | --- | --- | --- | --- | --- | | `PAYMENT_INIT` | 350 | - | 150 | - | | `PAYMENT_QUERY`* | 402 | 401 | 150 | 405 | | `PAYMENT_REQUEST` | 402 | 401 | 150 | 405 | | `PAYMENT_CONFIRM` | 400 | 401 | 150 | 405 | | `PAYMENT_CHANGE` | 403 | 401 | 150 | 405 | | `CONFIRMATION_DELIVER` | 404 | 401 | 150 | 405 | | `CALCULATION_REQUEST` | 502 | 503** | 150 | - | | `CONFIGURATION_REQUEST` | 500 | - | 150 | - | *) The `PAYMENT_QUERY` needs a different evaluation. To determine if a following `PAYMENT_REQUEST` will be successful, the corresponding product has to be available. **) Although sending the same `CALCULATION_REQUEST` again is possible, the result will always be the same. This result indicates a request with wrong parameters. ### List of Result Codes and corresponding Reason Codes | Abbr. | Description | | --- | --- | | PQ | `PAYMENT_QUERY` | | PR | `PAYMENT_REQUEST` | | PC | `PAYMENT_CONFIRM` | | CD | `CONFIRMATION_DELIVER` | | Result Code | Reason Code | Reason Message | PQ | PR | PC | CD | | --- | --- | --- | --- | --- | --- | --- | | `402` | `700` | Request successful | ✓ | | | | | `401` | `701` | merchant limit exceeded | * | ✓ | | | | `401` | `703` | Request not successful | * | ✓ | | | | `401` | `720` | Declined - Payment attribute | * | ✓ | | | | `401` | `721` | Declined - Transaction risk | * | ✓ | | | | `401` | `800` | B2B customer not identified, manual check necessary | ✓ | ✓ | | | | `150` | `730` | Declined - Buyer identity | * | ✓ | | | | `150` | `1000` | technical error | ✓ | ✓ | ✓ | ✓ | | `150` | `2001` | different delivery address for current product not allowed | ✓ | ✓ | | | | `401` | `2002` | B2B not allowed for current product | ✓ | ✓ | | | | `150` | `2003` | Date of Birth invalid | ✓ | ✓ | | | | `150` | `2004` | due date parameter(s) not valid | | ✓ | | | | `150` | `2005` | Shopping basket amount too low for current product | ✓ | ✓ | | | | `150` | `2006` | Shopping basket amount too high for current product | ✓ | ✓ | | | | `150` | `2100` | billing address not valid | ✓ | ✓ | | | | `150` | `2101` | delivery address not valid | ✓ | ✓ | | | | `150` | `2110` | IBAN not valid | ** | ✓ | | | | `150` | `2111` | bank account conversion service not present and no IBAN available | ** | ✓ | | | | `150` | `2112` | BIC not valid | ✓ | ✓ | | | | `150` | `2114` | Validation failed: Customer parameter vat-id is mandatory for B2B request | ✓ | ✓ | | | | `150` | `2115` | Validation failed: vat-id not valid for billing address | ✓ | ✓ | | | | `150` | `2119` | Basket amount does not match sum of all basket items | ✓ | ✓ | ✓ | ✓ | | `150` | `2120` | request must contain at least one item in shopping basket | ✓ | | | | | `150` | `2300` | Request basket not valid {message} | ✓ | ✓ | ✓ | ✓ | | `150` | `2303` | Equal items found in basket – items have to be unique | ✓ | ✓ | ✓ | ✓ | *) The Reason Codes submitted by `PAYMENT_QUERY` response will only contain Reason Codes for technical and validation issues. **) Bank account data is optional for `PAYMENT_QUERY`.