- Created by PAYONE Writer, last modified by PAYONE Admin on 2021-11-05
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
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
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 |
successurl | + | Mandatory for this type of payment URL for "payment successful" Format Scheme |
errorurl | + | Mandatory for this type of payment URL for "faulty payment" Format Scheme |
backurl | + | Mandatory for this type of payment URL for "Back" or "Cancel" Format Scheme |
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 | + | Format |
o | The email address is mandatory for a DIGITAL shopping cart type Format | |
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 |
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] | + | |
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.
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