- METHOD TYPEReal-Time Bank Transfer
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Introduction
Sofort is now part of Klarna, streamlining payments for a superior and more efficient checkout experience.
Supported Countries
- Austria
- Belgium
- France
- Germany
- Italy
- Netherlands
- Slovakia
- Spain
- Switzerland
Supported Currencies
- CHF
- EUR
Payment (Deposit) Flow
Do the following to perform a payment using Nuvei REST API integration:
1. Send a /payments
Request
Perform the payment by sending a /payments
request with its mandatory parameters including:
buyerDetails.buyerId
amount
currency
paymentOption.alternativePaymentMethod
class containing:name
: “sofort”
deviceDetails
class containing:ipAddress
buyerDetails.billingAddress
class containing:countryCode
buyerDetails
class containing:firstName
,lastName
,email
Example /payments
Request
{ "processingEntityId": "<<processing entity id>>", "amount": 12, "currency": "EUR", "transactionType": "Sale", "paymentOption": { "alternativePaymentMethod": { "name": "sofort" } }, "custom": { "description": "Some description" }, "deviceDetails": { "deviceType": "desktop", "deviceName": "iPhone 5s", "deviceOS": "iOs 10.2", "ipAddress": "192.168.2.38" }, "buyerDetails": { "buyerId": "JohnSmith123", "firstName": "John", "lastName": "JSmith", "companyName": "Nuvei Corp", "locale": "bg-BG", "dateOfBirth": "1978-01-01", "email": "[email protected]", "phone": "+1234567889", "billingAddress": { "address": "30 Alenbi st", "zip": "1234", "city": "Berlin", "countryCode": "DE", "phone": "+1234567889", "addressMatch": true }, "shippingAddress": { "sameAsBilling": true, "address": "30 Alenbi st", "zip": "1234", "city": "Berlin", "countryCode": "DE", "phone": "+1234567889" } } }
The response generates and returns a redirect URL (redirectUrl
) to redirect the customer to the payment page, as well as a UPO (paymentTokenId
) for use in future transactions.
Example /payments
Response
{ "paymentId": "a26e7096e4ce4a64ba7ad2cd7314f740", "amount": 12, "currency": "EUR", "transactionType": "Sale", "result": { "status": "redirect" }, "redirectUrl": "https://www.directebanking.com/payment/start?user_id=27211&project_id=132140&sender_holder=John+JSmith&sender_country_id=DE&amount=12¤cy_id=EUR&reason_1=7110000001617319&reason_2=test&user_variable_0=jumpbox.safecharge.com%2Fdmz%2FSofort%2FSofortResponse.ashx&user_variable_1=2C1D4E1ADA3ED067D1080620C7399C14&user_variable_2=2C1D4E1ADA3ED067D1080620C7399C14&user_variable_3=7110000001617319&language_id=bg&hash=0FC98A241DD95C9CA5DE3E4EDB6A9A7386EF32A3 ", "paymentOption": { "alternativePaymentMethod": { "name": "sofort", "paymentTokenId": "d18dce0f16a84bfeb5f35d2acf5873e0" } } }
After the transaction is processed, Nuvei sends a webhooks (DMN) that includes the result of the transaction to the URL provided in urlDetails.webhookUrl
, which Nuvei recommends including in the /payments
request.
Payout (Withdrawal) Flow
To initiate payouts with Sofort, you can submit a request using either of the following parameters:
- Using
paymentOption.alternativePaymentMethod
class.
Example Request
{ "processingEntityId": "123e4567-e89b-12d3-a456-426614174000", "amount": 60, "currency": "EUR", "paymentOption": { "alternativePaymentMethod": { "name": "sofort" } }, "buyerDetails": { "buyerId": "buyerId123", "firstName": "John", "lastName": "JSmith", "companyName": "Nuvei Corp", "locale": "bg-BG", "dateOfBirth": "1978-01-01", "email": "[email protected]", "phone": "+1234567889", "billingAddress": { "state": "TX", "city": "Austin", "zip": "78652", "countryCode": "US" }, "shippingAddress": { "sameAsBilling": true } } }
- Using
paymentToken.paymentTokenId
class – This method utilizes a previously stored Alternative Payment Method (APM) account via a payment token.
Example Request
{ "processingEntityId": "123e4567-e89b-12d3-a456-426614174000", "amount": 60, "currency": "EUR", "paymentOption": { "paymentToken": { "paymentTokenId": "abc123def456ghi789jkl012mno345pq" } }, "buyerDetails": { "buyerId": "buyerId123", "firstName": "John", "lastName": "JSmith", "companyName": "Nuvei Corp", "locale": "bg-BG", "dateOfBirth": "1978-01-01", "email": "[email protected]", "phone": "+1234567889", "billingAddress": { "state": "TX", "city": "Austin", "zip": "78652", "countryCode": "US" }, "shippingAddress": { "sameAsBilling": true } } }
User Experience
- The user is redirected to the Klarna website.
- The user enters the name of the bank, BLZ, IBAN, or BIC, and selects the bank.
- The user enters a username and password.
- The user selects a bank account.
- The user confirms the order using a TAN (or similar authentication).
- A confirmation message appears.
Testing
Bank code: 88888888
Account number: 1234
PIN: 1234
TAN: 12345