Skip to main content
Beta version available

The Global Payments 2 API is available in Beta. Please reach-out to our team to begin your integration.

Resources

Payment/creditor options

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

Account Number Routing (ANR) payments

Many Canadian banks participate in account number-based routing. Payments can be sent to a beneficiary's fully formed Canadian bank account and should include a bank ID, transit number, and account number. Remove any leading zeros from the bank account number.

If a bank does not participate in account number-based routing, the 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 into their bank account.

If the beneficiary hasn't registered their alias for Autodeposit, you'll need to send a payment verification question and response when initiating a payment through J.P. Morgan. This allows the beneficiary to authenticate while claiming the disbursement. You'll need to provide the payment verification question and response to the beneficiary separately, outside the payment request.

Tip

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

We recommend sending a verification question and response for all email or mobile phone number-based payments to prevent rejection if the beneficiary isn't set up for Autodeposit.

Payments sent to an invalid alias schema will be rejected.

Purpose codes

Tip

Discuss your use case with your implementation manager and request approval for the 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 a bonus payment.

CASH

CashManagementTransfer

Transaction is a general cash management instruction.

CBLK

CardBulkClearing

A service that settles funds for a bulk of card transactions, referencing a specific transaction file or other details such as terminal ID, card acceptor ID, or other transaction information.

CCRD

CreditCardPayment

Transaction is related to a credit card payment.

CORT

TradeSettlementPayment

Transaction is related to the settlement of a trade. For example, it may involve a foreign exchange deal or a securities transaction.

DCRD

DebitCardPayment

Transaction is related a debit card payment.

DIVI

Dividend

Transaction is related to a dividend payment.

DVPM

DeliverAgainstPayment

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

EPAY

Epayment

Transaction is related to an ePayment.

FCIN

FeeCollectionAndInterest

Transaction is related to the payment of a 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, meaning it's 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 using 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, meaning it's a 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, such as the settlement of a financial contract.

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 - Settlement 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. Don't send the same transaction more than once unless you have confirmed the initial transaction was rejected. To confirm the status of any transaction, see retrieve the status of a Interac e-Transfer request.

How we handle duplicate transactions

The Global Payments API supports idempotent calls, which are useful in various scenarios such as initiating payments, creating a client, making changes, or retrying a failed request due to network issues.

An Interac e-Transfer transaction is considered 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 allows for the processing of both back-dated and future-dated transactions. You can back-date transactions up to one calendar day prior (T-1) and future-date them up to five calendar days in advance (T+5).

Future-dated transactions are marked as WAREHOUSED until the specified date, at which point they are released for further processing. This lets clients manage their cash flow effectively and benefits those using a batch processing model by allowing them to distribute payment processing over several days.

Clients who subscribe to callbacks or webhooks, or who use the GET request to the /payments/status endpoint, will receive a WAREHOUSED status

Security question and response

You can set up a challenge question and response for the beneficiary. The security question can be transmitted in clear text, but the response must adhere to 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. The string can be 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. Ensure a single word answer is created. The following characters are not allowed: Characters that aren't letters, digits, or hyphens, http:, https:, JavaScript, function, return, any form of the string www.
  • Hashtype: Secure Hash Algorithm (SHA2)
  • Hash salt: Contact your implementation manager. J.P. Morgan will provide the salt as hash salt can change over the time period. Create a 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 following Java code sample demonstrates the use of SHA-2. It wasn't created by J.P. Morgan and comes without any warranty. It doesn't include the validation and exception handling that would be necessary in a production environment.

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 reviews the remittance and ultimate debtor information to ensure compliance with U.S. OFAC regulations, relevant non-U.S. sanctions, and both national and international anti-terrorism laws.