- METHOD TYPEBank Transfer
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Introduction
Single Euro Payments Area (SEPA) Direct Debit is a comprehensive payment system in Europe. SEPA Direct Debit offers bank-to-bank transactions that enable merchants to gather payments in euros from accounts located in the SEPA countries and affiliated regions.
Supported Countries
- Andorra
- Austria
- Belgium
- Bulgaria
- Croatia
- Cyprus
- Czech Republic
- Denmark
- Estonia
- Finland
- France
- Germany
- Greece
- Hungary
- Iceland
- Ireland
- Italy
- Latvia
- Liechtenstein
- Lithuania
- Luxembourg
- Malta
- Monaco
- Netherlands
- Norway
- Poland
- Portugal
- Romania
- San Marino
- Slovakia
- Slovenia
- Spain
- Sweden
- Switzerland
- United Kingdom
- Vatican City
Supported Currencies
- EUR
REST API 1.0
Payment (Deposit) Flow
- Generate a
sessionToken.
- Send a
/paymentrequest that includes the following mandatory parameters:
-
userTokenIdamountcurrencypaymentOption.alternativePaymentMethodblock containing:paymentMethod: “apmgw_Sepa“verification_emailiban
deviceDetailsblock containing:ipAddressbillingAddressblock containing:firstName,lastName,country,emailuserDetailsblock containing:firstName,lastName,country,email
Example Create preapproval/mandate Request
**ADD EXAMPLE**
Example Subsequent payment Request
**ADD EXAMPLE**
Example /payment Request **SHOULD THIS BE REMOVED? IT WAS IN THE DRAFT PREVIOUS TO LAVINIA’S FEEDBACK**
{
"sessionToken":"<sessionToken from /getSessionToken>",
"merchantId":"<your merchantId>",
"merchantSiteId":"<your merchantSiteId>",
"clientRequestId":"<unique request ID in merchant system>",
"amount":"100",
"currency":"EUR",
"userTokenId":"<unique customer identifier in merchant system>",
"clientUniqueId":"<unique transaction ID in merchant system>",
"paymentOption":{
"alternativePaymentMethod":{
"paymentMethod":"apmgw_Sepa",
"verification_email": "[email protected]",
"iban": "DE86120300001019407863"
}
},
"deviceDetails":{
"ipAddress":"<customer's IP address>"
},
"billingAddress":{
"firstName": "John",
"lastName": "Smith",
"country":"DE",
"email":"[email protected]"
},
"userDetails":{
"firstName": "John",
"lastName": "Smith",
"country":"DE",
"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. **IS THIS CORRECT TO INCLUDE IF PAYMENT PAGE SECTION was removed?**
Example /payment Response **SHOULD THIS BE REMOVED/REPLACED? IT WAS IN THE DRAFT PREVIOUS TO LAVINIA’S FEEDBACK**
{
"orderId": "38400281",
"userTokenId": "Siltoken54545xxx122252vf1skns",
"paymentOption": {
"redirectUrl": "https://r3.girogate.de/ti/sepadirectdebitmodela?tx=140196814579&rs=Z5gQQoZidLYkINlIijHVofns5h60JzwZ&cs=adeb5f445526b7211d5d53dd168aa5a02726863fede98217d146a6ea96707052",
"userPaymentOptionId": "8382371",
"card": {}
},
"transactionStatus": "REDIRECT",
"sessionToken": "1d5b14f1-cb89-4464-a8cc-6814f912f891",
"clientUniqueId": "12345",
"internalRequestId": 23105301,
"status": "SUCCESS",
"errCode": 0,
"reason": "",
"merchantId": "1459627421657905728",
"merchantSiteId": "209631",
"version": "1.0",
"clientRequestId": "20221123125730"
}
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) to urlDetails.notificationUrl. The DMN includes the result of the transaction, which Nuvei recommends including in the /payment request.
DMN Examples
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=450403248&userid=R%3A1701&merchant_unique_id=OnlineOrder%3A330026369&customData=&productId=&first_name=Hazni&last_name=Ergun&email=peDataWip%40bydesign.com¤cy=EUR&clientUniqueId=OnlineOrder%3A330026369&customField1=&customField2=&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=&invoice_id=&address1=Gr%C3%BCner+Weg+28&address2=&country=Germany&state=&city=Lippstadt&zip=59556&phone1=017620955064&phone2=&phone3=&client_ip=173.168.142.98&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=PPRO-PI&expMonth=&expYear=&Token=&tokenId=&AuthCode=DE86120300001019407863&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=208838&merchant_status=&action=&requestVersion=&message=APPROVED&merchantLocale=&unknownParameters=&payment_method=apmgw_Sepa&ID=&merchant_id=667129050670485421&responseTimeStamp=2024-05-28.16%3A37%3A46&buyButtonProductId=&webMasterId=sdk_dotnet_ver_1.0.0&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=&cardCompany=&eci=&user_token_id=R%3A1701&userPaymentOptionId=&TransactionID=811000000006455558&ExternalaccountID=Dustin.Bayles%40ByDesign.com&externalTransactionId=2254743246&APMReferenceID=EE788514F72AF0A6F71E83BF9C8F2AB8&orderTransactionId=1293731498&totalAmount=568.00&dynamicDescriptor=%3F&item_name_1=NA&item_number_1=&item_amount_1=568.00&item_quantity_1=1&item_discount_1=0.00&item_handling_1=0.00&item_shipping_1=0.00&feeAmount=&amountWithoutFee=&houseNumber=&customCurrency=&type=DEPOSIT&clientRequestId=O-330026369&relatedTransactionId=&apmPayerInfo=SRCIBAN%3ADE86120300001019407863%3bSRCCOUNTRY%3ADE%3bPAYMENTPURPOSE%3A%3F%3bFundsState%3ANOT_EXPECTED%3b&sessionId=0100d2665d48eb9f514ce402dfd1&responsechecksum=251a3c3b2f2a01be0525a384436229363a846cf6a0afe2d1c994cbde1089a7ef&advanceResponseChecksum=61e5d7cbd0c337b73bc351255c51ce5f50d99dfc33b5cf0088172dc6c9e75d7e',
User Experience
Creating a Mandate
- The user is redirected to the provider’s page and enters the IBAN of the bank account.

- The user enters a phone number.

- The user confirms the mandate using the four-digit code received by SMS.

- The user receives the digitally signed mandate by email.

Testing
To test payments in Germany, use the following data:
| Details | Value |
|---|---|
| IBAN | DE89370400440532013000 |
| BIC | COBADEFFXXX |
| BANK | Commerzbank |
| ADDRESS | Venloer Str. 288 |
| CITY | Köln |
| ZIP | 50447 |