LogoLogo
  • Introduction
  • Getting Started
    • Your Zum Rails Account
    • Developer Quickstart
  • Payments
    • Introduction
    • Payment Rails
    • Bank Payments
      • EFT
      • ACH
    • Interac e-Transfer
      • Send & Request
      • Review Transactions
    • Card Payments
      • Visa Direct
      • Credit Card
      • Push-to-debit
  • User Tokenization
    • Zūm Connect
  • Invoices & Subscriptions
    • Overview
    • Products
    • Invoices
    • Subscriptions
  • Data Aggregation
    • Overview
    • Use Cases
    • Supported Institutions
    • Data
    • How it works
    • Testing
  • Insights
    • Overview
    • Income
    • Expenses
    • Insights
  • Brand Customization
    • Brand Customization
  • API Reference
    • Overview
    • Authentication
    • Users
    • Transactions
    • Funding Source
    • Products
    • Product Prices
    • Invoices
    • Subscriptions
    • Aggregation
    • Insights
    • Wallets
    • Operations
      • Transaction Limits
      • Review Transactions
      • Daily Auto-Withdrawal Summary
    • Webhooks
    • Errors
    • Idempotency
    • Country & Region Codes
  • Archived Documentation
Powered by GitBook
On this page
  • Overview
  • Processing Schedule
  • Transaction Events
  • Testing
  • Interac Fraud Alerts
  • Cancellation
  • Interac - Send Funds options
  • Interac - Register auto deposit
  • Interac - Cancel auto deposit
  • Interac - Get auto deposit information
  • Connect SDK: Request Funds
  1. Payments
  2. Interac e-Transfer

Send & Request

Sending and Requesting funds using Interac E-Transfer

Overview

Interac e-Transfer is a fast and secure way to send and receive money directly from one bank account to another in Canada.

Zūm Rails offers both bulk and retail options for Interac e-Transfers in Canada, catering to different needs:

  • Bulk: This option is ideal for businesses or organizations that need to send multiple payments at once. It allows for the simultaneous transfer of funds to multiple recipients, simplifying payroll or mass-distribution needs while maintaining the security and efficiency of standard Interac e-Transfers.

  • Retail: This is tailored for individual or one-time transactions, suitable for personal use such as sending money to a friend or family member. Retail transfers are straightforward, requiring only the recipient's email or mobile number to initiate a transaction.

Both options provide the core benefits of Interac e-Transfers, including speed, convenience, and security.

To learn more about Interac bulk and retail e-Transfer options, contact support@zumrails.com.

Processing Schedule

Interac - RBC

  • Times we send the transactions - everyday:

    • every 5 minutes;

  • When we process the responses - everyday:

    • Email finalization if user name matches - every 3 minutes;

    • Intraday reports - every 3rd hour from 6 through 21;

    • Debit daily reports - 3:00am;

    • Credit daily reports - 3:05am;

Interac - Desjardins

  • Times we send the transactions - everyday:

    • every 4 minutes;

  • When we process the responses - everyday:

    • Email finalization if user name matches - every minute;

    • Intraday reports - every hour - we depend on when the reports are received though;

    • Debit daily reports - 3:15m;

    • Credit daily reports - 3:30am;

    • Debit transactions - responses are processed when Desjardins send us webhooks;

Interac - PTC

  • Transactions are sent when they are created;

  • Debit responses are processed when PTC sends us webhooks;

    • We also have two process that checks transactions status everyday:

      • every 6 minutes for transactions from the last two days;

      • every hour for transactions older than two days;

  • Credit responses are checked every day:

    • every 6 minutes for transactions from the last two days;

    • every hour for transactions older than two days;

  • Settlement job - mon to fri:

    • 9:00am;

Transaction Events

Zūm Rails provides detailed transaction events that indicate each step of the transaction process.

Method
Event
Description

All

Started

When the transaction started

All

Succeeded

When the transaction succeeds, when it finishes without any error

All

WalletFunded

When the transaction funds a wallet

All

WalletWithdrawn

When the transaction withdrawn a wallet

--------

--------

--------

Interac

InteracSent

When the transaction is sent to Interac

Interac

InteracAcknowledgedCredit

When a credit transaction is received by Interac

Interac

InteracAcknowledgedDebit

When a debit transaction is received by Interac

Interac

InteracFailedRecipientContactInfoMissing

Need to add recipient email or mobile phone number

Interac

InteracFailedInvalidEmailFormat

If the email provided is not valid. * We minimize this error by validating it before

Interac

InteracFailedInvalidPhoneNumber

If the phone number provided is not valid

Interac

InteracFailedMultipleTransferLevelErrors

If there is more than one error in the file

Interac

InteracFailedRevoked

When the transaction is revoked

Interac

InteracFailedBulkCancellationRequest

When the transaction was cancelled by request

Interac

InteracFailedRecipientRejected

When the transaction was cancelled due to recipient having declined receipt of funds

Interac

InteracFailedAuthentication

Transfer cancelled due to maximum number of unsuccessful attempts to answer the security question by the recipient

Interac

InteracFailedReachedCancellationCutOff

Transfer cancelled due to expiry

Interac

InteracFailedNotificationDeliveryFailure

Transfer cancelled due to maximum number of failed email notification attempts reached

Interac

InteracFailedAmountGreaterThanMax

If the transaction amount exceeds the maximum allowed

Interac

InteracFailedDebtorRejected

The debtor rejected the request

Interac

InteracFailedFundsDepositFailed

The funds deposit failed

Interac

InteracFailedClientEmailedToRequestCancellation

Client emailed to request cancellation

Interac

InteracFailedGenericError

When Interac Network is unavailable - * We have never seen this

Interac

InteracWaitingSettlementIntoWallet

Waiting for funds to be settled into wallet

Interac

InteracSettledIntoWallet

When Interac funds are settled into wallet

Interac

InteracFailedNameMismatch

When the debtor name used to fulfill the Interac is different than the name on file

Interac

InteracFraudAlertResponded

When a fraud alert responded for that transaction

Interac

InteracFundsHeldForValidation

User needs to contact their Financial Institution to validate the transfer and release of funds

Interac

InteracFailedInvalidAccountNumber

When the account number provided is invalid

Interac

InteracFailedRequestBlockedByUser

When the transaction failed since the user has blocked some or all Interac requests coming to their email

Testing

To simulate an Interact failure, include an event name from the list above in the COMMENT field when creating a transaction. If you don't mention an event in the COMMENT, the transaction will change its status to "Completed" in the sandbox environment.

{
  "ZumRailsType": "AccountsReceivable",
  "TransactionMethod": "Interac",
  "Amount": 123.45,
  "Memo": "Memo description",
  "Comment": "This transaction will succeed because there's no keyword",
  "UserId": "8ebd932b-...b92633e14290",
  "TargetUserId": "8ebd932b-...b92633e14291"
}
{
  "ZumRailsType": "AccountsReceivable",
  "TransactionMethod": "Interac",
  "Amount": 123.45,
  "Memo": "Memo description",
  "Comment": "InteracFailedNotificationDeliveryFailure",
  "UserId": "8ebd932b-...b92633e14290",
  "TargetUserId": "8ebd932b-...b92633e14291"
}

Interac Fraud Alerts

Interac flags certain transactions that they believe could be possible fraud cases. Zūm Rails changes status of transactions that are flagged by Interac to “Under Review” for the customer to investigate. Using the API and portal, you can:

  • Opt-in to receive e-mail notifications and a web hook for each transaction flagged by Interac.

  • Take action from the transaction menu or from API in response to the Interac Fraud Alert. See Review Transactions section to learn more.

Cancellation

Use this endpoint to cancel a specific interac transaction.

Method: DELETE

Endpoint: {{env}}/api/transaction/{transaction_id}

{
  "statusCode": 200,
  "message": "DELETE Request successful.",
  "isError": false,
  "result": "Request completed"
}

Interac - Send Funds options

Use this endpoint if you want to know if the user is registered for automatic deposits, or if it's account router number eligible. The user id is informed in the url.

Method: GET

Endpoint: {{env}}/api/user/GetInteracSendFundsOptions/{user_id}

{
  "statusCode": 200,
  "message": "GET Request successful.",
  "isError": false,
  "result": {
    "RequireSecurityQuestionAndAnswer": true,
    "AutomaticDepositAvailable": false,
    "AccountNumberRoutingAvailable": false
  }
}

Response Parameters

Parameter
Type
Description

RequireSecurityQuestionAndAnswer

boolean

Indicate if security questions are required for the informed user in order to create an Interac Send Funds

AutomaticDepositAvailable

boolean

If true, means this user email is registered for Interac automatic deposit

AccountNumberRoutingAvailable

boolean

If true, means this user can accept Interac Account Routing ANR. The user needs to have the bank account information on file.

Interac - Register auto deposit

info

This endpoint is not available for all Zūm Rails customers, if you need to use it, make sure to talk with our team.

Use this endpoint to register a user for automatic Interac e-Transfer deposits into your Zūm Rails wallet.

When a user is registered, any Interac e-Transfers sent to their email address will be automatically deposited into your Zūm Rails wallet. For example, If you register a user with the email john@smith.com, all Interac Send Funds transactions to that email will be automatically deposited to your wallet—no manual acceptance required.

Method: PATCH

Endpoint: {{env}}/api/user/RegisterInteracAutoDeposit/{user_id}

{
  "statusCode": 200,
  "message": "PATCH Request successful.",
  "isError": false,
  "result": {}
}

Interac - Cancel auto deposit

info

This endpoint is not available for all Zūm Rails customers, if you need to use it, make sure to talk with our team.

Use this endpoint to unregister a user from Interac Auto Deposit through Zūm Rails.

If a user was previously registered for automatic deposits, this endpoint will send a request to Interac to remove their auto deposit registration. After this, Interac e-Transfers sent to the user's email will no longer be automatically deposited into your Zūm Rails wallet.

Method: PATCH

Endpoint: {{env}}/api/user/RegisterInteracAutoDepositCancellation/{user_id}

{
  "statusCode": 200,
  "message": "PATCH Request successful.",
  "isError": false,
  "result": {}
}

Interac - Get auto deposit information

info

This endpoint is not available for all Zūm Rails customers, if you need to use it, make sure to talk with our team.

Use this endpoint to check the status of a user's Interac Auto Deposit registration.

This is useful if a user was previously registered and you need to verify whether they accepted, declined, or have not responded to the registration email sent by Interac.

Method: GET

Endpoint: {{env}}/api/user/GetInteracAutoDepositInformation/{user_id}

{
  "statusCode": 200,
  "message": "PATCH Request successful.",
  "isError": false,
  "result": {
    "AliasReferenceId": "<interac id of the user alias registration>",
    "AliasEmail": "john@smith.com",
    "ExpiryDate": "2023-05-13T14:23:32.809446",
    "Status": "PENDING"
  }
}

Auto Deposit Status

Status
Description

PENDING

Pending user to confirm the email received from Interac

ACTIVE

Auto deposit active with Zūm Rails

IN_REVIEW

The request is being reviewed by Interac

NOT_ACTIVE

The request is not active anymore

EXPIRED

The request is expired

DECLINED

The request declined the email received from Interac

REPORTED

The user or Interac reported this request as not valid

NOTE

After a user is registered for automatic deposit and has accepted the request, they can register the same email with another financial institution at any time. If they do so, the status will change from ACTIVE to NOT_ACTIVE.

Connect SDK: Request Funds

Using SDK

Once authorized, the next step is to create a token. You will need to create a token with the payload as below.

{
  "ConnectTokenType": "RequestFunds",
  "RequestFundsId": "e212a298-4f39-4ac0-b9d6-60fc1c215176"
}

Callbacks

{
  "origin": "ZUM_RAILS",
  "userId": "2b500e4e-a5fe-4697-a88b-07eb8162cc22",
  "transactionId": "f884b81d-9335-4560-b764-aee1e369791d"
}

PreviousInterac e-TransferNextReview Transactions

Last updated 7 days ago