Out of band transaction notification
Out of Band Transaction notification is a dedicated messaging system that allows merchants to receive their transaction outcome reliable and timeously. The transaction outcome available in the Out of Band notification system contains the same data elements as would be found when doing a transaction look up in the gateway's endpoint or directly from Backoffice. Merchant developers can implement a webservice that will consume the transaction notification payload. The transaction notifications are usually available when the cardholder completes a payment to the merchant.
Format of the OOB Transaction Notification
- The transaction notifications to the merchant are JSON formatted, the body of the message contains a Base64 string of the VXML response. The VXML response parameters are defined in the Output Parameters per action.
Usage: Out of Band notifications are available for any transactions processed by the Gateway, no matter the channel or product.
Prerequisite
- Merchant developer has to implement a Webservice that can consume the transaction results posted to the merchants endpoint, with the sample available in merchant-webservice
- Out of Band Transaction notification must be enabled on the Test/Live application ID(s), this can be actioned by the support team - assist@iveri.com
- The merchant developer has to contact the support team - assist@iveri.com and provide the merchant URL to be used for posting transaction
- The merchant URL should be HTTPS and handle TLS 1.2 connections.
Merchant Webservice
The sections covers the Webservice example which the merchant can implement in order to consume the transaction responses as and when they are delivered by the Gateway's out of band notification system.
Out of Band Sample
Sample from a merchant view point |
namespace { public class Response: IResponse { public string TransactionResponse(Response_message message) { string decoded_response = null; string response_message = null; string response = message.message; //Deserialize the message and get the response dynamic dynJson = JsonConvert.DeserializeObject(response); string deserialized_response = dynJson.Response; //Decode the response from base64 byte [] response_data = System.Convert.FromBase64String(deserialized_response); decoded_response = System.Text.ASCIIEncoding.ASCII.GetString(response_data); response_message = decoded_response; Log.WriteLog(response_message); return response_message; } } } |