- METHOD TYPEBank Transfer
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Introduction
The Interac DI APM provides money transfers between private and business accounts, powered by Interac Corporation. Allows secure remittances with email or text message verification.
Supported Countries
- Canada
Supported Currencies
- CAD
Payment (Deposit) Flow
Press tab to open…
Follow these steps to perform a payment using Nuvei REST API integration:
1. Generate a sessionToken
Press here for details.
2. Send a /payment
Request
Perform the payment by sending a /payment
request with its mandatory parameters including:
userTokenId
amount
currency
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_Interac_DI“interac_deposit_flow_type
: “redirect” – Request for Money
ORinterac_deposit_flow_type
: “offline” – e-Transfer
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstName
,lastName
,country
,email
userDetails
class containing:firstName
,lastName
,country
,email
Example /payment
Request
{ "sessionToken":"<sessionToken from /getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientRequestId":"<unique request ID in merchant system>", "amount":"200", "currency":"USD", "userTokenId":"<unique customer identifier in merchant system>", "clientUniqueId":"<unique transaction ID in merchant system>", "paymentOption":{ "alternativePaymentMethod":{ "paymentMethod":"apmgw_Interac_DI", "interac_deposit_flow_type":"redirect" } }, "deviceDetails":{ "ipAddress":"<customer's IP address>" }, "billingAddress":{ "firstName": "John", "lastName": "Smith", "country":"CA", "email":"[email protected]" }, "userDetails":{ "firstName": "John", "lastName": "Smith", "country":"CA", "email":"[email protected]" }, "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": 34641791, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "4972436454212160565", "merchantSiteId": "209631", "version": "1.0", "clientRequestId": "20231101131739", "sessionToken": "e556b613-47be-46eb-8a61-e5edfde094e4", "clientUniqueId": "20231101131739", "orderId": "41384701", "userTokenId": "SiltokenRO432321221", "paymentOption": { "redirectUrl": "https://gateway-web.fit.interac.ca/reqPayment/eml/CA1MReRhEUHJ", "userPaymentOptionId": "2153070441", "card": {} }, "transactionStatus": "REDIRECT" }
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to urlDetails.notificationUrl
, which Nuvei recommends including in the /payment
request.
Follow these steps to perform a payment using Nuvei Web SDK integration.
1. Initiate a Session
Before you can submit payment using the client-side Nuvei Web SDK, you need to send the /openOrder
API call.
2. Initialize the Web SDK
Instantiate the Web SDK with the sessionToken
received from the server call to /openOrder
.
3. Create an APM Payment
Send a createPayment()
request with its mandatory parameters including:
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_Interac_DI“interac_deposit_flow_type
: “redirect” – Request for Money
ORinterac_deposit_flow_type
: “offline” – e-Transfer
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstName
,lastName
,country
,email
userDetails
class containing:firstName
,lastName
,country
,email
Example createPayment()
Request
sfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_Interac_DI", interac_deposit_flow_type: "redirect" } }, deviceDetails:{ ipAddress:"<customer's IP address>" }, billingAddress: { firstName: "John", lastName: "Smith", country: "CA", email: "[email protected]" }, userDetails: { firstName: "John", lastName: "Smith", country: "CA", email: "[email protected]" }, }, function (res) { console.log(res); });
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to urlDetails.notificationUrl
, which Nuvei recommends including in the /openOrder
request.
- REST API
-
Follow these steps to perform a payment using Nuvei REST API integration:
1. Generate a
sessionToken
Press here for details.
2. Send a
/payment
RequestPerform the payment by sending a
/payment
request with its mandatory parameters including:userTokenId
amount
currency
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_Interac_DI“interac_deposit_flow_type
: “redirect” – Request for Money
ORinterac_deposit_flow_type
: “offline” – e-Transfer
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstName
,lastName
,country
,email
userDetails
class containing:firstName
,lastName
,country
,email
Example
/payment
Request{ "sessionToken":"<sessionToken from /getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientRequestId":"<unique request ID in merchant system>", "amount":"200", "currency":"USD", "userTokenId":"<unique customer identifier in merchant system>", "clientUniqueId":"<unique transaction ID in merchant system>", "paymentOption":{ "alternativePaymentMethod":{ "paymentMethod":"apmgw_Interac_DI", "interac_deposit_flow_type":"redirect" } }, "deviceDetails":{ "ipAddress":"<customer's IP address>" }, "billingAddress":{ "firstName": "John", "lastName": "Smith", "country":"CA", "email":"[email protected]" }, "userDetails":{ "firstName": "John", "lastName": "Smith", "country":"CA", "email":"[email protected]" }, "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": 34641791, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "4972436454212160565", "merchantSiteId": "209631", "version": "1.0", "clientRequestId": "20231101131739", "sessionToken": "e556b613-47be-46eb-8a61-e5edfde094e4", "clientUniqueId": "20231101131739", "orderId": "41384701", "userTokenId": "SiltokenRO432321221", "paymentOption": { "redirectUrl": "https://gateway-web.fit.interac.ca/reqPayment/eml/CA1MReRhEUHJ", "userPaymentOptionId": "2153070441", "card": {} }, "transactionStatus": "REDIRECT" }
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to
urlDetails.notificationUrl
, which Nuvei recommends including in the/payment
request. - Web SDK
-
Follow these steps to perform a payment using Nuvei Web SDK integration.
1. Initiate a Session
Before you can submit payment using the client-side Nuvei Web SDK, you need to send the
/openOrder
API call.2. Initialize the Web SDK
Instantiate the Web SDK with the
sessionToken
received from the server call to/openOrder
.3. Create an APM Payment
Send a
createPayment()
request with its mandatory parameters including:paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_Interac_DI“interac_deposit_flow_type
: “redirect” – Request for Money
ORinterac_deposit_flow_type
: “offline” – e-Transfer
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstName
,lastName
,country
,email
userDetails
class containing:firstName
,lastName
,country
,email
Example
createPayment()
Requestsfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_Interac_DI", interac_deposit_flow_type: "redirect" } }, deviceDetails:{ ipAddress:"<customer's IP address>" }, billingAddress: { firstName: "John", lastName: "Smith", country: "CA", email: "[email protected]" }, userDetails: { firstName: "John", lastName: "Smith", country: "CA", email: "[email protected]" }, }, function (res) { console.log(res); });
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to
urlDetails.notificationUrl
, which Nuvei recommends including in the/openOrder
request.
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=43163331&userid=ScMigrationTest3&merchant_unique_id=97c10831-d3991fe6ed2fa6&customData=QA+test+merchant&productId=Shoes%25201&first_name=John&last_name=Doe&email=ivanp%40abv.bg¤cy=CAD&pmDisplayName=ivanp%40abv.bg&customField1=meccabingo.com&customField2=a2db82db-8186-44bb-a6d9-cb9fe25e99&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=rnk_pr01&invoice_id=&address1=Test+Address&address2=&country=Canada&state=ONTARIO&city=Ontario&zip=M6T+1J1&phone1=%2B14161238888&phone2=&phone3=&client_ip=127.0.0.1&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=Interac+-+Peoples+CA+PI&expMonth=&expYear=&Token=&tokenId=&AuthCode=&AvsCode=&Cvv2Reply=&shippingCountry=GB&shippingState=&shippingCity=Sofia&shippingAddress=10%252C%2520Cavendish%2520Square&shippingZip=6000&shippingFirstName=First&shippingLastName=Last&shippingPhone=&shippingCell=&shippingMail=test%252Bdenied%2540klarna.com&total_discount=0.00&total_handling=0.00&total_shipping=0.00&total_tax=0.00&buyButtonProductBundleId=&merchant_site_id=209631&merchant_status=&action=&requestVersion=&message=APPROVED&merchantLocale=en_US&unknownParameters=&payment_method=apmgw_Interac_DI&ID=&merchant_id=4972436454212160565&responseTimeStamp=2024-06-04.11%3A32%3A32&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=&cardCompany=&eci=&user_token_id=Siltokenddfgggtyuuuut99eee4&user_token=auto&userPaymentOptionId=2153233731&TransactionID=2610000000000031685&ExternalaccountID=ivanp%40abv.bg&externalTransactionId=gs27oxf5gcvFiyxv&APMReferenceID=F1BF0725AEED7956B836504AE802AAC1&orderTransactionId=24520541&totalAmount=1.00&dynamicDescriptor=Sil+Descriptor&item_name_1=Shoes%25201&item_number_1=&item_amount_1=1.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=20240604&type=DEPOSIT&clientRequestId=&relatedTransactionId=&apmPayerInfo=%7B%22name%22%3A%22JohnWick%22%2C%22email%22%3Anull%2C%22fi_name%22%3A%22Peoples+Trust%22%7D&sessionId=3053854c9c75ae21fb01a90e497f&responsechecksum=f8fec5f882830338b3bdb4ebd7824ffe&advanceResponseChecksum=679d5ddf625cc5947346fe303350e9b8',
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=43163331&userid=ScMigrationTest3&merchant_unique_id=97c10831-d3991fe6ed2fa6&customData=QA+test+merchant&productId=Shoes%25201&first_name=John&last_name=Doe&email=ivanp%40abv.bg¤cy=CAD&pmDisplayName=ivanp%40abv.bg&customField1=meccabingo.com&customField2=a2db82db-8186-44bb-a6d9-cb9fe25e99&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=rnk_pr01&invoice_id=&address1=Test+Address&address2=&country=Canada&state=ONTARIO&city=Ontario&zip=M6T+1J1&phone1=%2B14161238888&phone2=&phone3=&client_ip=127.0.0.1&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=Interac+-+Peoples+CA+PI&expMonth=&expYear=&Token=&tokenId=&AuthCode=&AvsCode=&Cvv2Reply=&shippingCountry=GB&shippingState=&shippingCity=Sofia&shippingAddress=10%252C%2520Cavendish%2520Square&shippingZip=6000&shippingFirstName=First&shippingLastName=Last&shippingPhone=&shippingCell=&shippingMail=test%252Bdenied%2540klarna.com&total_discount=0.00&total_handling=0.00&total_shipping=0.00&total_tax=0.00&buyButtonProductBundleId=&merchant_site_id=209631&merchant_status=&action=&requestVersion=&message=PENDING&merchantLocale=en_US&unknownParameters=&payment_method=apmgw_Interac_DI&ID=&merchant_id=4972436454212160565&responseTimeStamp=2024-06-04.11%3A32%3A25&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=&cardCompany=&eci=&user_token_id=Siltokenddfgggtyuuuut99eee4&user_token=auto&userPaymentOptionId=2153233731&TransactionID=2610000000000031685&ExternalaccountID=ivanp%40abv.bg&externalTransactionId=gs27oxf5gcvFiyxv&APMReferenceID=F1BF0725AEED7956B836504AE802AAC1&orderTransactionId=24520541&totalAmount=1.00&dynamicDescriptor=Sil+Descriptor&item_name_1=Shoes%25201&item_number_1=&item_amount_1=1.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=20240604&type=DEPOSIT&clientRequestId=&relatedTransactionId=&apmPayerInfo=%7B%22name%22%3A%22JohnWick%22%2C%22email%22%3Anull%2C%22fi_name%22%3A%22Peoples+Trust%22%7D&sessionId=3053854c9c75ae21fb01a90e497f&responsechecksum=261e1ffc3d945e0db420d738717172de&advanceResponseChecksum=5f950eb8b6fe433b01db941f281b27af',
Example Payment DMN with Status
=DECLINED
...'ppp_status=FAIL&Status=DECLINED&ExErrCode=0&ErrCode=0&errApmCode=0&errApmDescription=&errScCode=10002&errScDescription=Incorrect+request+parameter.&Reason=Incorrect+request+parameter.&ReasonCode=10002&PPP_TransactionID=43166471&userid=ScMigrationTest3&merchant_unique_id=97c10831-d3991fe6ed2fa6&customData=QA+test+merchant&productId=Shoes%25201&first_name=John&last_name=Doe&email=ivanp24565666%40abv.bg¤cy=CAD&pmDisplayName=ivanp24565666%40abv.bg&customField1=meccabingo.com&customField2=a2db82db-8186-44bb-a6d9-cb9fe25e99&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=rnk_pr01&invoice_id=&address1=Test+Address&address2=&country=Canada&state=ONTARIO&city=Ontario&zip=M6T+1J1&phone1=%2B14161238888&phone2=&phone3=&client_ip=127.0.0.1&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=Interac+-+Peoples+Direct&expMonth=&expYear=&Token=&tokenId=&AuthCode=&AvsCode=&Cvv2Reply=&shippingCountry=GB&shippingState=&shippingCity=Sofia&shippingAddress=10%252C%2520Cavendish%2520Square&shippingZip=6000&shippingFirstName=First&shippingLastName=Last&shippingPhone=&shippingCell=&shippingMail=test%252Bdenied%2540klarna.com&total_discount=0.00&total_handling=0.00&total_shipping=0.00&total_tax=0.00&buyButtonProductBundleId=&merchant_site_id=209631&merchant_status=&action=&requestVersion=&message=DECLINED&merchantLocale=en_US&unknownParameters=&payment_method=apmgw_Interac_DI&ID=&merchant_id=4972436454212160565&responseTimeStamp=2024-06-04.14%3A41%3A35&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=&cardCompany=&eci=&user_token_id=Siltokenddfgggtyuuuut99eee411&user_token=auto&userPaymentOptionId=2153234691&TransactionID=2610000000000031815&ExternalaccountID=ivanp24565666%40abv.bg&externalTransactionId=fafiyr1mskZXtjeI&APMReferenceID=C5E2C2C8B666FEC2924173E4047F6BFD&orderTransactionId=24522921&totalAmount=1.00&dynamicDescriptor=Sil+Descriptor&item_name_1=Shoes%25201&item_number_1=&item_amount_1=1.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=20240604&type=DEPOSIT&clientRequestId=&relatedTransactionId=&apmPayerInfo=%7B%22name%22%3Anull%2C%22email%22%3Anull%2C%22fi_name%22%3A%22PeoplesTrust%22%7D&sessionId=39b62dae7e1af4c9106109da3e0f&responsechecksum=3f1b8872285d5eb7dce2b5c3ff5b8a92&advanceResponseChecksum=4e87fef9fb5d18691db59de087f2820a',
Payout (Withdrawal) Flow
Follow these steps to perform a payout using Nuvei REST API integration:
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>", "clientRequestId":"<unique request ID in merchant system>", "userTokenId":"<unique user identifier in merchant system>", "email":"[email protected]", "countryCode":"CA", "firstName":"John", "lastName":"Smith", "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>" }
Example /createUser
Response
{ "userId":78403498, "internalRequestId":552360538, "status":"SUCCESS", "errCode":0, "reason":"", "merchantId":"2439523627382132721", "merchantSiteId":"224428", "version":"1.0", "clientRequestId":"20221108130736" }
The request registers the userTokenId
in the Nuvei system, which is needed to generate a UPO in the next step.
2. Create the UPO
Create a UPO by sending an /addUPOAPM
request and include:
userTokenId
– Unique customer identifier in the merchant’s system.paymentMethodName
: “apmgw_Interac_DI“apmData
class containing:interac_email
– User’s Interac email addressinterac_question
– User’s Interac security question. Valid values:- The make of your first car
- The name of the street you grew up on
- The name of your elementary school
- Your childhood best friend’s name
- Your eldest child’s middle name
- Your eldest sibling’s birth month
- Your eldest sibling’s middle name
- Your favourite city
- Your favourite drink
- Your favourite food
interac_answer
– User’s answer to the security question.
Example /addUPOAPM
Request
{ "merchantSiteId": "<your merchantSiteId>", "merchantId": "<your merchantId>", "userTokenId": "<unique customer identifier in merchant system>", "clientRequestId": "<unique request ID in merchant system>", "timeStamp": "<YYYYMMDDHHmmss>", "apmData": { "interac_question": "Your favourite city", "interac_answer": "Plovdiv", "interac_email": "[email protected]" }, "paymentMethodName": "apmgw_Interac_DI", "checksum": "<calculated checksum>" }
The request returns an encrypted userPaymentOptionId
(UPO) representing the user’s APM account details.
Example /addUPOAPM
Response
{ "internalRequestId": 34302991, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "4972436454212160565", "merchantSiteId": "209631", "version": "1.0", "clientRequestId": "20231016153027", "userPaymentOptionId": 2153048311 }
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 Direct Merchant Notification (DMN) that includes the result of the transaction to urlDetails.notificationUrl
, which Nuvei recommends including in the /payout
request.
Example /payout
DMN with Status
=APPROVED
...'ppp_status=OK&Status=APPROVED&ExErrCode=0&ErrCode=0&errApmCode=0&errApmDescription=&errScCode=0&errScDescription=&Reason=&ReasonCode=&PPP_TransactionID=41300541&userid=Siltokeninterac1&merchant_unique_id=20231016153134&customData=Silvenam&productId=&first_name=&last_name=&email=¤cy=CAD&clientUniqueId=20231016153134&customField1=&customField2=&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=&invoice_id=&address1=&address2=&country=&state=&city=&zip=&phone1=&phone2=&phone3=&client_ip=&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&expMonth=&expYear=&Token=&tokenId=&AuthCode=&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=209631&merchant_status=&action=&requestVersion=&message=APPROVED&merchantLocale=&unknownParameters=&payment_method=apmgw_Interac_DI&ID=&merchant_id=4972436454212160565&responseTimeStamp=2023-10-16.13%3A00%3A11&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Credit&externalEmail=&cardCompany=&eci=&user_token_id=Siltokeninterac1&userPaymentOptionId=2153048311&TransactionID=2110000000011259417&externalTransactionId=llfiyo07ucZKiZOo&totalAmount=25.0&dynamicDescriptor=Sil+Descriptor&feeAmount=&houseNumber=&customCurrency=&upoRegistrationDate=20231016&type=DEPOSIT&clientRequestId=&relatedTransactionId=&responsechecksum=175ea00b6d11162704edc02b929af962&advanceResponseChecksum=1a6cb0c035b6797c6cd9b8c1658a6379',
User Experience
Request for Money
- The user is redirected to the Interac website. The user also receives an email that can be used to complete the deposit later.
Desktop
Mobile
Email
- The user selects a financial institution, logs in to it, and completes the deposit.
e-Transfer
- The user is redirected to page that shows the information required for completing the deposit.
- After the user completes the deposit, Nuvei receives a notification that the transaction was completed.
Testing
Test credentials and testing scenarios can be provided by Nuvei if necessary. You can contact Nuvei support for assistance.