Interac Deposit

Gigadat´s Interac deposit is a online banking payment method from Canada.

The following method IDs are covered in this section:

ID

Name

Credit/Debit State

343

InteracDeposit

DepositedByProvider (29)

Payment method interaction type: Redirection to External Payment Provider (see Interaction Types).

After initiating the payment with Gigadat, the customer is redirected to the online banking login page. After confirming the payment the user is returned to the merchant.

Redirect Integration

Not supported at this moment.

Backend2BackendIntegration

We support two integrations for Interac Depost:

  • Online Pay-in - Interac Direct Payment (IDP)
  • e-Transfer Pay-in - e-Transfer Integration (ETI).

The following parameters can be provided in initiatePaymentRequest.specificPaymentData:

key (value type, account type, required)

value

HomePageURL
(string, required)

The URL to redirect user in case of successful payment

ProductCode
(string, optional)

If populated, the value must be 'ETI'.
Note: If this field is not supplied, the system defaults to IDP integration.

Example initiatePaymentRequest:

<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.cqrpayments.com/PaymentProcessing">
 <merchantID>B2BTestMerchant</merchantID>
 <shopID>ProviderTesting</shopID>
 <merchantTransactionID>gererhe-trt5-tn7dde4-tz7t9-g683ge4g72kz53</merchantTransactionID>    
 <paymentMethodID>343</paymentMethodID>
 <amount currencyCode="CAD">1.12</amount>                                              
 <userID>usertsani</userID>
 <userIP>127.0.0.1</userIP>
 <userSessionID>0bde6d65-1c02-42c8-9a4f-149f2c5779fc</userSessionID>
 <creationTypeID>1</creationTypeID>
 <specificPaymentData>
 <data xsi:type="keyStringValuePair">
    <key>HomePageUrl</key>
    <value>http://success.com</value>
 </data>
   <data xsi:type="keyStringValuePair">
            <key>ProductCode</key>
            <value>ETI</value>
        </data>
 </specificPaymentData>
</initiatePaymentRequest>

Example initiatePaymentResponse:

<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <payment xsi:type="paymentWithPaymentAccount">
        <merchantID>B2BTestMerchant</merchantID>
        <shopID>ProviderTesting</shopID>
        <paymentMethod>
            <key>343</key>
            <value>InteracDeposit</value>
        </paymentMethod>
        <merchantTransactionID>gererhe-trt5-tn7dde4-tz7t9-g683ge4g72kz53</merchantTransactionID>
        <paymentID>44a9fb90-cc4f-42c3-95a4-4f190ccc12c6</paymentID>
        <userID>usertsani</userID>
        <paymentProvider>
            <key>181</key>
            <value>Gigadat</value>
        </paymentProvider>
        <amount currencyCode="CAD">1.12</amount>
        <creationType>
            <key>1</key>
            <value>User</value>
        </creationType>
        <userIP>127.0.0.1</userIP>
        <state>
            <id>d1888e2b-1d75-443d-97da-446757cfe0eb</id>
            <definition>
                <key>287</key>
                <value>RedirectDataCreated</value>
            </definition>
            <createdOn>2019-06-27T13:43:31.7735232Z</createdOn>
            <paymentStateDetails>
                <detail xsi:type="keyStringValuePair">
                    <key>RedirectionUrl</key>
                    <value>https://interac.express-connect.com/webflow?transaction=28671083</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>PostDatatoken</key>
                    <value>eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiJ1c2VydHNhbmkiLCJzaXRlIjoiaHR0cDovL3N1Y2Nlc3MuY29tIiwidXNlcklwIjoiMTI3LjAuMC4xIiwiY3VycmVuY3kiOiJDQUQiLCJhbW91bnQiOjEuMTIsInNhbmRib3giOnRydWUsImxhbmciOiJlbiIsInRyYW5zYWN0aW9uaWQiOiIyODY3MTA4MyIsInVzZXIiOiIwMTNlYzhjMGZjMGNmYmU0MGRjMDgwYjkyNTRkODAwNyIsImNhbXBhaWduIjoiNzEzOWEwNGVhMzQ2YTAwZWFlNDg4ZmYzNDg1M2YzNzMiLCJpYXQiOjE1NjE2NDMwMTF9.G6lsk3fHAMiltWa6wkl-yzBQ53iQYGwSwMfkk6pHFoM</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>PostDataKeys</key>
                    <value>token</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>PaymentStateReasonID</key>
                    <value>1</value>
                </detail>
            </paymentStateDetails>
        </state>
        <isExecuted>false</isExecuted>
        <baseAmount currencyCode="EUR">0.81</baseAmount>
        <paymentDetails>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderExternalID</key>
                <value>28671083</value>
            </detail>
        </paymentDetails>
        <paymentAccount>
            <paymentAccountID>0</paymentAccountID>
        </paymentAccount>
    </payment>
</initiatePaymentResponse>

Possible payment states in initiatePaymentResponse:

Payment State

Description

RedirectDataCreated (287)

OK state; Redirect user to the URL using via POST.

The merchant system should retrieve the redirect URL from payment.state.paymentStateDetails (key: RedirectionUrl).
Post data should be extracted from payment.state.paymentStateDetails (key: PostDataToken).
Merchant sends POST request to RedirectionUrl including POST data.

BlockedByPaymentScoring (202)

Error state; Refused by the PXP Financial Risk System

RefusedByPaymentScoring (121)

Error state; Refused by the PXP Financial Risk System

InitiateErrorReportedByProvider (4)

Error state; Technical error during payment initialization. Final state.

InitiateRequestProviderCommunicationErrorOccured

Technical communication error state. Final state.

After redirection of the customer to Gigadat, a notification is being sent from Gigadat to PXP Financial.

Payment State

Description

Expired

The payment has expired due to session time out.

Deposited

The payment was reported as successful by the provider.

RefusedByProvider

The provider has refused the payment.

Notifications

The standard notification mechanism is used for notifying the merchant in the background (asynchronously) about payment state changes. For more information see PaymentStateChangedNotification.

Example handlePaymentStateChangedNotificationRequest:

<?xml version="1.0" encoding="utf-16"?>
<handlePaymentStateChangedNotificationRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <payment xmlns:="http://www.cqrpayments.com/PaymentProcessing" xsi:type="paymentWithPaymentAccount">
    <merchantID>B2BTestMerchant</merchantID>
    <shopID>150001</shopID>
    <paymentMethod>
      <key>343</key>
      <value>InteracDeposit</value>
    </paymentMethod>
    <merchantTransactionID>42e72bc8-bc75-4859-8b09-633294cd4764</merchantTransactionID>
    <paymentID>11e703a9-8e48-43bd-9741-bac7cf60c685</paymentID>
    <userID>7878780</userID>
    <paymentProvider>
      <key>181</key>
      <value>Gigadat</value>
    </paymentProvider>
    <amount currencyCode="CAD">1.1200</amount>
    <creationType>
      <key>1</key>
      <value>User</value>
    </creationType>
    <userIP>127.0.0.1</userIP>
    <state>
      <id>687a05af-6157-4a69-9824-07bf21109694</id>
      <definition>
        <key>29</key>
        <value>DepositedByProvider</value>
      </definition>
      <createdOn>2019-06-28T08:57:10.897</createdOn>
      <paymentStateDetails>
        <detail xsi:type="keyStringValuePair">
          <key>ApprovalCode</key>
          <value>123456</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderStatusCode</key>
          <value>STATUS_SUCCESS</value>
        </detail>
      </paymentStateDetails>
    </state>
    <isExecuted>true</isExecuted>
    <baseAmount currencyCode="EUR">0.8100</baseAmount>
    <paymentDetails>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderExternalID</key>
        <value>28681930</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>BankName</key>
        <value>National Bank of Canada</value>
      </detail>
    </paymentDetails>
    <paymentAccount>
      <paymentAccountID>0</paymentAccountID>
    </paymentAccount>
  </payment>
</handlePaymentStateChangedNotificationRequest>