# API Responses
###### Each Ratepay Payment API response contains at least three items of processing information: Status, Result and Reason. Merchants should log this status information for each single Ratepay operation.
The **status code** indicates if the gateway was technically able to process the operation or not.
The **result code** is a three-digit number that specifies the result of the processed operation, e.g. "success" or "failure".
The **reason code** is a number containing more-detailed information on why the transaction was successful or failed, e. g. “Request successful” or “Authentication failed”.
**Tip**: The "code hierarchy" is as follows: Status Code > Result Code > Reason Code. Explanation: Reason Codes are grouped into Result Codes and Result Codes occur into Status Codes.
Most gateway responses containing a **customer message** that can be shown to the customer.
## Example
```xml
payment_request_response.xml
[…]
PAYMENT_REQUEST
PAYMENT_PERMISSION
[…]
2018-09-13T10:55:04.000
Successfully
Request successful
Transaction result pending
The verification was successful. Thank you for choosing open invoice as your preferred method of payment.
[…]
```
In the example above you see:
``
[OK](/docs/developer/api_integration/payment_1.8/payment_api_documentation/responses/status_codes/#ok)
``
[402: Transaction result pending](/docs/developer/api_integration/payment_1.8/payment_api_documentation/responses/result/402)
``
[700: Request successful](/docs/developer/api_integration/payment_1.8/payment_api_documentation/responses/reason/700)
## Version History
| Version | Date | Changes |
| --- | --- | --- |
| 1.5 | January 2022 | Structural changes |
| 1.4 | January 2021 | Added a [Quick Start Guide](/docs/developer/api_integration/payment_1.8/payment_api_documentation/responses/quick_start_guide) and made some editorial changes |
| 1.3 | | Added reason code for Remember IBAN feature [262: Merchant consumer id and payment method 'ELV' are mandatory for using stored bank account information](/docs/developer/api_integration/payment_1.8/payment_api_documentation/responses/reason/262) |
| 1.2 | | Added reason codes for marketplaces[260: Shop-id in external block is mandatory for this product](/docs/developer/api_integration/payment_1.8/payment_api_documentation/responses/reason/260)[261: All items must contain a shop-id](/docs/developer/api_integration/payment_1.8/payment_api_documentation/responses/reason/261)[261: All items must not contain a shop-id](/docs/developer/api_integration/payment_1.8/payment_api_documentation/responses/reason/261) |
| 1.1 | April 2020 | Expanded possible reason codes by[720: Declined - Payment attribute](/docs/developer/api_integration/payment_1.8/payment_api_documentation/responses/reason/720)[721: Declined - Transaction risk](/docs/developer/api_integration/payment_1.8/payment_api_documentation/responses/reason/721) |
| 1.0 | January 2020 | Initial release on GitBook |