- METHOD TYPEE-wallet
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Introduction
Wero is a payment solution that aims to become the standard for European consumers and merchants. It is available through EPI member bank applications and as a mobile application on Android and iOS platforms. Built on SEPA Instant rails, Wero was launched by the European Payments Initiative (EPI). Designed to unify fragmented local schemes, Wero allows consumers to move money in seconds through a mobile application, either as a standalone wallet or embedded within an existing bank application.
Supported Countries
- Belgium (available soon)
- Germany
Supported Currencies
- EUR
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_Wero“
deviceDetails
class containing:ipAddress
userDetails
class containing:country
Example /payment
Request
{ "sessionToken":"<sessionToken from /getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientRequestId":"<unique request ID in merchant system>", "amount":"200", "currency":"EUR", "userTokenId":"<unique customer identifier in merchant system>", "clientUniqueId":"<unique transaction ID in merchant system>", "paymentOption":{ "alternativePaymentMethod":{ "paymentMethod":"apmgw_Wero", } }, "deviceDetails":{ "ipAddress":"<customer's IP address>" }, "userDetails":{ "country":"DE", }, "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>" }
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.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:
- session token
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_Wero“
deviceDetails
class containing:ipAddress
userDetails
class containing:country
Example createPayment()
Request
sfc.createPayment({ sessionToken: '<sessiontoken>', paymentOption: { alternativePaymentMethod: { paymentMethod: 'apmgw_Wero', }, }, deviceDetails: { ipAddress: "<customer's IP address>" }, userDetails: { country: 'US', } }, 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 the URL provided in urlDetails.notificationUrl
, which Nuvei recommends including in the /openOrder
request.
To perform a payment using Nuvei Simply Connect integration:
1. Initiate a Session
Before submitting a Simply Connect payment request, you need to submit a server-side /openOrder
API request.
2. Create an HTML Placeholder
Import the checkout.js
library for building payment flows and create an HTML placeholder on your payment page for the Simply Connect UI element.
3. Submit a checkout()
Request
Send a checkout()
request with its mandatory input parameters, along with any other relevant parameters and customizations. For more information, see Quick Start to Simply Connect.
checkout({... "userDetails": { "country": "DE", }, "apmConfig": { "apmgw_Wero": { "fields": {} } }, });
- 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_Wero“
deviceDetails
class containing:ipAddress
userDetails
class containing:country
Example
/payment
Request{ "sessionToken":"<sessionToken from /getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientRequestId":"<unique request ID in merchant system>", "amount":"200", "currency":"EUR", "userTokenId":"<unique customer identifier in merchant system>", "clientUniqueId":"<unique transaction ID in merchant system>", "paymentOption":{ "alternativePaymentMethod":{ "paymentMethod":"apmgw_Wero", } }, "deviceDetails":{ "ipAddress":"<customer's IP address>" }, "userDetails":{ "country":"DE", }, "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>" }
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.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:- session token
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_Wero“
deviceDetails
class containing:ipAddress
userDetails
class containing:country
Example
createPayment()
Requestsfc.createPayment({ sessionToken: '<sessiontoken>', paymentOption: { alternativePaymentMethod: { paymentMethod: 'apmgw_Wero', }, }, deviceDetails: { ipAddress: "<customer's IP address>" }, userDetails: { country: 'US', } }, 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 the URL provided in
urlDetails.notificationUrl
, which Nuvei recommends including in the/openOrder
request. - Simply Connect
-
To perform a payment using Nuvei Simply Connect integration:
1. Initiate a Session
Before submitting a Simply Connect payment request, you need to submit a server-side
/openOrder
API request.2. Create an HTML Placeholder
Import the
checkout.js
library for building payment flows and create an HTML placeholder on your payment page for the Simply Connect UI element.3. Submit a
checkout()
RequestSend a
checkout()
request with its mandatory input parameters, along with any other relevant parameters and customizations. For more information, see Quick Start to Simply Connect.checkout({... "userDetails": { "country": "DE", }, "apmConfig": { "apmgw_Wero": { "fields": {} } }, });
After the transaction is processed, Nuvei sends a DMN that includes the result of the transaction.
DMNs
Example of DMN with Approved Status (Sale)
ppp_status=OK&Status=APPROVED&ExErrCode=0&ErrCode=0&errApmCode=0&errApmDescription=&errScCode=0&errScDescription=&Reason=&ReasonCode=0&PPP_TransactionID=130808111&userid=TstWero13&merchant_unique_id=&customData=&productId=&first_name=&middle_name=&last_name=&email=¤cy=EUR&customField1=&customField2=&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=&invoice_id=&address1=&address2=&country=Belgium&state=&city=&zip=&phone1=&phone2=&phone3=&client_ip=&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=EPI+Wero+MS-PI&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=242181&merchant_status=&action=&requestVersion=&message=APPROVED&merchantLocale=&unknownParameters=&payment_method=apmgw_Wero&ID=&merchant_id=5634436935940029474&responseTimeStamp=2025-07-09.06%3A11%3A57&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=&cardCompany=&eci=&user_token_id=TstWero13&userPaymentOptionId=2305904111&TransactionID=2610000000000310749&ExternalaccountID=0051469b-339e-4a66-a5af-f0b534249700&externalTransactionId=8fcd66b6-86ff-469f-b674-db4c2a2146f2&APMReferenceID=DFAA9D9BB2595AF32D87BB4ABB6B702E&orderTransactionId=98620111&totalAmount=11.00&dynamicDescriptor=static+test&item_name_1=NA&item_number_1=&item_amount_1=11.00&item_quantity_1=1&item_discount_1=0.00&item_handling_1=0.00&item_shipping_1=0.00&feeAmount=&amountWithoutFee=&houseNumber=&customCurrency=&externalToken_blockedCard=&externalToken_cardAcquirerId=&externalToken_cardAcquirerName=&externalToken_cardBin=&externalToken_cardBrandId=&externalToken_cardBrandName=&externalToken_cardExpiration=&externalToken_cardLength=&externalToken_cardMask=&externalToken_cardName=&externalToken_cardTypeId=&externalToken_cardTypeName=&externalToken_clubName=&externalToken_creditCompanyId=&externalToken_creditCompanyName=&externalToken_extendedCardType=&externalToken_Indication=&externalToken_tokenValue=&externalToken_tokenProvider=&ECIRaw=&cryptogram=&maskedNetworkTokenNumber=&upoRegistrationDate=20250709&type=DEPOSIT&clientRequestId=&relatedTransactionId=&apmPayerInfo=%7B%22paymentPlanType%22%3A%22SingleImmediate%22%2C%22APMrequestId%22%3A%228fcd66b6-86ff-469f-b674-db4c2a2146f2%22%2C%22APMcaptureId%22%3A%223811ec33-7671-4788-895a-e57a824fb208%22%2C%22ConsentId%22%3A%22e803fcf7-a0ee-4f58-baad-2fd7aac05a47%22%2C%22BeneficiaryIban%22%3A%22GB33BUKB20201555555555%22%2C%22BeneficiaryName%22%3A%22MerchantName-acceptor-name%22%7D&sessionId=dcf8c423a6e0db03463b4eaa14bb&responsechecksum=dbf396803880c9e5dd47306f2088a246&advanceResponseChecksum=0e1355090baffd99e8e932d467302ef1
Example of DMN with Declined Status
ppp_status=FAIL&Status=DECLINED&ExErrCode=0&ErrCode=1&errApmCode=1&errApmDescription=insufficient+funds&errScCode=1150&errScDescription=Insufficient+funds&Reason=Insufficient+funds&ReasonCode=1150&PPP_TransactionID=131187111&userid=TesWer3&merchant_unique_id=&customData=&productId=&first_name=&middle_name=&last_name=&email=¤cy=EUR&customField1=&customField2=&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=&invoice_id=&address1=&address2=&country=Belgium&state=&city=&zip=&phone1=&phone2=&phone3=&client_ip=&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=EPI+Wero+MS-PI&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=242181&merchant_status=&action=&requestVersion=&message=DECLINED&merchantLocale=&unknownParameters=&payment_method=apmgw_Wero&ID=&merchant_id=5634436935940029474&responseTimeStamp=2025-07-09.12%3A47%3A32&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Auth&externalEmail=&cardCompany=&eci=&user_token_id=TesWer3&userPaymentOptionId=2305972111&TransactionID=2610000000000311059&ExternalaccountID=0051469b-339e-4a66-a5af-f0b534249700&externalTransactionId=a873edc3-ce85-40ed-acbd-fcbe8138ceb5&APMReferenceID=7F4AE86F225E2318DAEF48F3451172C6&orderTransactionId=98964111&totalAmount=88000.00&dynamicDescriptor=static+test&item_name_1=NA&item_number_1=&item_amount_1=88000.00&item_quantity_1=1&item_discount_1=0.00&item_handling_1=0.00&item_shipping_1=0.00&feeAmount=&amountWithoutFee=&houseNumber=&customCurrency=&externalToken_blockedCard=&externalToken_cardAcquirerId=&externalToken_cardAcquirerName=&externalToken_cardBin=&externalToken_cardBrandId=&externalToken_cardBrandName=&externalToken_cardExpiration=&externalToken_cardLength=&externalToken_cardMask=&externalToken_cardName=&externalToken_cardTypeId=&externalToken_cardTypeName=&externalToken_clubName=&externalToken_creditCompanyId=&externalToken_creditCompanyName=&externalToken_extendedCardType=&externalToken_Indication=&externalToken_tokenValue=&externalToken_tokenProvider=&ECIRaw=&cryptogram=&maskedNetworkTokenNumber=&upoRegistrationDate=20250709&type=DEPOSIT&clientRequestId=&relatedTransactionId=&apmPayerInfo=%7B%22paymentPlanType%22%3A%22EventDependent%22%2C%22APMrequestId%22%3A%22a873edc3-ce85-40ed-acbd-fcbe8138ceb5%22%2C%22ConsentId%22%3A%220082af66-0079-4f3f-ba08-038031e49b37%22%2C%22BeneficiaryIban%22%3A%22GB33BUKB20201555555555%22%2C%22BeneficiaryName%22%3A%22MerchantName-acceptor-name%22%7D&sessionId=f38c64db446ddf7fa86591af1e48&responsechecksum=1e66236c626236277aa42300212f89eb&advanceResponseChecksum=d34c378c520694363a1ec4bdfd22d01b
User Experience
User Journey – Single Payment, First-time User
- Customer selects the Wero payment method from the merchant page.
- Customer is redirected to a page that displays the QR code.
- Customer scans the QR code with a mobile phone.
- In the Wero application that opens, the customer is identified.
- The customer chooses a bank account and swipes right to approve the payment.
- The payment confirmation is displayed to the customer.