Out of band transaction notification


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. Merchants’ developers can interface to the Out of Band system by implementing a Webservice that will consume the transaction response message. These transaction responses would be available when the cardholder has completed a payment to the merchant. The transaction responses are V_XML formatted, parameters returned are defined in 5.5.2 Output Parameters per action. Out of Band can be used across gateway products.

Prerequisite

  1. Merchant developer has to implement a Webservice that can consume the transaction results as and when its available from the Out of Band notification system.
  2. The merchant developer has to contact their local support team for Out of Band Transaction notification to be enabled on their Test/Live application ID(s)
  3. A Merchant developer will need to provide the target end of point of the Webservice


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;

         }

     }

}