- METHOD TYPEBank Transfer
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Introduction
Interac e-Transfer is a fast and secure way to send money from within the security of your online banking service (see Payment (Deposit) Flow). It uses email for fast notification to the recipient that a transfer has been sent, while the participating financial institutions transfer the funds using established and secure banking procedures.
Interac e-Transfer Outbound allows merchants to send funds to their customers quickly and easily (see Payout (Withdrawal) Flow). It uses email and SMS for fast notification to the recipient that a transfer has been sent, while the participating financial institutions transfer the funds using established and secure banking procedures.
This guide describes the steps to integrate Interac e-Transfer as a Nuvei APM into your payment flows, enabling customer payments, and allowing you to perform payouts, using Nuvei’s server-to-server REST API methods.
Interac e-Transfer allows your customers to link any number of their Canadian bank accounts to their email address. The Nuvei platform encrypts your customer’s bank account details securely, and provides a userPaymentOptionId
(UPO) representing the account, for you to use in transactions.
Prerequisites and Notes
- This guide assumes you have completed all account setup prerequisites, and are ready to integrate Interac e-Transfer into your payment flow.
- Interac e-Transfer only supports Canadian based IPs.
- Payments (deposits) and payout (withdrawal) transactions are conducted in Canadian Dollars between Canadian bank accounts.
- Nuvei handles Interac e-Transfer transactions in “redirection mode”.
- A UPO (user payment option) is an encrypted customer payment method record stored in the Nuvei system, representing a customer bank account or other payment method.
- Test credentials and testing scenarios can be provided by Nuvei if necessary. You can contact Nuvei support for assistance.
Supported Countries
- Canada
Supported Currencies
- CAD
Payment (Deposit) Flow
1. Generate a sessionToken
Press here for details.
2. Send a /payment
Request
Send a /payment
request with its mandatory parameters, including the following:
userTokenId
amount
currency
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_Interac_eTransfer”email
mobilePhone
billingAddress
class containing:firstName
,lastName
,phone
,country
,email
,address
,city
deviceDetails
class containing:ipAddress
Example /payment
Request
{ "sessionToken": "<sessionToken from /getSessionToken>", "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "userTokenId": "<unique customer identifier in merchant system>", "clientRequestId": "<unique request ID in merchant system>", "clientUniqueId": "<unique transaction ID in merchant system>", "currency": "CAD", "amount": "100", "paymentOption": { "alternativePaymentMethod": { "paymentMethod": "apmgw_Interac_eTransfer" "email": "[email protected]" "mobilePhone": "4162477671" } }, "billingAddress": { "firstName": "John", "lastName": "Smith", "phone": "4162477671", "address": "2 Eireann Quay", "city": "Toronto", "country": "CA", "email": "[email protected]" }, "deviceDetails": { "ipAddress": "<customer's IP address>" }, "urlDetails": { "notificationUrl": "<URL to which DMNs are sent>" }, "timeStamp": "<YYYYMMDDHHmmss>", "checksum": "<calculated checksum>" }
The response generates and returns a redirect URL (redirectUrl
) to redirect the customer to the payment page, as well as a UPO (userPaymentOptionId
) for use in future transactions.
Example /payment
Response
{ "internalRequestId":712597608, "status":"SUCCESS", "errCode":0, "reason":"", "merchantId":"8860255768659021142", "merchantSiteId":"119823", "version":"1.0", "clientRequestId":"20230707165257", "sessionToken":"44922e4a-20bd-4137-a937-8deb53e4c8c2", "clientUniqueId":"20180327175242", "orderId":"375620058", "userTokenId":"6fa38ea2-6f1a-4620-85ae-7deaf0d5f8f1", "paymentOption":{ "redirectUrl":"https"://interac.express-connect.com/webflow?transaction=C5C51E99607D4F151EF9345EC94D91C2&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaXRlIjoiSUNFIERlbW8gVGVzdCIsImFtb3VudCI6NTAsInNhbmRib3giOnRydWUsIm5hbWUiOiJKb2huIFNtaXRoIiwibW9iaWxlIjoiNDE2MjQ3NzY3MSIsInVzZXJJcCI6IjEyNy4wLjAuMSIsImN1cnJlbmN5IjoiQ0FEIiwibGFuZyI6ImVuIiwidHlwZSI6IkNQSSIsInVzZXJJZCI6IlRlc3RUb2tlbiIsInRyYW5zYWN0aW9uaWQiOiJDNUM1MUU5OTYwN0Q0RjE1MUVGOTM0NUVDOTREOTFDMiIsImVtYWlsIjoidGVzdEBudXZlaS5jb20iLCJ1c2VyIjoiYmYwZGE4NWJmODI5MzJlZWYyMWFjZmE3MzRiNmY2MDUiLCJjYW1wYWlnbiI6IjM3NzJjMzU5MGY5NWRmYzJjYTAyZWU2YjU1MDBmNzhlIiwiZW50aXR5SWQiOjEsImlhdCI6MTY4ODczNzk3NywiZXhwIjoxNjg4ODI0Mzc3fQ.VTCu38L_SLYbWJ6iEhmHB2D3Ke57o1mL89X5NcNo8iA, "userPaymentOptionId":"92469538", "card":{ } }, "transactionStatus":"REDIRECT" }
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to the URL provided in urlDetails.notification
, which Nuvei recommends including in the /payment
request.
Example /payment
DMN with status=PENDING
...'ppp_status=PENDING&Status=PENDING&ExErrCode=0&ErrCode=0&errApmCode=0&errApmDescription=&errScCode=0&errScDescription=&Reason=&ReasonCode=0&PPP_TransactionID=44210475288&userid=833050838&merchant_unique_id=634508427854001&customData=&productId=&first_name=KARINE&last_name=SAINT+PIERRE&email=test%40test.com¤cy=CAD&clientUniqueId=634508427854001&customField1=&customField2=&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=&invoice_id=&address1=&address2=&country=Canada&state=&city=&zip=&phone1=14383544808&phone2=&phone3=&client_ip=174.93.180.245&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=Interac-PI&expMonth=&expYear=&Token=&tokenId=&AuthCode=tylerparker8887%40hotmail.com&AvsCode=&Cvv2Reply=&shippingCountry=&shippingState=&shippingCity=&shippingAddress=&shippingZip=&shippingFirstName=&shippingLastName=&shippingPhone=&shippingCell=&shippingMail=&total_discount=0.00&total_handling=0.00&total_shipping=0.00&total_tax=0.00&buyButtonProductBundleId=&merchant_site_id=179768&merchant_status=&action=&requestVersion=&message=PENDING&merchantLocale=&unknownParameters=&payment_method=apmgw_Interac_eTransfer&ID=&merchant_id=7468175716266556934&responseTimeStamp=2023-07-19.21%3A00%3A45&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=&cardCompany=&eci=&user_token_id=833050838&userPaymentOptionId=2840334706&TransactionID=1130000004628769536&externalTransactionId=1689800439&APMReferenceID=D74402627B01601118423AC17F901BF8&orderTransactionId=42753246748&totalAmount=49.75&dynamicDescriptor=vglobal+dsl&item_name_1=name&item_number_1=&item_amount_1=49.75&item_quantity_1=1&item_discount_1=0.00&item_handling_1=0.00&item_shipping_1=0.00&feeAmount=&amountWithoutFee=&houseNumber=&customCurrency=&upoRegistrationDate=20230713&type=DEPOSIT&clientRequestId=634508427854001&relatedTransactionId=&apmPayerInfo=aquirer%3A+3%2C+name%3A+null%2C+trackingId%3A+null%2C+refId%3A+null%2C+bankName%3A+null%2C+replyTo%3A+null&sessionId=ff472b250c9a0c94e96f1d72c930&responsechecksum=be0ab96bd60a050e424d1bd2d69630b152023fbf7005f5e53bbb023d33fe88e5&advanceResponseChecksum=1f8719a640a795f858bfca9d75aa6c81bcdbafa5d22e977cd81f29fd2d3d8d85',
Example /payment
DMN with status=APPROVED
...'ppp_status=OK&Status=APPROVED&ExErrCode=0&ErrCode=0&errApmCode=0&errApmDescription=&errScCode=0&errScDescription=&Reason=&ReasonCode=0&PPP_TransactionID=44210475288&userid=833050838&merchant_unique_id=634508427854001&customData=&productId=&first_name=KARINE&last_name=SAINT+PIERRE&email=test%40test.com¤cy=CAD&clientUniqueId=634508427854001&customField1=&customField2=&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=&invoice_id=&address1=&address2=&country=Canada&state=&city=&zip=&phone1=14383548808&phone2=&phone3=&client_ip=174.93.180.245&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=Interac-PI&expMonth=&expYear=&Token=&tokenId=&AuthCode=tylerparker8887%40test.com&AvsCode=&Cvv2Reply=&shippingCountry=&shippingState=&shippingCity=&shippingAddress=&shippingZip=&shippingFirstName=&shippingLastName=&shippingPhone=&shippingCell=&shippingMail=&total_discount=0.00&total_handling=0.00&total_shipping=0.00&total_tax=0.00&buyButtonProductBundleId=&merchant_site_id=179768&merchant_status=&action=&requestVersion=&message=APPROVED&merchantLocale=&unknownParameters=&payment_method=apmgw_Interac_eTransfer&ID=&merchant_id=7468175716266556934&responseTimeStamp=2023-07-19.21%3A02%3A08&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=&cardCompany=&eci=&user_token_id=833050838&userPaymentOptionId=2840334706&TransactionID=1130000004628769536&externalTransactionId=1689800439&APMReferenceID=D74402627B01601118423AC17F901BF8&orderTransactionId=42753246748&totalAmount=49.75&dynamicDescriptor=vglobal+dsl&item_name_1=name&item_number_1=&item_amount_1=49.75&item_quantity_1=1&item_discount_1=0.00&item_handling_1=0.00&item_shipping_1=0.00&feeAmount=&amountWithoutFee=&houseNumber=&customCurrency=&upoRegistrationDate=20230713&type=DEPOSIT&clientRequestId=634508427854001&relatedTransactionId=&apmPayerInfo=aquirer%3A+3%2C+name%3A+JASMINE+SAINT-PIERRE%2C+trackingId%3A+e20afdf6%2C+refId%3A+CA3FVzkF%2C+bankName%3A+Desjardins%2C+replyTo%3A+lil.jasmine%40test.com&sessionId=ff472b250c9a0c94e96f1d72c930&responsechecksum=3f9cb0fa8414d20ab2780298f8c20ddee1a6233d54f3ea4984a1da8238642a0d&advanceResponseChecksum=eeecd1079e91a511f60b5e407323c33e4fa6d37e2cd57dc6a68c545ba2990c53',
Example /payment
DMN with status=DECLINED
...'ppp_status=FAIL&Status=DECLINED&ExErrCode=0&ErrCode=0&errApmCode=0&errApmDescription=STATUS_EXPIRED&errScCode=2022&errScDescription=Transaction+expired.&Reason=Transaction+expired.&ReasonCode=2022&PPP_TransactionID=378917548&userid=707835907&merchant_unique_id=104463777729001&customData=&productId=&first_name=UsrMgoWPh&last_name=UsrMqLLcG&email=2e5cab83-4bf5-461c-9990-d476adcc78c1%40sparkware.ro¤cy=CAD&clientUniqueId=104463777729001&customField1=&customField2=&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=&invoice_id=&address1=&address2=&country=Canada&state=&city=&zip=&phone1=12345678&phone2=&phone3=&client_ip=85.9.60.26&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=Interac-PI&expMonth=&expYear=&Token=&tokenId=&AuthCode=2e5cab83-4bf5-461c-9990-d476adcc78c1%40sparkware.ro&AvsCode=&Cvv2Reply=&shippingCountry=&shippingState=&shippingCity=&shippingAddress=&shippingZip=&shippingFirstName=&shippingLastName=&shippingPhone=&shippingCell=&shippingMail=&total_discount=0.00&total_handling=0.00&total_shipping=0.00&total_tax=0.00&buyButtonProductBundleId=&merchant_site_id=167863&merchant_status=&action=&requestVersion=&message=DECLINED&merchantLocale=&unknownParameters=&payment_method=apmgw_Interac_eTransfer&ID=&merchant_id=5438714187435458602&responseTimeStamp=2023-07-20.19%3A02%3A01&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=&cardCompany=&eci=&user_token_id=707835907&userPaymentOptionId=73992938&TransactionID=811000000003287493&externalTransactionId=1689793269&APMReferenceID=7F594EF0A6C5A3C6D031DDF36A27BF35&orderTransactionId=1211496968&totalAmount=100.00&dynamicDescriptor=%3F&item_name_1=name&item_number_1=&item_amount_1=100.00&item_quantity_1=1&item_discount_1=0.00&item_handling_1=0.00&item_shipping_1=0.00&feeAmount=&amountWithoutFee=&houseNumber=&customCurrency=&upoRegistrationDate=20220315&type=DEPOSIT&clientRequestId=104463777729001&relatedTransactionId=&apmPayerInfo=aquirer%3A+null%2C+name%3A+null%2C+trackingId%3A+null%2C+refId%3A+null%2C+bankName%3A+null%2C+replyTo%3A+null&sessionId=f870390a0317e0766b4196cdb62f&responsechecksum=953b5f35060b9867effd8a1eca05b9486a69745ea914ea54089cf729ee70b852&advanceResponseChecksum=1f0a43b7f73753ea26fe652c2ad0dc5ddeb19385774631d7cc8e73a38601a603',
Payout (Withdrawal) Flow
Follow these steps to perform a payout:
1. Register a userTokenId
A userTokenId
is a field in the Nuvei system containing the user’s identifier in the merchant system.
If you do not have a userTokenId
registered in the Nuvei system for this user, then register one by sending a /createUser
request, including email
, countryCode
, firstName
, and lastName
.
Example /createUser
Request
{ "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "userTokenId": "<unique customer identifier in merchant system>", "clientUniqueId": "<unique transaction ID in merchant system>", "clientRequestId": "<unique request ID in merchant system>", "currency": "CAD", "amount": "100", "userPaymentOption": { "userPaymentOptionId": "<UPO received from previous deposit>" }, "deviceDetails": { "ipAddress": "<customer's IP address>" }, "urlDetails": { "notificationUrl": "<URL to which DMNs are sent>" }, "timeStamp": "<YYYYMMDDHHmmss>", "checksum": "<calculated checksum>" }
Example /createUser
Response
{ "transactionStatus": "APPROVED", "clientRequestId": "W1Q3SBGE4", "internalRequestId": 17817071, "version": "1.0", "transactionId": "2110000000004333013", "merchantSiteId": "126006", "merchantId": "2502136204546424962", "clientUniqueId": "695701003", "errCode": 0, "userPaymentOptionId": "8054521", "paymentMethodErrorCode": 0, "userTokenId": "CEBQK9OVSLJA", "externalTransactionId": "2110000000068709", "status": "SUCCESS" }
2. Create the UPO
Create a UPO by sending an /addUPOAPM
request and include:
userTokenId
– The unique user identifier in your system."paymentMethodName":"apmgw_Interac_eTransfer"
apmData
class containing:"personal_id"
billingAddress
class containing:country
andemail
Example /addUPOAPM
Request
{ "merchantSiteId":"<your merchantSiteId>", "merchantId":"<your merchantId>", "userTokenId":"<unique customer identifier in merchant system>", "clientRequestId":"<unique request ID in merchant system>", "paymentMethodName":"apmgw_Interac_eTransfer", "apmData":{ "personal_id":"<personal ID>" }, "billingAddress":{ "country":"CA", "email":"[email protected]" }, "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>" }
Example /addUPOAPM
Response
{ "userPaymentOptionId":2152829771, "internalRequestId":25129841, "status":"SUCCESS", "errCode":0, "reason":"", "merchantId":"1102398682906145682", "merchantSiteId":"228311", "version":"1.0", "clientRequestId":"20230228133537" }
3. Send a /payout
Request
Send a /payout
request and include the userPaymentOptionId
, which contains the user’s previously stored APM account details. Press here for an example.
After the transaction is processed, Nuvei sends a DMN that includes the result of the transaction to the URL provided in urlDetails.notification
, which Nuvei recommends including in the /payout
request.
Use Experience
Deposit
- The user is redirected to the Gigadat’s hosted payment page. The user gets access to their personal banking (RBC in this scenario).
- The user logs in and selects Send an Interac e-Transfer.
- On the Interac e-Transfer page, the user needs to add a new recipient by pressing the dropdown menu next to To.
- The user fills in the required information and presses Continue.
- The user verifies that all the information is correct and presses Send Now.
- The transaction is now complete, and the user returns to the Gigadat’s hosted payment page.
- The user selects the Gigadat tab.
- The user presses Return to merchant to go back to the merchant’s website.
Withdrawal
- The user enter their email account (or uses the one saved from the deposits) and mobile number in the payment page.
- Withdrawal request is created.
- Merchant processes the withdrawal from the back office and receives status Pending.
- User needs to complete the withdrawal process offline. The user has up to 15 days to do this and 4 attempts to put the correct password.
- The user receives an email that the funds have been sent to him.
- The user logs in the bank.
- The user has to answer the security question to get the funds.
Testing
Deposit and Withdrawal need to be approved manually by Interac.