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.
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
Code value |
Name |
Definition |
---|---|---|
|
BonusPayment |
Transaction is a bonus payment. |
|
CashManagementTransfer |
Transaction is a general cash management instruction. |
|
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. |
|
CreditCardPayment |
Transaction is related to a credit card payment. |
|
TradeSettlementPayment |
Transaction is related to the settlement of a trade. For example, it may involve a foreign exchange deal or a securities transaction. |
|
DebitCardPayment |
Transaction is related a debit card payment. |
|
Dividend |
Transaction is related to a dividend payment. |
|
DeliverAgainstPayment |
Code used to pre-advise the account servicer of a forthcoming delivery against payment instruction. |
|
Epayment |
Transaction is related to an ePayment. |
|
FeeCollectionAndInterest |
Transaction is related to the payment of a fee and interest. |
|
FeeCollection |
A service settling a card transaction related to fees between two parties. |
|
PersontoPersonPayment |
General person-to-person payment. Debtor and creditor are natural persons. |
|
GovernmentPayment |
Transaction is a payment to or from a government department. |
|
Hedging |
Transaction is related to the payment of a hedging operation. |
|
IrrevocableCreditCardPayment |
Transaction is reimbursement of credit card payment. |
|
IrrevocableDebitCardPayment |
Transaction is reimbursement of debit card payment. |
|
IntraCompanyPayment |
Transaction is an intra-company payment, meaning it's a payment between two companies belonging to the same group. |
|
Interest |
Transaction is the payment of interest. |
|
LockboxTransactions |
Transaction is related to identify cash handling using Night Safe or Lockbox by bank or vendor on behalf of a physical store. |
|
Loan |
Transaction is related to the transfer of a loan to a borrower. |
|
Commercial |
Mobile P2B Payment. |
|
Consumer |
Mobile P2P Payment. |
|
OtherPayment |
Other payment purpose. |
|
PensionPayment |
Transaction is the payment of pension. |
|
Represented |
Collection used to re-present previously reversed or returned direct debit transactions. |
|
ReimbursementReceivedCreditTransfer |
Transaction is related to a reimbursement for commercial reasons of a correctly received credit transfer. |
|
ReceiveAgainstPayment |
Code used to pre-advise the account servicer of a forthcoming receive against payment instruction. |
|
SalaryPayment |
Transaction is the payment of salaries. |
|
Securities |
Transaction is the payment of securities. |
|
SocialSecurityBenefit |
Transaction is a social security benefit, meaning it's a payment made by a government to support individuals. |
|
SupplierPayment |
Transaction is related to a payment to a supplier. |
|
TaxPayment |
Transaction is the payment of taxes. |
|
Trade |
Transaction is related to the payment of a trade finance transaction. |
|
TreasuryPayment |
Transaction is related to treasury operations, such as the settlement of a financial contract. |
|
ValueAddedTaxPayment |
Transaction is the payment of value added tax. |
|
WithHolding |
Transaction is the payment of withholding tax. |
|
TaxRefund |
Transaction is the refund of a tax payment or obligation. |
|
TrailerFeePayment |
US mutual fund trailer fee (12b-1) payment. |
|
TrailerFeeRebate |
US mutual fund trailer fee (12b-1) rebate payment. |
|
NonUSMutualFundTrailerFeePayment |
Any non-US mutual fund trailer fee (retrocession) payment. Note: Use ISIN to determine onshore versus offshore designation. |
|
NonUSMutualFundTrailerFeeRebatePayment |
Any non-US mutual fund trailer fee (retrocession) rebate payment. Note: Use ISIN to determine onshore versus offshore designation. |
|
Air |
Transaction is a payment for air transport related business. |
|
Bus |
Transaction is a payment for bus transport related business. |
|
Ferry |
Transaction is a payment for ferry related business. |
|
Railway |
Transaction is a payment for railway transport related business. |
|
RoadPricing |
Transaction is for the payment to top-up pre-paid card and electronic road pricing for the purpose of transportation. |
|
CableTVBill |
Transaction is related to a payment of cable TV bill. |
|
ElectricityBill |
Transaction is related to a payment of electricity bill. |
|
Energies |
Transaction is related to a utility operation. |
|
GasBill |
Transaction is related to a payment of gas bill. |
|
NetworkCharge |
Transaction is related to a payment of network charges. |
|
NetworkCommunication |
Transaction is related to a payment of network communication. |
|
OtherTelecomRelatedBill |
Transaction is related to a payment of other telecom related bill. |
|
TelephoneBill |
Transaction is related to a payment of telephone bill. |
|
Utilities |
Transaction is for the payment to common utility provider that provide gas, water and/or electricity. |
|
WaterBill |
Transaction is related to a payment of water bill. |
|
Bonds |
Securities lending - Settlement of bond transaction. |
|
CorporateActions-Bonds |
Securities lending - Settlement of corporate actions: Bonds transactions. |
|
CorporateActions-Equities |
Securities lending - Settlement of corporate actions: Equities transactions. |
|
CreditCard |
Card settlement - Settlement of credit card transactions. |
|
DebitCard |
Card settlement - Settlement of debit card transactions. |
|
Diners |
Card settlement - Settlement of diners transactions. |
|
Equities |
Securities lending-Settlement of equities transactions. |
|
FleetCard |
Card settlement - Settlement of fleet transactions. |
|
LowValueCredit |
Utilities - Settlement of low value credit transactions. |
|
LowValueDebit |
Utilities - Settlement of low value debit transactions. |
|
MoneyMarket |
Securities lending - Settlement of money market PCH. |
|
RapidPaymentInstruction |
Instant payments - Settlement of rapid payment instruction (RPI) transactions. |
|
GamblingOrWageringPayment |
General - Payments towards a purchase or winnings received from gambling, betting, or other wagering activities. |
|
LotteryPayment |
General - Payment towards a purchase or winnings received from lottery activities. |
|
GovernmentFamilyAllowance |
Salary and benefits - Allowance from government to support family. |
|
GovernmentHousingAllowance |
Salary and benefits - Allowance from government to individuals to support payments of housing. |
|
Amex |
Card settlement - Settlement of AMEX transactions. |
|
ATM |
Card settlement - Settlement of ATM transactions. |
|
AuthenticatedCollections |
Utilities - Settlement of authenticated collections transactions. |
|
PropertyCompletionPayment |
Final payment to complete the purchase of a property. |
|
PropertyDeposit |
Payment of the deposit required towards purchase of a property. |
|
PropertyLoanDisbursement |
Payment of funds from a lender as part of the issuance of a property loan. |
|
PropertyLoanRefinancing |
Transfer or extension of a property financing arrangement to a new deal or loan provider, without change of ownership of property. |
|
CollateralManagement |
Relates to collateral management. |
|
SecuritiesLending |
Relates to securities lending. |
|
Settlements |
Relates to settlements. |
|
ANN/REN Annuity |
|
|
INV/PLA Investment |
|
|
CCB/ACE Canada Child Benefit |
|
|
OAS/SV Old Age Security |
|
|
EI/AE Employment Insurance |
|
|
INS/ASS Insurance |
|
|
MTG/HYP Mortgage |
|
|
RLS/LOY Rent/Leases |
|
|
BPY/FAC Bill Payment |
|
|
EXP/RDD Expense Payment |
|
|
AP/CC Accounts Payable |
|
|
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.
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.