Interac® Online Transaction Authorization

URI Summary

Action

URI Template

URI Example

Non-URI Request

Response

POST

/v[M.m]/stores/{StoreID}/payments/interaconline/auth/{TenderType}.{format}

/v1.0/stores/stores123/payments/interaconline/auth/IO.xml

XML

200 + XML response

Request Example

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<InteracOnlineTransactionAuthRequest xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
  <OrderId>test</OrderId>
  <CurrencyCode>CAD</CurrencyCode>
  <InteracOnlineOrderId>41011</InteracOnlineOrderId>
  <BankResponseList>
    <BankResponse fieldName="merchant_name" fieldValue="GSI Commerce SB"/>
    <BankResponse fieldName="IDEBIT_ISSCONF" fieldValue="CONF#TEST"/>
    <BankResponse fieldName="IDEBIT_NOTFUNDEDURL" fieldValue="http://secdevwsv03.us.gspt.net:1401/gsi-payment-service/interac-online/non-funded.html?funded=0"/>
    <BankResponse fieldName="accountType" fieldValue="Chequing"/>
    <BankResponse fieldName="headerText" fieldValue=""/>
    <BankResponse fieldName="IDEBIT_TRACK2" fieldValue="3728024906540591214=12010123456789XYZ"/>
    <BankResponse fieldName="bank_choice" fieldValue="1"/>
    <BankResponse fieldName="IDEBIT_ISSNAME" fieldValue="TestBank1"/>
    <BankResponse fieldName="funded" fieldValue="1"/>
    <BankResponse fieldName="IDEBIT_ISSLANG" fieldValue="en"/>
    <BankResponse fieldName="IDEBIT_VERSION" fieldValue="1"/>
    <BankResponse fieldName="IDEBIT_INVOICE" fieldValue="41011"/>
    <BankResponse fieldName="confirmValue" fieldValue=""/>
    <BankResponse fieldName="IDEBIT_FUNDEDURL" fieldValue="http://secdevwsv03.us.gspt.net:1401/gsi-payment-service/interac-online/funded.html?funded=1"/>
    <BankResponse fieldName="IDEBIT_MERCHDATA" fieldValue="CCDC7D56-677B-4BD5-8339259E1CB652BF"/>
    <BankResponse fieldName="IDEBIT_AMOUNT" fieldValue="12345"/>
  </BankResponseList>
</InteracOnlineTransactionAuthRequest>

Request Elements

Element

Optional/Required

Description

Type

Restriction

/InteracOnlineTransactionAuthRequest/OrderId

Required

A unique identifier for the order.

The client is responsible for ensuring uniqueness across all transactions the client initiates with this service.

String

Max 20 characters

/InteracOnlineTransactionAuthRequest/CurrencyCode

Required

The code that represents the type of currency being used for a transaction.Currency codes are defined by ISO 4217:2008 See: http://en.wikipedia.org/wiki/ISO_4217

Enum

Max 3 characters

/InteracOnlineTransactionAuthRequest/InteracOnlineOrderId

Required

Payment service generated unique order id submitted as 'trnOrderNumber' on Interac online 1st transaction call.

This is done as webstore might have dummy order id during the first call. During 1st transaction call, this id will be returned.

Webstore should return this id as part of 2nd auth call input. Payment service will use the same to link both the transactions.

String

Max 32 characters

/InteracOnlineTransactionAuthRequest/BankResponseList

Required

All bank authorization returned values shall be passed in the list.

Complex Type


/InteracOnlineTransactionAuthRequest/BankResponseList/BankResponse

Required

All bank authorization returned values shall be passed as name/value pairs. Name as an attribute, value for the element.

Complex Type


/InteracOnlineTransactionAuthRequest/BankResponseList/BankResponse/fieldName

Required

Set field names returned Interac online customer bank interaction response.

String

Sample field names returned,
funded
IDEBIT_NOTFUNDEDURL
IDEBIT_TRACK2
IDEBIT_ISSLANG
IDEBIT_VERSION
IDEBIT_ISSCONF
IDEBIT_MERCHDATA OR IDEBIT_MERCHANTDATA
IDEBIT_AMOUNT
IDEBIT_INVOICE
IDEBIT_FUNDEDURL
bank_choice
merchant_name
IDEBIT_ISSNAME
confirmValue
accountType
headerText

/InteracOnlineTransactionAuthRequest/BankResponseList/BankResponse/fieldValue

Required

Map the value of all fields returned from Interac online customer bank interaction response.

String


Response Example

<?xml version="1.0" encoding="UTF-8"?>
<InteracOnlineTransactionAuthReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
    <OrderId>123456</OrderId>
    <ResponseCode>Success</ResponseCode>
    <TransactionId>10000034</TransactionId>
    <TransactionDateTime>2017-12-27T09:16:54Z</TransactionDateTime>
    <TransactionAmount>123.45</TransactionAmount>
    <BankAuthorizationCode>TEST</BankAuthorizationCode>
    <FinancialInstitutionConfirmationCode>CONF#TEST</FinancialInstitutionConfirmationCode>
    <FinancialInstitutionName>TestBank1</FinancialInstitutionName>
</InteracOnlineTransactionAuthReply>

Response Elements

Element

Optional/Required

Description

Type

Restriction

/InteracOnlineTransactionAuthReply/OrderId

Required

A unique identifier for the order.

The client is responsible for ensuring uniqueness across all transactions the client initiates with this service.

String

Max 20 characters

/InteracOnlineTransactionAuthReply/ResponseCode/

Required

Used by client to determine Success or Fail or Timeout response.

Enum

Fail/Success/Timeout

/InteracOnlineTransactionAuthReply/TransactionId

Optional

Unique id number used to identify an individual transaction.

Reference the transaction identification number (trnId) from the original purchase for refunds.

String

Max 9 characters

/InteracOnlineTransactionAuthReply/TransactionDateTime

Optional

The date and time that the transaction was processed.

Received as PST/PDT from the provider and passed out as UTC.

DateTime


/InteracOnlineTransactionAuthReply/TransactionAmount

Optional

Transaction amount

String


/InteracOnlineTransactionAuthReply/BankAuthorizationCode

Optional

If the transaction is approved this parameter will contain a unique bank-issued code.

String

Max 32 characters

/InteracOnlineTransactionAuthReply/FinancialInstitutionConfirmationCode

Optional

Where applicable, an Interac online confirmation number will be returned by the customer’s financial institution if the transaction has been processed successfully. This value must be displayed to the customer on a transaction confirmation page for Interac online transactions.

String

Max 15 characters

/InteracOnlineTransactionAuthReply/FinancialInstitutionName

Optional

The name of the customer’s financial institution for Interac online transactions.

String

Max 30 characters

/InteracOnlineTransactionAuthReply/ErrorDetail

Optional

Contains optional error information as returned from Interac online.

If error field type is not mapped, then error text element might be used.

Complex Type


/InteracOnlineTransactionAuthReply/ErrorDetail/ErrorMessage

Required

This field will return a relevant error message in case of failure.

String

Max 30 characters

/InteracOnlineTransactionAuthReply/ErrorDetail/ErrorFields

Optional

Interac online can mention about specific field value having the problem.

This is not supposed to accurate, as it might or might not specify for multiple values.

Enum

Can be any of the below

OrderNumber/OrderAmount
/BillingName/BillingLine1
/BillingCity/BillingMainDivisionCode
/BillingPostalCode/BillingCountryCode
/BillingPhoneNo/CustomerEmail

/InteracOnlineTransactionAuthReply/extension

Optional


String