In Germany, instant transfer is among the top 3 most used payment methods. SOFORT is currently available in 13 markets: Austria, Belgium, Finland, France, Germany, Italy, Norway, Poland, Spain, Switzerland, Sweden, the Netherlands, and the United Kingdom. Millions of SOFORT transactions are made every month; Over 35,000 online retailers offer their customers IMMEDIATELY as a payment method. In order to use IMMEDIATELY, your customers do not have to create a customer account or type out endless card numbers. The customers banking access data is used to make the instant transfer. This process is secure and the customer does not have to provide the merchant with any personal information. Sofort is now part of Klarna Payments. |
Payment Card Industry Data Security Standard ISO/IEC 27001:2013 Information Security Management System standard |
POST Request - Pre-/ Authorization
request
required
|
Fixed Value: preauthorisation/authorization
|
mid
required
|
your merchant ID, 5-digit numeric
|
aid
required
|
your subaccount ID, 5-digit numeric
|
portalId
required
|
your Portal ID, 7-digit numeric
|
key
required
|
your key value, alpha-numeric
|
clearingtype
required
|
Fixed Value sb
|
onlinebanktransfertype
required
|
Fixed Value PNT
|
reference
required
|
Format CHAR(1..20)
Permitted Symbols [0-9][a-z][A-Z], .,-,_,/
Merchant reference number for the payment process (case insensitive) |
amount
required
|
Format NUMERIC(1..10)
Permitted values max. +/- 19 999 999 99 Specifies the total gross amount of a payment transaction. Value is given in smallest currency unit, e.g. Cent of Euro. The amount must be less than or equal to the amount of the corresponding booking. |
currency
required
|
Format LIST
Permitted values ISO 4217 (currencies) 3-letter-codes
Samples
EUR USD GBP |
narrative_text
optional
|
Format CHAR(1..81)
Dynamic text element on account statements (3 lines with 27 characters each) and credit card statements. |
firstname
required
|
Format CHAR(1..50)
First name of customer; optional if company is used, i.e.: you may use "company" or "lastname" or "firstname" plus "lastname" |
lastname
required
|
Format CHAR(2..50)
Last name of customer; optional if company is used, i.e.: you may use "company" or "lastname" or "firstname" plus "lastname" |
company
optional
|
Format CHAR(2..50)
Company name, required for B2B transactions (if add_paydata[b2b] = “yes”) |
street
required
|
Format CHAR(1..50)
Street number and name (required: at least one character) |
zip
required
|
Format CHAR(2..50)
Permitted Symbols [0-9][A-Z][a-z][_.-/ ]
Postcode |
city
required
|
Format CHAR(2..50)
City of customer |
country
required
|
Format LIST
Permitted values ISO 3166 2-letter-codes
Samples
DE GB US Specifies country of address for the customer. Some countries require additional information in parameter "state"
|
email required
|
Format CHAR(5..254)
Permitted Symbols RFC 5322
Special Remark email validation: Max. length for email is 254 characters. Validation is set up in the following way: Username = Max. 63 characters Domain Name = Max. 63 characters "@" and "." is counted as a character as well; in case of a total of three suffixes, this would allow a total of 254 characters. email-address of customer |
birthday
optional
|
Format DATE(8), YYYYMMDD
Samples
20190101 19991231 Date of birth of customer |
telephonenumber
optional
|
Telephone number |
bankcountry
required
|
Format LIST
Account type/ country for use with BBAN (i.e. bankcode, bankaccount): PL
|
iban
optional
|
Format CHAR(8 or 11) Only capital letters and digits, no spaces
Permitted Symbols [0-9][A-Z]
Bank Identifier Code to be used for payment or to be checked |
bic
optional
|
Format CHAR(8 or 11) Only capital letters and digits, no spaces
Permitted Symbols [0-9][A-Z]
BIC is optional for all Bank transfers within SEPA. For Accounts from Banks outside of SEPA, BIC is still required. |
it[n]
optional
|
Format LIST
|
||||||||||
id[n]
optional
|
Format CHAR(1..32)
Array elements [n] starting with [1]; serially numbered; max [400]
Symbols [0-9][a-z][A-Z], .,-,_,/
International Article Number (EAN bzw. GTIN) Product number, SKU, etc. of this item |
||||||||||
pr[n]
optional
|
Format NUMERIC(10) max. 19 999 999 99
Array elements [n] starting with [1]; serially numbered; max [400]
Unit gross price of the item in smallest unit! e.g. cent |
||||||||||
no[n]
optional
|
Format NUMERIC(6)
Array elements [n] starting with [1]; serially numbered; max [400] Quantity of this item |
||||||||||
de[n]
optional
|
Format CHAR(1..255)
Array elements [n] starting with [1]; serially numbered; max [400]
Description of this item. Will be printed on documents to customer. |
status
|
Permitted Values
REDIRECT
ERROR
|
txid
|
Format NUMERIC(9..12)
The txid specifies the payment process within the PAYONE platform |
redirecturl
|
Format CHAR(2..2000)
Redirect URL → zMerchant system has to redirect customer to this URL to complete payment |
userid
|
Format NUMERIC(9..12)
PAYONE User ID, defined by PAYONE |
errorcode
|
Format NUMERIC(1..6)
In case of error the PAYONE Platform returns an error code for your internal usage. |
errormessage
|
Format CHAR(1..1024)
In case of error the PAYONE Platform returns an error message for your internal usage. |
customermessage
|
Format CHAR(1..1024)
The customermessage is returned to your system in order to be displayed to the customer. (Language selection is based on the end customer's language, parameter "language") |
Host: api.pay1.de Content-Type: application/x-www-form-urlencoded
Payload
request=preauthorization
mid=54399
aid=54400
portalid=2039743
key=17031f73e2c6f9755788bddfff04169b
reference=1232500907
amount=6498
currency=EUR
clearingtype=sb
onlinebanktransfertype=PNT
mode=test
bankcountry=DE
salutation=Frau
firstname=Marion
lastname=Testatus
street=Wegeweg 25
city=Berlin
zip=12345
country=DE
email=pui-test@payone.de
language=de
ip=87.177.76.120
successurl=https://yourdomain.dev/success
backurl=https://yourdomain.dev/back
errorurl=https://yourdomain.dev/error
RESPONSE
status=REDIRECT
redirecturl=https://www.sofort.com/payment/go/90cf8377b4577134044f85555f6700ab5fddd404
txid=958123920
userid=634344125
POST Request Capture
The capture request is used to finalize a preauthorized transaction.
If you use preauth/Capture with installment transactions, the capture request has to be sent right after the preauthorization
request
required
|
Fixed Value: preauthorisation/authorization
|
mid
required
|
your merchant ID, 5-digit numeric
|
aid
required
|
your subaccount ID, 5-digit numeric
|
portalId
required
|
your Portal ID, 7-digit numeric
|
key
required
|
your key value, alpha-numeric
|
txid
required
|
Format NUMERIC(9..12)
The txid specifies the payment process within the PAYONE platform |
||||||
capturemode
optional
|
Format LIST
Specifies whether this capture is the last one or whether there will be another one in future. |
||||||
sequencenumber
optional
|
Format NUMERIC(1..3)
Permitted values 0..127
Sequence number for this transaction within the payment process (1..n), e.g. PreAuthorization: 0, 1. Capture: 1, 2. Capture: 2 Required for multi partial capture (starting with the 2nd capture) |
||||||
amount
required
|
Format NUMERIC(1..10)
Permitted values max. +/- 19 999 999 99
Specifies the total gross amount of a payment transaction. Value is given in smallest currency unit, e.g. Cent of Euro The amount must be less than or equal to the amount of the corresponding booking. |
||||||
currency
required
|
Fixed Value EUR
|
||||||
narrative_text
optional
|
Format CHAR(1..81)
Dynamic text element on account statements (3 lines with 27 characters each) and credit card statements. |
||||||
settleaccount
required (with capturemode)
|
Format LIST
Provides information about whether a settlement of balances has been carried out required with capturemode. |
it[n]
optional
|
Format LIST
Parameter it[n] specifies the item type of a shopping cart item. |
||||||||||
id[n]
optional
|
Format CHAR(1..32)
Array elements [n] starting with [1]; serially numbered; max [400]
Symbols [0-9][a-z][A-Z], .,-,_,/
International Article Number (EAN bzw. GTIN) Product number, SKU, etc. of this item |
||||||||||
pr[n]
optional
|
Format NUMERIC(10) max. 19 999 999 99
Array elements [n] starting with [1]; serially numbered; max [400]
Unit gross price of the item in smallest unit! e.g. cent |
||||||||||
no[n]
optional
|
Format NUMERIC(6)
Array elements [n] starting with [1]; serially numbered; max [400]
Quantity of this item |
||||||||||
de[n]
optional
|
Format CHAR(1..255)
Array elements [n] starting with [1]; serially numbered; max [400]
Description of this item. Will be printed on documents to customer. |
||||||||||
va[n]
optional
|
Format NUMERIC(4)
Array elements [n] starting with [1]; serially numbered; max [400] VAT rate (% or bp) value < 100 = percent value > 99 = basis points (e.g. 1900 = 19%) |
status
|
Permitted Values
APPROVED
ERROR
|
txid
|
Format NUMERIC(9..12)
The txid specifies the payment process within the PAYONE platform |
||||||
settleaccount
|
Format LIST
Provides information about whether a settlement of balances has been carried out required with capturemode. |
errorcode
|
Format NUMERIC(1..6)
In case of error the PAYONE Platform returns an error code for your internal usage. |
errormessage
|
Format CHAR(1..1024)
In case of error the PAYONE Platform returns an error message for your internal usage. |
Host: api.pay1.de Content-Type: application/x-www-form-urlencoded
Payoad
request=capture
mid=54399
aid=54400
portalid=2039743
key=17031f73e2c6f9755788bddfff04169b
amount=6498
currency=EUR
mode=test
sequencenumber=1
txid=958123920
Response
status=APPROVED
txid=958123920
settleaccount=no
POST Request Debit
request
required
|
Fixed Value: debit/refund
|
mid
required
|
your merchant ID, 5-digit numeric
|
aid
required
|
your subaccount ID, 5-digit numeric
|
portalId
required
|
your Portal ID, 7-digit numeric
|
key
required
|
your key value, alpha-numeric
|
txid
required
|
Format NUMERIC(9..12)
The txid specifies the payment process within the PAYONE platform |
||||||||
sequencenumber
required
|
Format NUMERIC(1..3)
Permitted values 0..127
Sequence number for this transaction within the payment process (1..n), e.g. PreAuthorization: 0, 1. Capture: 1, 2. Capture: 2 Required for multi partial capture (starting with the 2nd capture) |
||||||||
amount
required
|
Format NUMERIC(1..10)
Permitted values max. +/- 19 999 999 99
Specifies the total gross amount of a payment transaction. Value is given in smallest currency unit, e.g. Cent of Euro; Pence of Pound sterling; Öre of Swedish krona. The amount must be less than or equal to the amount of the corresponding booking. If you use the request debit, the amount must be negative. |
||||||||
currency
required
|
Fixed Value EUR
|
||||||||
settleaccount
optional
|
Format LIST
Carry out settlement of outstanding balances. The request is booked and the resulting balance is settled by means of a collection, e.g. a refund. |
it[n]
optional
|
Format LIST
Parameter it[n] specifies the item type of a shopping cart item. |
||||||||||
id[n]
optional
|
Format CHAR(1..32)
Array elements [n] starting with [1]; serially numbered; max [400]
Symbols [0-9][a-z][A-Z], .,-,_,/
International Article Number (EAN bzw. GTIN) Product number, SKU, etc. of this item |
||||||||||
pr[n]
optional
|
Format NUMERIC(10) max. 19 999 999 99
Array elements [n] starting with [1]; serially numbered; max [400]
Unit gross price of the item in smallest unit! e.g. cent |
||||||||||
no[n]
optional
|
Format NUMERIC(6)
Array elements [n] starting with [1]; serially numbered; max [400] Quantity of this item |
||||||||||
de[n]
optional
|
Format CHAR(1..255)
Array elements [n] starting with [1]; serially numbered; max [400]
Description of this item. Will be printed on documents to customer. |
||||||||||
va[n]
optional
|
Format NUMERIC(4)
Array elements [n] starting with [1]; serially numbered; max [400] VAT rate (% or bp) value < 100 = percent value > 99 = basis points (e.g. 1900 = 19%) |
status
required
|
Permitted Values
APPROVED ERROR |
txid
|
Format NUMERIC(9..12)
The txid specifies the payment process within the PAYONE platform |
||||||
settleaccount
|
Format LIST
Provides information about whether a settlement of balances has been carried out. |
errorcode
|
Format NUMERIC(1..6)
In case of error the PAYONE Platform returns an error code for your internal usage. |
errormessage
|
Format CHAR(1..1024)
In case of error the PAYONE Platform returns an error message for your internal usage. |
customermessage
|
Format CHAR(1..1024)
The customermessage is returned to your system in order to be displayed to the customer. (Language selection is based on the end customer's language, parameter "language") |
Host: api.pay1.de Content-Type: application/x-www-form-urlencoded
Payload
request=debit
mid=54399
aid=54400
portalid=2039743
key=17031f73e2c6f9755788bddfff04169b
amount=-6498
currency=EUR
mode=test
sequencenumber=2
txid=958123920
RESPONSE
status=APPROVED
txid=958123920
settleaccount=yes