---
title: "Interactive transaction"
method: POST
path: "/transaction/v4/interactive"
---

# Interactive transaction

`POST /transaction/v4/interactive`

Interactive transaction endpoint.

## Request body

- InteractionRequest
  - `product` string, required — The product type. Allowed value: IBT
  - `transactionRegion` string, required — The 2-letter province or other applicable geographic region where the transaction funds will be used. (ISO 3166-2:CA)
  - `countryCode` string, required — The consumer's 2-letter (non-numeric) country code. (ISO 3166-1 alpha-2). Allowed values: CA
  - `language` string, required — The consumer's language code. (ISO 639-1).
  - `dataPassThrough` string — A pass-through field that can be used as an extra parameter to identify the transaction or consumer.
  - `originatorIp` string, required — The consumer's IP address used to initiate the transaction
  - `merchant` Merchant, required
    - `merchantId` string, required — Merchant's assigned Paramount Commerce ID
    - `merchantSubId` string, required — "Merchant Sub ID. This parameter is used to separate reporting and notifications by Merchants who process transactions for multiple websites or need to separate their traffic for other reasons."
    - `merchantUserId` string, required — Merchant's user ID
    - `merchantTransactionId` string, required
  - `consumer` Consumer, required
    - `firstName` string, required — User's first name
    - `lastName` string, required — User's last name
    - `dob` string, yyyy-mm-dd, required — User's date of birth. Must be in ISO format: YYYY-MM-DD
    - `region` 'AL' | 'AK' | 'AS' | 'AZ' | 'AR' | 'CA' | 'CO' | 'CT' | 'DE' | 'DC' | 'FM' | 'FL' | 'GA' | 'GU' | 'HI' | 'ID' | 'IL' | 'IN' | 'IA' | 'KS' | 'KY' | 'LA' | 'ME' | 'MH' | 'MD' | 'MA' | 'MI' | 'MN' | 'MS' | 'MO' | 'MT' | 'NE' | 'NV' | 'NH' | 'NJ' | 'NM' | 'NY' | 'NC' | 'ND' | 'MP' | 'OH' | 'OK' | 'OR' | 'PW' | 'PA' | 'PR' | 'RI' | 'SC' | 'SD' | 'TN' | 'TX' | 'UT' | 'VT' | 'VI' | 'VA' | 'WA' | 'WV' | 'WI' | 'WY' | 'AB' | 'BC' | 'MB' | 'NB' | 'NL' | 'NT' | 'NS' | 'NU' | 'ON' | 'PE' | 'QC' | 'SK' | 'YT', required — User's home address state. Use the standard 2-letter state abbreviation as defined by USPS.
    - `postalCode` string, required — User's home address postal code (NNNNN or ANA-NAN or ANA NAN or ANANAN (A = Alphabet, N = Numeric))
    - `emailAddress` string, email — User's email address
    - `emailAddressVerifiedTime` string — ISO 8601 full-time formatted timestamp of when the merchant last verified the user's ownership of the email address via an acceptable OTP method.
    - `phoneNumber` string, required — User's phone number
    - `phoneNumberVerifiedTime` string — ISO 8601 full-time formatted timestamp of when the merchant last verified the user's ownership of the phone number via an acceptable OTP method.
    - `originatorIp` string, required — IP address the consumer is currently on
  - `bank` Bank, required — This object is not required for first-time consumer transaction requests. When using the TOKEN bank type, you must specify the token that represents the consumer's bank account. The token can be used for subsequent transactions initiated by the same consumer using the same bank account. Allowed value: TOKEN
    - `accountToken` string, required — The account token that represents the consumer's bank account.
    - `bankInformationType` string, required — Use the TOKEN bank type if you have a token that represents the consumer's bank account. Allowed value: TOKEN
  - `transactionAmount` integer, required — The transaction amount expressed in cents. Instant Bank Transfer limits the maximum amount to 9999900 cents
  - `currencyCode` string, required — The 3-letter currency code (ISO 4217).
  - `returnUrl` string, required — The merchant system URL where the consumer’s browser is redirected at the end of the transaction process. The URL must be URL-encoded and in canonical format.
  - `transactionType` 'DEBIT' | 'CREDIT', required — A DEBIT transaction is a consumer payin. A CREDIT transaction is a payout from merchant to consumer. Allowed values: DEBIT | CREDIT

## Response `200`

200 OK

- InteractionResponse
  - `requestId` string — The Paramount-assigned transaction request ID.
  - `requestStatus` string — A REJECTED status typically indicates that a service, such as risk management, stopped the request from proceeding. Allowed values: PROCESSING | REJECTED
  - `transactionUrl` string — The URL to open for consumers in a webview / same browser for an interactive session where the consumer will select and log in to their online banking.
  - `errorCode` string — The relevant error code, if applicable.
  - `errorMessage` string — The error message associated with the error code.

## Other responses

- `400` — 400 Invalid request
- `401` — 401 Not authorized
- `500` — 500 Internal system error

---

[API](https://skmtc.dev/paramountcommerce/apis/interac-api.md) · [All operations](https://skmtc.dev/paramountcommerce/apis/interac-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/paramountcommerce/interac-api/revisions/18be16246225/schema)
