Visa Transactions

Visa card transactions unlike Verve and MasterCard transactions require cardinal validation. Payment transaction requires Cardinal when ResponseCode is S0

Process Flow

Step One: Make a call to Card Payments API. If the response code gotten is S0, it shows that it is a cardinal transaction.
Sample successful response is like so:

  "paymentId": "66603",                                                                   
  "responseCode": "S0",                                                                  
  "amount": "200.00",                                                                   
  "transactionRef": "ESBDEV10003",                                                        
  "transactionId": "MSPjKBV2Kyg91MQRMep0",                                               
  "eciFlag": "07",                                                                                                                                                             
  "MD": "66603",                                                                          
  "ACSUrl": "",     
  "TermUrl": "",     
  "PaReq": "eNpVUttu4jAQffdXoH5AbOeCtGhqKQVp2+2GpmlL9zU4s2AgTuo4Bf6+doBe3uacuficGcPz2iDOnlD2BgVk2HXlCkequr7KnvLN/c0ivD+ufvHssciwZVcC8rTANwHvaDrVaMEDFoRAL5C4EUauS20FlPLt5m4u4jiOogjoGRKo0dzNBA+jOBkDPSECuqxRpBXaXm+UGqVbpSsEOtAEZNNra44iGbuWCyDQm51YW9tOKN3jsi2PgdLWSdkrK9d6Fcimpo6tlEFpaYV1A9T3EKBfOvPeR52zf1CVeF7MH8utnS42f/7iq0yyF168bPlOztJroL6CQFVaFCHjY5aE0YjzScInPAY68ATK2gsU89/zUchYwJgzf6IItP6x9IRc0ue+U85pbwxqebF6QQTw0DYafRvQz9gZ+ZI/vfVLl9btM5/pij10u+Vh+v/233IfcrnPZVE0/g5DxTBQuS06FfEwUQ0rpX4KPV+Znj+Ei358lA9Mdboe"            

Step Two: Authorize the transaction. To do so, create an HTML form to be submitted on page load to the ACSUrl value provided above.

<body onload ='form1.submit()'>
  <form id="form1" action=ACSUrl method="post">
    <input name="TermUrl" value={TermUrl}>
    <input name="MD" value={MD}>
    <input name="PaReq" value={PaReq}>

Values TermUrl, MD and PaReq should also be replaced with the values from the response in step one above.
The form opens the Visa cardinal authorization page where the user enters their Visa card's iPin/password and submits.

Step Three: Make a call to Authorize Transaction (3D Secure) to complete the transaction. A final successful transaction will be like so:

    "transactionIdentifier": "GTB|WEB|VNA|23-05-2016|66603|999591",
    "token": "5123453847245380",                                  
    "tokenExpiryDate": "2004",                                      
    "panLast4Digits": "0002",                                      
    "amount": "200.00",                                             
  "transactionRef": "ESBDEV10003",                               
  "message": "Approved by Financial Institution"