Instant Payments
Our Instant Payments API is the ideal choice for real-time payments within Canada. Powered by Interac e-Transfer, you can quickly send or request money, be sure that funds will be available immediately and track the latest status in real-time. All you need is the recipient’s email or account number.
Overview
Limits: | $25,000/payment $25,000/money request 1 payment/call 1 money request/call Unlimited calls |
Countries: | Canada only CAD only |
Speed: | Instant deposits (account numbers and emails with Autodeposit) Up to 30 minutes (emails without Autodeposit) |
Cut-off times (business days): | Available 24/7 |
Endpoints Summary
Payload encryption
For security reasons, all requests to and responses from our Payments APIs need to be encrypted. For detailed instructions, have a look at our encryption process.
Get payment status
Check the latest status for your sent payments (CAMT.005). This call returns the current status of a particular payment (Pain.002). Please check our table below for more information about the possible statuses that can be returned.
Note: Instead of checking manually, you can also request automatic alerts by API Webhook, email or text message using our Push Notifications API.
Request
Code Samples
Headers
Body
Get money request status
Check the latest status for your sent money requests (CAMT.005). This call returns the current status of a particular money request (Pain.002). Please check our table below for more information about the possible statuses that can be returned.
Note: Instead of checking manually, you can also request automatic alerts by API Webhook, email or text message using our Push Notifications API.
Request
Code Samples
Headers
Body
Request money
Quickly request money by email or collect payments within your own application (Pain.013). For requests sent by email, you can choose a custom expiry between 2 hours and 30 days.
This call returns a confirmation if your file passed our format and business validations (Pain.014). If there are no issues, we then forward the request to Interac which sends it as an email to the recipient. No approvals are required.
Note: For a seamless behind-the-scenes integration, you can suppress the traditional Interac emails and use the returned gateway URL in your application instead. This allows your user to complete the payment without leaving your application. You still need to pass the user’s email address even if you decide to suppress Interac emails.
Request
Code Samples
Headers
Body
Get payment options
Check which payment option is available for the recipient's email or account number (ACMT.023). This must be done before you can send a payment.
The response will confirm if real-time deposits are available and will include a Reference ID needed to create your payment (ACMT.024). Reference IDs expire within 10 minutes.
Note: If you’re trying to send a payment to an email address that is registered for Autodeposit, our response will also include the registered trade name or legal name of the account holder. This helps confirm that you’re paying the right person or company.
Request
Code Samples
Headers
Body
Send payment
Create your payment (Pain.001) before your Reference ID from the previous call expires. For payments sent to an email address without Autodeposit, you can specify a custom expiry period between 1-30 days.
This call returns a confirmation if your file passed our format and business validations (Pain.002). If no issues are found, payments are forwarded to Interac for processing. No approvals are required.
Note: Payments are processed immediately and cannot be scheduled for a future time. They also cannot be modified or cancelled once sent.