Skip to main content
Beta version available

Discover the Global Payments 2 API, now available in beta!

Resources

Payment/creditor options

Payments via the Interac Network can be sent to a beneficiary email address, Canadian mobile phone number or a fully formed Canadian bank account.

Account Number Routing (ANR) payments

A large number of Canadian banks are participating in account number-based routing.

Payments can be sent to a beneficiary (a fully formed Canadian bank account), and should include a bank ID, transit number and account number. Leading zeros should be removed from the bank account.

If a bank is not participating in account number-based routing, payment will be rejected.

Email or mobile phone number-based (alias) payments

If the beneficiary has registered their alias for Autodeposit, incoming Interac e-Transfer funds will be directly deposited to beneficiary bank account.

If the beneficiary has not registered their alias for Autodeposit, you will need to send a payment verification question and a response when initiating a payment via J.P. Morgan. So the beneficiary can authenticate while claiming a disbursement. Outside the payment request, you will need to provide the payment verification question and response to the beneficiary separately.

Tip

Funds will be deducted from your account, upon payment request, for transactions disbursed to an alias that is not set up for Autodeposit. If the beneficiary successfully answers the verification response, a webhook notification will be sent to you. If the beneficiary fails to answer the verification response correctly, declines the payment or the payment expires, funds will be restored back to your account with a rejected webhook (see error codes).

It is recommended to send a verification question and response for ALL email or mobile phone number-based payments to avoid having the payment getting rejected in cases where the beneficiary is not setup for Autodeposit.

Payments sent to invalid alias schema will be rejected.

Purpose codes

Tip

Please discuss your use case with your implementation manager and request approval for code being used. Not all codes are allowed to be processed at this stage.

Interac e-Transfer purpose codes and descriptions

Code value

Name

Definition

BONU

BonusPayment

Transaction is the payment of a bonus.

CASH

CashManagementTransfer

Transaction is a general cash management instruction.

CBLK

CardBulkClearing

A service that is settling money for a bulk of card transactions, while referring to a specific transaction file or other information like terminal ID, card acceptor ID, or other transaction details.

CCRD

CreditCardPayment

Transaction is related to a payment of credit card.

CORT

TradeSettlementPayment

Transaction is related to settlement of a trade; for example a foreign exchange deal or a securities transaction.

DCRD

DebitCardPayment

Transaction is related to payment of debit card.

DIVI

Dividend

Transaction is the payment of dividends.

DVPM

DeliverAgainstPayment

Code used to pre-advise the account servicer of a forthcoming delivery against payment instruction.

EPAY

Epayment

Transaction is related to ePayment.

FCIN

FeeCollectionAndInterest

Transaction is related to the payment of fee and interest.

FCOL

FeeCollection

A service settling a card transaction related to fees between two parties.

GP2P

PersontoPersonPayment

General Person-to-Person Payment. Debtor and Creditor are natural persons.

GOVT

GovernmentPayment

Transaction is a payment to or from a government department.

HEDG

Hedging

Transaction is related to the payment of a hedging operation.

ICCP

IrrevocableCreditCardPayment

Transaction is reimbursement of credit card payment.

IDCP

IrrevocableDebitCardPayment

Transaction is reimbursement of debit card payment.

INTC

IntraCompanyPayment

Transaction is an intra-company payment, i.e., a payment between two companies belonging to the same group.

INTE

Interest

Transaction is the payment of interest.

LBOX

LockboxTransactions

Transaction is related to identify cash handling via Night Safe or Lockbox by bank or vendor on behalf of a physical store.

LOAN

Loan

Transaction is related to the transfer of a loan to a borrower.

MP2B

Commercial

Mobile P2B Payment.

MP2P

Consumer

Mobile P2P Payment.

OTHR

OtherPayment

Other payment purpose.

PENS

PensionPayment

Transaction is the payment of pension.

RPRE

Represented

Collection used to re-present previously reversed or returned direct debit transactions.

RRCT

ReimbursementReceivedCreditTransfer

Transaction is related to a reimbursement for commercial reasons of a correctly received credit transfer.

RVPM

ReceiveAgainstPayment

Code used to pre-advise the account servicer of a forthcoming receive against payment instruction.

SALA

SalaryPayment

Transaction is the payment of salaries.

SECU

Securities

Transaction is the payment of securities.

SSBE

SocialSecurityBenefit

Transaction is a social security benefit, i.e., payment made by a government to support individuals.

SUPP

SupplierPayment

Transaction is related to a payment to a supplier.

TAXS

TaxPayment

Transaction is the payment of taxes.

TRAD

Trade

Transaction is related to the payment of a trade finance transaction.

TREA

TreasuryPayment

Transaction is related to treasury operations, e.g., a financial contract settlement.

VATX

ValueAddedTaxPayment

Transaction is the payment of value added tax.

WHLD

WithHolding

Transaction is the payment of withholding tax.

TAXR

TaxRefund

Transaction is the refund of a tax payment or obligation.

B112

TrailerFeePayment

US mutual fund trailer fee (12b-1) payment.

BR12

TrailerFeeRebate

US mutual fund trailer fee (12b-1) rebate payment.

TLRF

NonUSMutualFundTrailerFeePayment

Any non-US mutual fund trailer fee (retrocession) payment. Note: use ISIN to determine onshore versus offshore designation.

TLRR

NonUSMutualFundTrailerFeeRebatePayment

Any non-US mutual fund trailer fee (retrocession) rebate payment. Note: use ISIN to determine onshore versus offshore designation.

AIRB

Air

Transaction is a payment for air transport related business.

BUSB

Bus

Transaction is a payment for bus transport related business.

FERB

Ferry

Transaction is a payment for ferry related business.

RLWY

Railway

Transaction is a payment for railway transport related business.

TRPT

RoadPricing

Transaction is for the payment to top-up pre-paid card and electronic road pricing for the purpose of transportation.

CBTV

CableTVBill

Transaction is related to a payment of cable TV bill.

ELEC

ElectricityBill

Transaction is related to a payment of electricity bill.

ENRG

Energies

Transaction is related to a utility operation.

GASB

GasBill

Transaction is related to a payment of gas bill.

NWCH

NetworkCharge

Transaction is related to a payment of network charges.

NWCM

NetworkCommunication

Transaction is related to a payment of network communication.

OTLC

OtherTelecomRelatedBill

Transaction is related to a payment of other telecom related bill.

PHON

TelephoneBill

Transaction is related to a payment of telephone bill.

UBIL

Utilities

Transaction is for the payment to common utility provider that provide gas, water and/or electricity.

WTER

WaterBill

Transaction is related to a payment of water bill.

BOND

Bonds

Securities Lending-Settlement of Bond transaction.

CABD

CorporateActions-Bonds

Securities Lending-Settlement of Corporate Actions: Bonds transactions.

CAEQ

CorporateActions-Equities

Securities Lending-Settlement of Corporate Actions: Equities transactions.

CBCR

CreditCard

Card Settlement-Settlement of Credit Card transactions.

DBCR

DebitCard

Card Settlement-Settlement of Debit Card transactions.

DICL

Diners

Card Settlement-Settlement of Diners transactions.

EQTS

Equities

Securities Lending-Settlement of Equities transactions.

FLCR

FleetCard

Card Settlement-Settlement of Fleet transactions.

EFTC

LowValueCredit

Utilities-Settlement of Low value Credit transactions.

EFTD

LowValueDebit

Utilities-Settlement of Low value Debit transactions.

MOMA

MoneyMarket

Securities Lending-ettlement of Money Market PCH.

RAPI

RapidPaymentInstruction

Instant Payments-Settlement of Rapid Payment Instruction (RPI) transactions.

GAMB

GamblingOrWageringPayment

General-Payments towards a purchase or winnings received from gambling, betting or other wagering activities.

LOTT

LotteryPayment

General-Payment towards a purchase or winnings received from lottery activities.

GAFA

GovernmentFamilyAllowance

Salary and Benefits-Allowance from government to support family.

GAHO

GovernmentHousingAllowance

Salary and Benefits-Allowance from government to individuals to support payments of housing.

AMEX

Amex

Card Settlement-Settlement of AMEX transactions.

SASW

ATM

Card Settlement-Settlement of ATM transactions.

AUCO

AuthenticatedCollections

Utilities-Settlement of Authenticated Collections transactions.

PCOM

PropertyCompletionPayment

Final payment to complete the purchase of a property.

PDEP

PropertyDeposit

Payment of the deposit required towards purchase of a property.

PLDS

PropertyLoanDisbursement

Payment of funds from a lender as part of the issuance of a property loan.

PLRF

PropertyLoanRefinancing

Transfer or extension of a property financing arrangement to a new deal or loan provider, without change of ownership of property.

COLL

CollateralManagement

Relates to Collateral Management.

SECL

SecuritiesLending

Relates to Securities Lending.

STMT

Settlements

Relates to settlements.

240

ANN/REN Annuity

260

INV/PLA Investment

308

CCB/ACE Canada Child Benefit

311

OAS/SV Old Age Security 

318

EI/AE Employment Insurance

330

INS/ASS Insurance

370

MTG/HYP Mortgage

400

RLS/LOY Rent/Leases

430

BPY/FAC Bill Payment

452

EXP/RDD Expense Payment

460

AP/CC Accounts Payable

480

DON/DON Donations

Duplicate logic

Interac e-Transfer payments are irrevocable. Do not send the same transaction more than once unless you have confirmed the initial transaction was rejected. To confirm the status of any transaction, retrieve the status of a Interac e-Transfer request.

How we handle duplicate transactions

The Global Payments API supports the ability for idempotent calls. This is useful in various scenarios, such as initiating payments, creating a client, making changes, or attempting to retry a failed request; for instance, due to network issues.

An Interac e-Transfer transaction is deemed to be a duplicate by the Global Payments API if the original transaction is in a PENDING or COMPLETED state and both of the following fields are identical:

  • debtor.debtorAccount.alternateAccountIdentifier 
  • payments.paymentIdentifiers.endToEndId

If two transactions are sent with the same preceding parameter IDs within 30 days, the transaction is flagged as a duplicate, and the status of the original transaction is returned.

Back-dated and future-dated transactions

Interac e-Transfer supports back and future dated transaction processing. Back-dated transactions are supported up to one calendar day behind (T-1) and future-dated transactions are supported up to 5 calendar days ahead of time (T+5). 

Future-dated transactions will be marked as WAREHOUSED up until the requested date then subsequently released for continued processing. This allows clients to efficiently manage their cash flow and enables clients who currently follow a batch processing model to stagger their payment processing throughout multiple days.

Clients subscribing to callbacks/webhooks or using the GET request to the /payments/status endpoint can expect to receive a WAREHOUSED status

Security question and response

You can identify the challenge question and response for the beneficiary to authenticate and claim payments. The security question can be sent as clear text but the security question response needs to follow the following pseudocode:

  • Answer to the security question (as provided by the customer) with leading and trailing whitespace trimmed, uppercased, postfixed with hashSalt if present, hashed using the algorithm identified by hashType and then Base64 encoded. 
  • ISO-8859-1 encoding to be used when the hash is generated. String, up to 64 characters.
  • Original input (the answer) is a string up to 25 characters.
  • Single word, minimum size of 3 characters, letters, digits, and hyphens, and French characters
  • Allowed characters in plain text answer: 0-9, a-z, hyphen. Both lower- and upper-case letters are allowed. Please ensure a single word answer is created. Following characters are not allowed: Characters that are not letters or digits, or hyphens: http:, https:, JavaScript, function, return, any form of the string www
  • Hashtype: Secure Hash Algorithm (SHA2)
  • Hashsalt: Contact your implementation manager. J.P. Morgan will provide the salt. As Hash salt can change over time period, please create provision to make the required change. 
  • Security answer should be sent in the following way:
    • Base 64(Sha-256(ISO-8859-1(Uppercase(answer))+Hashsalt))

Example

  • Question: What is your policy number?
    • Answer: ABC123
  • Hash salt: 98765421
    • Answer (encrypted): l88fqsH39/P2m7NaRZRB/Ko6DHXP2f24oNoFrBPhHyk=

Sample code for security responses

The below sample Java code is indicative only to illustrate the use of SHA2. Sample is not created by J.P. Morgan and without warranty, does not include validation and exception handling that would be expected in production.

Sample Java code to generate and encode the password using SHA2 algorithm
Java
package com.acxsys.emt.interacServices;

import org.apache.commons.codec.binary.Base64; 
import java.io.UnsupportedEncodingException; 
import java.nio.charset.Charset; 
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; 
import java.security.SecureRandom; 

/* * This is a sample Java code to generate password (such as Answer) using SHA2 */ 
public class SHA2Encoder {
private final static int SALT_BYTE_SIZE = 32; 

public static void main(String args[]){
String pwd = "testPwd";
String salt = null;
String encodedPwd = null;
Charset = Charset.defaultCharset();
System.out.println(" def charset:"+ charset.name());
try {
 salt = getSalt();
 encodedPwd = encodeSHA2(pwd.toUpperCase(), salt); 
              }
catch(Exception e){
 System.out.println(" Exception encoding pwd." +e.getMessage()); e.printStackTrace(); }
 System.out.println("encodedPwd: "+ encodedPwd); 
     } 
/* * This method will encode the password using SHA2 algorithm. The hash is encoded using charset ISO-8859-1 * */ 
public static String encodeSHA2(String password, String saltString) throws NoSuchAlgorithmException, UnsupportedEncodingException { 
MessageDigest md = MessageDigest.getInstance("SHA-256"); System.out.println("using salt: "+saltString); 
String encodedPwd= null;
encodedPwd = new String( Base64.encodeBase64( md.digest( (password+saltString).getBytes("ISO-8859-1") ) ) ,"ISO-8859-1"); 
System.out.println("encodedPwd: "+ encodedPwd); return encodedPwd;

Sanctions screening

J.P. Morgan screens the remittance information and ultimate debtor information to comply with U.S. OFAC regulations, applicable non-U.S. sanctions, and national and international anti-terrorism laws.