- 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
/getSessionTokenrequest, which generates asessionToken. - Call the
/getMerchantPaymentMethodsmethod and include the relevantcountryCodeparameter to narrow down results returned.
Example
/getMerchantPaymentMethodsRequest{ "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
/openOrderrequest, 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 relevantcountryCodeto 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
sessionTokenreceived 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)
The response from the request returns a list of bank names (in the- 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
/getSessionTokenrequest, which generates asessionToken. - Call the
/getMerchantPaymentMethodsmethod and include the relevantcountryCodeparameter to narrow down results returned.
Example
/getMerchantPaymentMethodsRequest{ "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
/openOrderrequest, 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 relevantcountryCodeto 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
sessionTokenreceived 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.captionvalue) 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_Bankingandapmgw_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.listValuesvalue (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.listValuesvalue (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.captionvalue, contained in thefields.listValuesarray 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.mandatoryFieldsvalue of this array. The values in this array correspond to the values in thefields.nameoutput parameter.
fieldsarray structure withmandatoryFieldsfrom 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
/paymentrequest, and include thealternativePaymentMethodclass containing the relevant additional Open Banking parameters.Example
/paymentRequest 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.redirectUrlfor the particular bank.Example
/paymentResponse{ "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
redirectUrlfor 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/paymentrequest.
Sending the Payout Request
To perform a payout, you have the following options:
- Send a
/payoutrequest and include theuserPaymentOptionIdfrom 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
/payoutrequest.
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.
- Use the data entered by the customer to send a
createPayment()request, and include thealternativePaymentMethodclass 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);
})
Withdrawal Flow
For information about the Withdrawal flow for WebSDK, see Withdrawal.
- REST API
-
- Use the data entered by the customer to send a
/paymentrequest, and include thealternativePaymentMethodclass containing the relevant additional Open Banking parameters.Example
/paymentRequest 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.redirectUrlfor the particular bank.Example
/paymentResponse{ "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
redirectUrlfor 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/paymentrequest.
Sending the Payout Request
To perform a payout, you have the following options:
- Send a
/payoutrequest and include theuserPaymentOptionIdfrom 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
/payoutrequest.
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/payoutrequest. - 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 thealternativePaymentMethodclass 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); })Withdrawal Flow
For information about the Withdrawal flow for WebSDK, see Withdrawal.
- Use the data entered by the customer to send a
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