- METHOD TYPEReal-Time Bank Transfer
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Introduction
The Open Banking and Instant Open Banking APMs enable customers of participating banks in the EU and in certain other European countries to make payments using their bank accounts.
Supported Countries
- Austria
- Belgium
- Estonia
- France
- Germany
- Hungary
- Italy
- Latvia
- Lithuania
- Netherlands
- Poland
- Portugal
- Spain
- United Kingdom
Supported Currencies
- EUR
- GBP
- PLN
Collecting Payment Details
- Follow the instructions in these steps:
Press tab to open…Retrieve a dynamic list of banks and APMs linked to your merchant account for that country:- The payment flow begins when your customer enters the amount they wish to pay on your payment page, selects “Online Bank Transfer” or “Instant Bank Transfer” and presses Pay (or equivalent).
- Send a
/getSessionToken
request, which generates asessionToken
. - Call the
/getMerchantPaymentMethods
method and include the relevantcountryCode
parameter to narrow down results returned.
Example
/getMerchantPaymentMethods
Request{ "sessionToken": "<sessionToken from getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientRequestId": "<unique request ID in merchant system>", "currencyCode":"USD", "countryCode":"BE", "type":"DEPOSIT", "languageCode":"eng", "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>" }
Retrieve a dynamic list of banks and APMs linked to your merchant account for that country:- The payment flow begins when your customer enters the amount they wish to pay on your payment page, selects “Online Bank Transfer” or “Instant Bank Transfer”, and presses Pay (or equivalent).
- Send an
/openOrder
request, which generates asessionToken
. - Instantiate a Web SDK session by sending a
SafeCharge()
request and include thesessionToken
. - Now you can call the
getAPMs()
Web SDK method, and include the relevantcountryCode
to narrow down the results returned.
Example
getApms()
Requestsfc.getApms({ "currencyCode": "USD", "countryCode": "BE", "languageCode": "en" }, function (res) { console.log(res) })
The response returns all the APMs linked to your merchant account, for that
countryCode
.
- Initiate a Session – This authenticates and sets up an order in the Nuvei system, by sending an /openOrder request, and returns a
sessionToken
. - Create an HTML Placeholder – This instantiates the Web SDK with the
sessionToken
received from the server call to /openOrder. - Collect the bank and transaction details by displaying a pop-up for the customer to select a bank, enter the IBAN (if mandatory for the bank), accept the Terms and Conditions, and enter the amount.
- Use an IFrame to redirect the customer to their selected bank, so they can enter their credentials and complete the payment transaction.
(END OF SIMPLY CONNECT FLOW)
- REST API
-
Retrieve a dynamic list of banks and APMs linked to your merchant account for that country:
- The payment flow begins when your customer enters the amount they wish to pay on your payment page, selects “Online Bank Transfer” or “Instant Bank Transfer” and presses Pay (or equivalent).
- Send a
/getSessionToken
request, which generates asessionToken
. - Call the
/getMerchantPaymentMethods
method and include the relevantcountryCode
parameter to narrow down results returned.
Example
/getMerchantPaymentMethods
Request{ "sessionToken": "<sessionToken from getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientRequestId": "<unique request ID in merchant system>", "currencyCode":"USD", "countryCode":"BE", "type":"DEPOSIT", "languageCode":"eng", "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>" }
- Web SDK
-
Retrieve a dynamic list of banks and APMs linked to your merchant account for that country:
- The payment flow begins when your customer enters the amount they wish to pay on your payment page, selects “Online Bank Transfer” or “Instant Bank Transfer”, and presses Pay (or equivalent).
- Send an
/openOrder
request, which generates asessionToken
. - Instantiate a Web SDK session by sending a
SafeCharge()
request and include thesessionToken
. - Now you can call the
getAPMs()
Web SDK method, and include the relevantcountryCode
to narrow down the results returned.
Example
getApms()
Requestsfc.getApms({ "currencyCode": "USD", "countryCode": "BE", "languageCode": "en" }, function (res) { console.log(res) })
The response returns all the APMs linked to your merchant account, for that
countryCode
.
- Simply Connect
-
- Initiate a Session – This authenticates and sets up an order in the Nuvei system, by sending an /openOrder request, and returns a
sessionToken
. - Create an HTML Placeholder – This instantiates the Web SDK with the
sessionToken
received from the server call to /openOrder. - Collect the bank and transaction details by displaying a pop-up for the customer to select a bank, enter the IBAN (if mandatory for the bank), accept the Terms and Conditions, and enter the amount.
- Use an IFrame to redirect the customer to their selected bank, so they can enter their credentials and complete the payment transaction.
(END OF SIMPLY CONNECT FLOW)
- Initiate a Session – This authenticates and sets up an order in the Nuvei system, by sending an /openOrder request, and returns a
fields.listValues.caption
value) for you to display to the customer:Example
/getMerchantPaymentMethods
(orgetApms()
) Response{ "paymentMethod":"apmgw_Instant_Open_Banking", "paymentMethodDisplayName":[ ], "isDirect":"false", "countries":[ "BE" ], "currencies":[ "USD" ], "fields":[ { "name":"ob_account_number", "type":"text", "caption":[ { "language":"en", "message":"Account Number" } ] }, { "name":"ob_sort_code", "type":"text", "caption":[ { "language":"en", "message":"Sort Code" } ] }, { "name":"ob_iban", "type":"text", "caption":[ { "language":"en", "message":"IBAN" } ] }, { "name":"instantOb_bankId", "type":"text", "caption":[ { "language":"en", "message":"Bank ID" } ], "listValues":[ { "code":"ngp-bbru", "caption":"NextGenPSD2", "mandatoryFields":[ "ob_iban" ] }, { "code":"ngp-ingba", "caption":"ING Austria", "mandatoryFields":[ ] } ] } ] }
- Extract a list of all the banks returned for these APMs:
apmgw_Open_Banking
andapmgw_Instant_Open_Banking
./getMerchantPaymentMethods
(orgetApms()
) Output ParametersParameter Description Examples paymentMethod Identifier of a Payment Method. apmgw_Open_Banking
fields A list of possible input fields required by a payment method provider for this Payment Method, as well as a list of mandatory input fields per fields.listValues
value (in the form of a key-value pairs to be used to populate a dropdown input field).- fields.name Identifier of the field. ob_account_number
ob_sort_code
ob_iban
ob_bank_id
fields.listValues A list of values of the fields.name
(to be used to populate a dropdown input field).- fields.listValues
.codeBank code used for sending the payment request.
Note:For the "apmgw_online_bank_transfer" APM, the bank id parameter must be: "ob_bank_id"ngp-bbru
ngp-ingbafields.listValues
.captionBank name for display on the UI. NextGenPSD2
ING Austriafields.listValues
.mandatoryFieldsA list of fields.names
, which are mandatory for thisfields.listValues
value (to be used to populate a dropdown input field).ob_account_number
ob_sort_code
ob_iban - Display this list of banks, for the customer to choose the bank that holds the account they wish to pay from. The names of the banks are contained in the
fields.listValues.caption
value, contained in thefields.listValues
array output parameter. - After the customer selects a bank, retrieve the list of mandatory fields that customer must enter. The mandatory fields required for the selected bank are contained in the
fields.listValues.mandatoryFields
value of this array. The values in this array correspond to the values in thefields.name
output parameter.
fields
array structure withmandatoryFields
from the/getMerchantPaymentMethods
(orgetApms()
) Response"fields"[ "name" (String, 45), "type" (String, 45), "validationMessage" ["language" (String, 2), "message" (String, 400)], "caption" ["language" (String, 2), "message" (String, 400)], "listValues" [ "code" (String, 255), "caption" (String), "mandatoryFields" [(String, 45)] ] ]
- After the customer enters the information required by their bank, display the amount, currency, and the following important checkbox for the customer to approve before allowing them to continue:
“By continuing, you agree to the Privacy Policy and the Terms of Nuvei’s bank connectivity provider. You will be asked by your bank to share your account details, these will only be used when necessary such as processing a refund.“
Sending the Payment Request
Press a tab to open…
- Use the data entered by the customer to send a
/payment
request, and include thealternativePaymentMethod
class containing the relevant additional Open Banking parameters.Example
/payment
Request forapmgw_Instant_Open_Banking
– With Mandatory Parameters{ "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": "USD", "amount": "1", "paymentOption": { "alternativePaymentMethod": { "paymentMethod": "apmgw_Instant_Open_Banking", "instantOb_bankId": "ngp-bbru", "ob_iban": "BE96315678901234" } }, "deviceDetails": { "ipAddress": "<customer's IP address>" }, "billingAddress": { "firstName": "John", "lastName": "Smith", "email": "[email protected]", "country": "BE" }, "userDetails": { "firstName": "John", "lastName": "Smith", "email": "[email protected]", "country": "BE" }, "timeStamp": "<YYYYMMDDHHmmss>", "checksum": "<calculated checksum>" }
A successful request returns a
paymentOption.redirectUrl
for the particular bank.Example
/payment
Response{ "reason": "", "orderId": "36298881", "transactionStatus": "REDIRECT", "clientRequestId": "GF1XTXTBM", "internalRequestId": 17817111, "version": "1.0", "merchantSiteId": "126006", "merchantId": "2502136204546424962", "clientUniqueId": "695701003", "errCode": 0, "paymentOption": { "redirectUrl": "https://cdn-int.safecharge.com/safecharge_resources/v1/get_to_post/index.html?eyJhengciOiJSUzI1NiJ9.eyJkZXRhaWxzIjoiNzRDQkZEODMyOUI1RDMwMjNDM0YwNUJERThGRkFEMDRGQUNEMURCQUZFMEYxM0QwMzhFQkU5RjRCMzhFMTY2RTY5NEI0QzhDMDg2RjYzMDM2RTdCMkIyREVBRjRENTIyNkM2RDg1RUE5NkI2QjIzNjEzMUVBREI0NDBGRjU0QzE0RThGM0ZCODg2QzUwQzcyMTYxMURBMkNBQzg1NzI2NjRCOEE4ODE0MThEMkJCMjBFNTAzRDE4MTRBMkJBM0M1NjM3RDBCNkFFRDU5MUVFQzk2NEQwMUE2OEFFRUQyMDBBMUJBRUQ4RUIxNDBGNEEwQkQ2OTE3MzYxMEM4Rjg1MTAwMjMxREEzQkRDNUZGMkNGOUNGRURCQkZFMTQ2REEwMDdCQUY4QUUzN0Q1Q0JEQTYzOTQyNDhGMkFEQzhFMzMyODU4NzQ5MzUyNTI2NDFFREREM0Q4ODEwQTE3RkVCNTlBMjY4ODBCMkI2NjYzRkVENjk3RjRBMDhERTFBNzVDRDdBMzk2MzBGRjJBREU1Mjk0N0FERjFFQUVFMDA4Nzg4Q0REN0RCNjM5M0QwRTNEOTFBQkVERTY3MDFBMUQ0RkU3M0M3RTQwNUQ5RjlCNzZDMUYxRjQ5QzIxMjU4RERENDVDQUFDNTNERDg4MEVBNTk2Mzk1QzBDRDQ4NUY0OTQ4M0VERURGNDJFRkQzMUJBNkIwMUYwMTFGMTVGNzAyMUI2OTRBOUQ1NTU0OEEyQ0FDNUQ3MzVBNTgyMkJCMEFDOUFCQjhBQzc1Q0UxNzc1NjI0QzY1QUQ1MDU4NTVCRDI5RjFCMjJCMDlCREExM0I1QkFFQ0ZEMTA1MUI2NTQ4QTUxQkJDNDlEOTlCQUI4MUZERjAwNzAyQTBDQ0IyQTk3MDVENzE2MkZFRUQ5RjEzN0ZGN0FGMDUwNUIyMUIwOTY2RDA2NTFFQkRDRDA1MkY0RTE4MDY5ODlCOEFBQjJDMTIxNkIzNzJDREQ5RDQ0RDQ2N0EwOEUwQjI4MkUzOTkwNjAwOTcyQ0NDNEYwQjZEMDdERDg1ODk2MDYzM0UwNkExQ0VGRTY0OEExNzBDOTA3RjA3Qzg4NDA4NDI0MzQzRjNGQjM1MDZFN0EzRkEwNkQ0MDY5M0QyQkE3MzBGQTdCNzc3NDFFQUU2NDg2NEI2NjE3MDdGMzY0MDNCMTQyOTJDMTM1NzI5NDUwQ0YxRDk3NTcxQUE5NzJDQzg1MTVGQSIsIm1lcmNoYW50X2lkIjoiU2ZDaGFyZ2UiLCJpdiI6Ijk5RTM0MEMyNzg0MkNBOTlCQkIxQzUyNzVFQUFFNURBIiwidXJsIjoiaHR0cHM6Ly9zdGFnaW5nLnZlcmlmaWVkYWNoLmNvbS9jb25zdW1lci9BY3F1aXJlSW5mb0dhdGV3YXkuZG8ifQ.EF3K5UsPQYdua_YcRd9Yefl-KemNwEMq5-EXV7QWAZUbCQglncAaAHzzlW-sxq2XcVZcZ2qbxLkQqjzkB3tItTGUDmqysL-opqOdaaz54EKeHKC5hzQIp77DucIGYQhPxfOB_eAxTOPLvZ85c3woJ37m8BH8kuJPSoAjYrZ12geEQJQx4R2VxNT3QsxxryEWZvU1yKc8mjCl011nWz6cp4LZpHIMwUwvdCMJWUeJtAxC-Q6Ec4NqP93AFki9Ln0OOvenbOEBn3UpK_BncxKu7RFOzM8w4kSf0eopKC44awlROwZaO0k0htJAUikA_W-fgeLISuMpHmWMZz6X3Ju2Bg", "userPaymentOptionId": "8061731", "card": {} }, "sessionToken": "6fa38ea2-6f1a-4620-85ae-7deaf0d5f8f1", "userTokenId": "2J6QZH3UF9E2", "status": "SUCCESS" }
- Redirect the customer to that
redirectUrl
for the customer to enter their credential and complete the payment. - The APM provider processes the request.
- After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to the
urlDetails.notificationUrl
, which Nuvei recommends including in the/payment
request.
- Use the data entered by the customer to send a
createPayment()
request, and include thealternativePaymentMethod
class containing the relevant additional Open Banking parameters.
- If the
createPayment()
request is successful, then the system automatically opens a new tab or an IFrame, redirecting the customer to their APM provider (the selected bank) site to enter their credentials and complete the payment. - To verify the response, see the Web SDK Response Verification topic.
Example createPayment()
Request for apmgw_Instant_Open_Banking
– With Mandatory Parameter
sfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_Instant_Open_Banking", instantOb_bankId: "ngp-bbru", ob_iban: "BE96315678901234" } }, deviceDetails: { ipAddress: "<customer's IP address>" }, billingAddress: { firstName: "John", lastName: "Smith", email: "[email protected]", country: "BE" }, userDetails: { firstName: "John", lastName: "Smith", email: "[email protected]", country: "BE" }, }, function(res) { console.log(res); });
Example createPayment()
Request for apmgw_Open_Banking
– No Mandatory Parameter
sfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption : { alternativePaymentMethod: { paymentMethod: "apmgw_Open_Banking", ob_bank_id: "ngp-ingba" }}, deviceDetails: { ipAddress: "<customer's IP address>" }, billingAddress: { firstName "John", lastName: "Smith", email: "[email protected]", country: "BE" }, userDetails: { firstName: "John", lastName: "Smith", email: "[email protected]", country: "BE" }, }, function(res) { console.log(res); })
- REST API
-
- Use the data entered by the customer to send a
/payment
request, and include thealternativePaymentMethod
class containing the relevant additional Open Banking parameters.Example
/payment
Request forapmgw_Instant_Open_Banking
– With Mandatory Parameters{ "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": "USD", "amount": "1", "paymentOption": { "alternativePaymentMethod": { "paymentMethod": "apmgw_Instant_Open_Banking", "instantOb_bankId": "ngp-bbru", "ob_iban": "BE96315678901234" } }, "deviceDetails": { "ipAddress": "<customer's IP address>" }, "billingAddress": { "firstName": "John", "lastName": "Smith", "email": "[email protected]", "country": "BE" }, "userDetails": { "firstName": "John", "lastName": "Smith", "email": "[email protected]", "country": "BE" }, "timeStamp": "<YYYYMMDDHHmmss>", "checksum": "<calculated checksum>" }
A successful request returns a
paymentOption.redirectUrl
for the particular bank.Example
/payment
Response{ "reason": "", "orderId": "36298881", "transactionStatus": "REDIRECT", "clientRequestId": "GF1XTXTBM", "internalRequestId": 17817111, "version": "1.0", "merchantSiteId": "126006", "merchantId": "2502136204546424962", "clientUniqueId": "695701003", "errCode": 0, "paymentOption": { "redirectUrl": "https://cdn-int.safecharge.com/safecharge_resources/v1/get_to_post/index.html?eyJhengciOiJSUzI1NiJ9.eyJkZXRhaWxzIjoiNzRDQkZEODMyOUI1RDMwMjNDM0YwNUJERThGRkFEMDRGQUNEMURCQUZFMEYxM0QwMzhFQkU5RjRCMzhFMTY2RTY5NEI0QzhDMDg2RjYzMDM2RTdCMkIyREVBRjRENTIyNkM2RDg1RUE5NkI2QjIzNjEzMUVBREI0NDBGRjU0QzE0RThGM0ZCODg2QzUwQzcyMTYxMURBMkNBQzg1NzI2NjRCOEE4ODE0MThEMkJCMjBFNTAzRDE4MTRBMkJBM0M1NjM3RDBCNkFFRDU5MUVFQzk2NEQwMUE2OEFFRUQyMDBBMUJBRUQ4RUIxNDBGNEEwQkQ2OTE3MzYxMEM4Rjg1MTAwMjMxREEzQkRDNUZGMkNGOUNGRURCQkZFMTQ2REEwMDdCQUY4QUUzN0Q1Q0JEQTYzOTQyNDhGMkFEQzhFMzMyODU4NzQ5MzUyNTI2NDFFREREM0Q4ODEwQTE3RkVCNTlBMjY4ODBCMkI2NjYzRkVENjk3RjRBMDhERTFBNzVDRDdBMzk2MzBGRjJBREU1Mjk0N0FERjFFQUVFMDA4Nzg4Q0REN0RCNjM5M0QwRTNEOTFBQkVERTY3MDFBMUQ0RkU3M0M3RTQwNUQ5RjlCNzZDMUYxRjQ5QzIxMjU4RERENDVDQUFDNTNERDg4MEVBNTk2Mzk1QzBDRDQ4NUY0OTQ4M0VERURGNDJFRkQzMUJBNkIwMUYwMTFGMTVGNzAyMUI2OTRBOUQ1NTU0OEEyQ0FDNUQ3MzVBNTgyMkJCMEFDOUFCQjhBQzc1Q0UxNzc1NjI0QzY1QUQ1MDU4NTVCRDI5RjFCMjJCMDlCREExM0I1QkFFQ0ZEMTA1MUI2NTQ4QTUxQkJDNDlEOTlCQUI4MUZERjAwNzAyQTBDQ0IyQTk3MDVENzE2MkZFRUQ5RjEzN0ZGN0FGMDUwNUIyMUIwOTY2RDA2NTFFQkRDRDA1MkY0RTE4MDY5ODlCOEFBQjJDMTIxNkIzNzJDREQ5RDQ0RDQ2N0EwOEUwQjI4MkUzOTkwNjAwOTcyQ0NDNEYwQjZEMDdERDg1ODk2MDYzM0UwNkExQ0VGRTY0OEExNzBDOTA3RjA3Qzg4NDA4NDI0MzQzRjNGQjM1MDZFN0EzRkEwNkQ0MDY5M0QyQkE3MzBGQTdCNzc3NDFFQUU2NDg2NEI2NjE3MDdGMzY0MDNCMTQyOTJDMTM1NzI5NDUwQ0YxRDk3NTcxQUE5NzJDQzg1MTVGQSIsIm1lcmNoYW50X2lkIjoiU2ZDaGFyZ2UiLCJpdiI6Ijk5RTM0MEMyNzg0MkNBOTlCQkIxQzUyNzVFQUFFNURBIiwidXJsIjoiaHR0cHM6Ly9zdGFnaW5nLnZlcmlmaWVkYWNoLmNvbS9jb25zdW1lci9BY3F1aXJlSW5mb0dhdGV3YXkuZG8ifQ.EF3K5UsPQYdua_YcRd9Yefl-KemNwEMq5-EXV7QWAZUbCQglncAaAHzzlW-sxq2XcVZcZ2qbxLkQqjzkB3tItTGUDmqysL-opqOdaaz54EKeHKC5hzQIp77DucIGYQhPxfOB_eAxTOPLvZ85c3woJ37m8BH8kuJPSoAjYrZ12geEQJQx4R2VxNT3QsxxryEWZvU1yKc8mjCl011nWz6cp4LZpHIMwUwvdCMJWUeJtAxC-Q6Ec4NqP93AFki9Ln0OOvenbOEBn3UpK_BncxKu7RFOzM8w4kSf0eopKC44awlROwZaO0k0htJAUikA_W-fgeLISuMpHmWMZz6X3Ju2Bg", "userPaymentOptionId": "8061731", "card": {} }, "sessionToken": "6fa38ea2-6f1a-4620-85ae-7deaf0d5f8f1", "userTokenId": "2J6QZH3UF9E2", "status": "SUCCESS" }
- Redirect the customer to that
redirectUrl
for the customer to enter their credential and complete the payment. - The APM provider processes the request.
- After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to the
urlDetails.notificationUrl
, which Nuvei recommends including in the/payment
request.
- Use the data entered by the customer to send a
- Web SDK
-
- Use the data entered by the customer to send a
createPayment()
request, and include thealternativePaymentMethod
class containing the relevant additional Open Banking parameters.
- If the
createPayment()
request is successful, then the system automatically opens a new tab or an IFrame, redirecting the customer to their APM provider (the selected bank) site to enter their credentials and complete the payment. - To verify the response, see the Web SDK Response Verification topic.
Example
createPayment()
Request forapmgw_Instant_Open_Banking
– With Mandatory Parametersfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_Instant_Open_Banking", instantOb_bankId: "ngp-bbru", ob_iban: "BE96315678901234" } }, deviceDetails: { ipAddress: "<customer's IP address>" }, billingAddress: { firstName: "John", lastName: "Smith", email: "[email protected]", country: "BE" }, userDetails: { firstName: "John", lastName: "Smith", email: "[email protected]", country: "BE" }, }, function(res) { console.log(res); });
Example
createPayment()
Request forapmgw_Open_Banking
– No Mandatory Parametersfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption : { alternativePaymentMethod: { paymentMethod: "apmgw_Open_Banking", ob_bank_id: "ngp-ingba" }}, deviceDetails: { ipAddress: "<customer's IP address>" }, billingAddress: { firstName "John", lastName: "Smith", email: "[email protected]", country: "BE" }, userDetails: { firstName: "John", lastName: "Smith", email: "[email protected]", country: "BE" }, }, function(res) { console.log(res); })
- Use the data entered by the customer to send a
Sending the Payout Request
To perform a payout, you have the following options:
- Send a
/payout
request and include theuserPaymentOptionId
from the payment transaction. Press here for an example. - Collect account details from the deposit and use your logic to use them via another payment method such as SEPA Payouts. For example, take the IBAN from the DMN and create a SEPA Payouts
/payout
request.
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.
Testing
Merchants can test these APMs using the following banks and test data.
Commerzbank (DE)
- SEPA and SEPA Instant
- Does not return refund account
KD bank (DE – embedded flow)
Credentials:
- psuId: VRK1234567890ALL
- password: password
- SCA: 942: mobile TAN
- pin: 123456
Natwest (UK)
- FPS
- Returns refund account and name
Credentials: 123456789012
Alior (PL)
- Elixir & SEPA
- Does not return refund account
Credentials:
- 60370698
- 12345678
BBVA (ES)
Credentials:
- user1
- 1234
- 123456