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”.
Most gateway responses containing a special element:
A Customer Message that can be shown to the customer. This will help the customer correcting invalid data and result into a higher conversion rate. The language of this message depends on the customer-language (if submitted), the shop-language (if submitted) or the country code of the billing address.
payment_request_response.xml[…]<operation>PAYMENT_REQUEST</operation><response-type>PAYMENT_PERMISSION</response-type>[…]<processing><timestamp>2018-09-13T10:55:04.000</timestamp><status code="OK">Successfully</status><reason code="700">Request successful</reason><result code="402">Transaction result pending</result><customer-message>The verification was successful. Thank you for choosing open invoice as your preferred method of payment.</customer-message></processing>[…]
In the example above you see the following codes: