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.
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
Code value |
Name |
Definition |
---|---|---|
|
BonusPayment |
Transaction is the payment of a bonus. |
|
CashManagementTransfer |
Transaction is a general cash management instruction. |
|
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. |
|
CreditCardPayment |
Transaction is related to a payment of credit card. |
|
TradeSettlementPayment |
Transaction is related to settlement of a trade; for example a foreign exchange deal or a securities transaction. |
|
DebitCardPayment |
Transaction is related to payment of debit card. |
|
Dividend |
Transaction is the payment of dividends. |
|
DeliverAgainstPayment |
Code used to pre-advise the account servicer of a forthcoming delivery against payment instruction. |
|
Epayment |
Transaction is related to ePayment. |
|
FeeCollectionAndInterest |
Transaction is related to the payment of 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, i.e., 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 via 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, i.e., 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, e.g., a financial contract settlement. |
|
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-ettlement 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. 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.
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.