Skip to end of metadata
Go to start of metadata


Paydirekt oneKlick checkout allows the customer to set Paydirekt as his favorite payment method in your shop. During the checkout he is able to pay with just one click on the Paydirekt button.

Oneklick Checkout Is a Two Step Process

Create an Agreement

To create an agreement the customer needs to be present. There are two common ways how the customer can start the agreement process.

  • inside his customer account
  • during the checkout

No matter which way is used, when the customer starts the agreement process you need to collect customer data and send a preauthorization to our server API. You will then get a redirect URL in our response where you need to redirect the customer to.

The customer will then login in his Paydirekt account and accept the agreement. Paydirekt will send an email to the customer, with a link to confirm the agreement and will redirect the customer to your shop. We recommend you to focus on starting the agreement process inside the checkout, because many customers will do this step during checkout and won't go into their account, to setup such a agreement. Please make sure, that the customer is logged in, when starting the agreement process, because you want to save the customerid to your customer account. This will also be needed, when deciding to show the customer the oneKlick option during checkout. This can of course only be done, when you saved the customerid from previous agreement process.

To see the parameters you need to send with the preauthorization to create an agreement, please find the list below

→ Preauthorization with amount=1

Authorization with One Click

As soon as the customer has confirmed his decision, you will be able to process a (pre-)authorization while using the agreement. If you try to use the agreement, but the customer has not yet confirmed his decision, you will get an 110 error from our server api (you can inform the customer, that he needs to confirm the agreement by following the instructions in the email sent by paydirekt).

There are some parameters you need to send when using one-klick in comparison to the normal or express checkout.

Please find a list of parameters with description in the following table

→ (Pre-)Authorization for payment


Paydirekt oneKlick is not a real recurring payments function. The customer needs to be present to use oneKlick during the checkout. You can't do for example monthly payments without the customer being present.

Sequence Diagram

"preauthorization with amount=1" to create an oneklick agreement 

Request "preauthorization" to start the agreement process

First a "preauthorization" with the amount of 1 Euro is processed to create an agreement.

Parameter

Required

Comments

clearingtype+Fixed value "wlt"
wallettype+Fixed value "PDT"
amount+Fixed value "1"
currency+EUR
customerid+

Merchant's customer ID

(Permitted symbols: 0-9, a-z, A-Z, .,-,_,/).

The agreement with paydirekt will be saved to the customerid. So you need to define a customerid that will be used again in the following (pre-)authorization to process the payment.

add_paydata[device_id]o

Identification of the customer device. You either need to send the device_fingerprint or the device_id.

Format

CHAR(1..50)

Samples

- 8adb80f93
- SomeDevice
add_paydata[device_fingerprint]o

Fingerprint of customer device. You can use frameworks like https://fingerprintjs.com/ to generate a fingerprint for the customer. You either need to send the device_fingerprint or the device_id.

Format

CHAR(1..50)

Sample

ae8faa7f67709ebab82f579945c7e6b5
add_paydata[device_name]+

Name of the customer's device

Format

CHAR(1..50)

Sample

SomeDeviceName
Sandys iPhone
Chrome/75.0.3770.90
customer_is_present+

Fixed value "yes"

ip+

Customer's IP-V4-address (123.123.123.123) or IP-V6-address

Format

CHAR(1..39)

successurl+

Mandatory for this type of payment

URL for "payment successful"

Format

CHAR(2..255)

Scheme

<scheme>://<host>/<path>
<scheme>://<host>/<path>?<query>

scheme-pattern: [a-zA-Z]{1}[a-zA-Z0-9]{1,9}

errorurl+

Mandatory for this type of payment

URL for "faulty payment"

Format

CHAR(2..255)

Scheme

<scheme>://<host>/<path>
<scheme>://<host>/<path>?<query>

scheme-pattern: [a-zA-Z]{1}[a-zA-Z0-9]{1,9}

backurl+

Mandatory for this type of payment

URL for "Back" or "Cancel"

Format

CHAR(2..255)

Scheme

<scheme>://<host>/<path>
<scheme>://<host>/<path>?<query>

scheme-pattern: [a-zA-Z]{1}[a-zA-Z0-9]{1,9}

"preauthorization with amount=1" example request
mid=23456 (your mid)
portalid=12345123 (your portalid)
key=abcdefghijklmn123456789 (your key)
api_version=3.10
mode=test (set to „live“ for live-requests)
request=preauthorization
encoding=UTF-8


aid=12345 (your aid)
clearingtype=wlt
reference=Ref123456
amount=1
currency=EUR
firstname=Sandy
lastname=Miller
country=DE
wallettype=PDT
successurl=http://www.your-success.url
errorurl=http://www.your-error.url
backurl=http://www.your-back.url


customerid=123456
add_paydata[device_id]=8adb80f93
add_paydata[device_name]=Sandys iPhone
customer_is_present=yes
recurrence=oneclick
ip=10.10.10.10


"preauthorization" of a subsequent order

Request "preauthorization or authorization" to process the payment of a subsequent order.

This request is using the agreement created with the "preauthorization with amount=1".

Parameter

Required

Comments

clearingtype+Fixed value "wlt"
wallettype+Fixed value "PDT"
amount+Cart amount
currency+EUR
customerid+

Merchant's customer ID, defined by you / merchant to refer to the customer record

Format

CHAR(1..20)
Permitted Symbols
[0-9, a-z, A-Z, .,-,_,/]
  • "customerid" can be used to identify a customer record.
  • If "customerid" is used then stored customer data are loaded automatically.

email

o

The email address is mandatory for a DIGITAL shopping cart type

email-address of customer

Format

CHAR(5..254)
Permitted Symbols
RFC 5322

add_paydata[shopping_cart_type]

-

Value “DIGITAL” will change the shippingAddress parameters from mandatory to optional.

Note: The email address is mandatory for a DIGITAL shopping cart type

add_paydata[device_id]o

Identification of the customer device. You either need to send the device_fingerprint or the device_id.

Format

CHAR(1..50)

Samples

- 8adb80f93
- SomeDevice
add_paydata[device_fingerprint]o

Fingerprint of customer device. You can use frameworks like https://fingerprintjs.com/ to generate a fingerprint for the customer. You either need to send the device_fingerprint or the device_id.

Format

CHAR(1..50)

Sample

ae8faa7f67709ebab82f579945c7e6b5
add_paydata[device_name]+

Name of the customer's device

Format

CHAR(1..50)

Samples

- SomeDeviceName
- Sandys iPhone
- Chrome/75.0.3770.90
customer_is_present+

Fixed value "no"

ip+

Customer's IP-V4-address (123.123.123.123) or IP-V6-address

Format

CHAR(1..39)

add_paydata[terminal_id]+

Unique id that identifies the point of sale (POS)

This parameter will not be shown to the customer but is only processed for paydirekt's purpose of fraud detection and similar.

Format

CHAR(1..50)

Samples

- Webshop of Peters Flower Store
- b9f1c1b7
add_paydata[terminal_address_name]+

Name of the merchant's store / shop

Format

CHAR(1..100)

Sample

Mikas Antique Store
add_paydata[terminal_address_company]-

Name of the merchant's company

Format

CHAR(1..100)

Sample

Sampletrade Ltd
add_paydata[terminal_address_additionaladdressinformation]-

additonal address information of the merchant's company

Format

CHAR(1..100)

Sample

Hedge End
add_paydata[terminal_address_streetname]-

streetname of the merchant's company

Format

CHAR(1..100)

Sample

Main St
add_paydata[terminal_address_streetnumber]-

streetnumber of the merchant's company

Format

CHAR(1..10)

Sample

99 F
add_paydata[terminal_address_zip]+

zip of the merchant's company

Format

CHAR(1..10)

Sample

12345
add_paydata[terminal_address_city]+

city of the merchant's company

Format

CHAR(1..100)

Sample

Sampleton upon Newbrook
add_paydata[terminal_address_country]+

countrycode of the merchant's company, see Reference: ISO Countries (ISO 3166)

Format

LIST

Sample

DE
add_paydata[terminal_address_state]-

state of the merchant's company

Format

CHAR(1..100)

Samples

- Nordrhein-Westfalen
- NW

If you provide an e-commerce webshop, the parameters add_paydata[terminal_address_*] are usually static. We suggest to choose the information you give in your imprint, your company's business location or a similar kind of contact address.

"preauthorization" example request
mid=23456 (your mid)
portalid=12345123 (your portalid)
key=abcdefghijklmn123456789 (your key)
api_version=3.10
mode=test (set to „live“ for live-requests)
request=preauthorization
encoding=UTF-8

aid=12345 (your aid)
clearingtype=wlt
reference=Ref123456
amount=300
currency=EUR
firstname=Sandy
lastname=Miller
street=Main Str
city=Kiel
zip=12345
country=DE

wallettype=PDT
successurl=http://www.your-success.url
errorurl=http://www.your-error.url
backurl=http://www.your-back.url



customerid=123456
add_paydata[device_id]=8adb80f93
add_paydata[device_name]=Sandys iPhone

customer_is_present=no
ip=10.10.10.10
add_paydata[terminal_id]=b9f1c1b7
add_paydata[terminal_address_name]=Mikas Antique Store
add_paydata[terminal_address_streetname]=Main St
add_paydata[terminal_address_streetnumber]=99 F
add_paydata[terminal_address_zip]=12345
add_paydata[terminal_address_city]=Sampleton upon Newbrook
add_paydata[terminal_address_country]=DE

  • No labels