Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Introduction
With Payment Service Directive 2 (PSD2) it's required that all credit card payments have to be authenticated by the customer using strong customer authentication (SCA). See 3-D Secure.
Of course, this is only possible if the end customer is also present at the time of payment and can carry out an SCA (like 3-D Secure 1.0 or 3-D Secure 2.x).
This is precisely not the case with subscription models and micropayments (virtual account / billing), since these are carried out in the absence of the customer. For this purpose, the model "cards on file" or "credentials on file" (CoF for short) is offered, with which such payments are specially marked and then excluded from the SCA. Likewise, the first, initial payment must be authenticated using SCA to meet the PSD2 guidelines. Subsequent payment transactions can be initiated with reference to the initial payment transaction. The reference to the initial transaction will then be handled by the PAYONE platform.
CoF can also be used to speed checkout by first depositing a credit card for a customer and then referencing it for follow-up payments. This function has already been offered for a long time by the pseudo card number of the PAYONE Platform - but now CoF also makes it PSD2-compliant.
With CoF you may re-use a credit card number for recurring transactions where the customer can not proceed the SCA process. To do so the first initial payment process has to be authenticated via SCA and the customer has to be informed that his credit card number will be stored for subsequent payments, the purpose of payment and the amount that is expected.
UI Text Box | ||
---|---|---|
| ||
All online merchants who initiate recurring transactions in the form of CoF payments and have their customers' card data stored by themselves or their PSP storing the data must obtain the explicit consent of the cardholder / customer. This approval must include the following elements:
|
CoF and PAYONE Platform
With the support for CoF Payments we want to make the transition for our merchants as smooth as poissible. To do this, we need to take care of the many different implementation ways our merchants are using today. We decided to deliver the CoF integration in different steps.
The first steps will be based on the already known parameters recurrence und customer_is_present. With this parameters, the merchant is able to set the use-case that needs to be processed.
After this step, we take care of our current integrations. We want to make sure, that integrations based on ecommercemode=internet will work in the beginning of 2021. With this step the merchants are able to plan the implementation of recurrence and customer_is_present while still being able to process with ecommercemode=internet.
The last step will be a more detailed way of integrating the CoF use cases. the give our merchants every possible way of setting up exact recurring cycles and define for themselves, if a transaction is an initial transaction or not, we will deliver new parameters, that the merchant can use for a mor edetailed usage of CoF. For this last step we already made some preparations in our api and you can take a closer look on the parameters, but the functionality in the PAYONE Platform is noch finished yet.
So if you want to update your integration right now, you're fine with using the parameters recurrence and customer_is_present. An updated documentation with more details to the upcoming extensions will be coming soon.
While the solution for our merchants with ecommercemode=internet is based on our internal interpretation of recurrence and customer_is_present, this documentation will begin with the definition of the use case and how to set the 2 parameters.
Using recurrence and customer_is_present for CoF use cases
The PAYONE Platform already supports parameters for:
These parameters will be used for credit card payments to indicate CoF payments.
Here an overview of different use cases with credit card payments and recurring transactions.
Initial transaction, followed by recurring payment
Description: The customer wants to save his credit card for future payments. the first initial transaction will be handled with 3d-secure. The following transactions will be without 3d-secure.
Step | Use case | Server-API request | Params to set | Comments |
---|---|---|---|---|
How it should be done | ||||
1a | a) Get customer agreement for CoF - only get agreement, amount is sent with 1. | preauthorization |
|
|
1b | b) OR get customer agreement for CoF - with amount is sent | preauthorization/authorization |
|
Amount has to be captured by request "capture" if preauthorization is used. |
2 | Subsequent payments | preauthorization/authorization |
|
Amount has to be captured by request "capture". Amount has to be captured by request "capture" if preauthorization is used. |
How it's done now | ||||
Payment transaction trail period | authorization |
| ||
Payment transaction subsequent period | authorization |
|
UI Expand | |||||
---|---|---|---|---|---|
| |||||
|
UI Expand | |||||
---|---|---|---|---|---|
| |||||
|
Subscription / contract / abo (recurring) - PAYONE contract module
Description: This use case applies if you want to use our Contract module to handle subscriptions where the amount for a trail period and subsequential periods are fixed and known when starting the contract.
Step | Use case | Server-API request | Params to set | Comments |
---|---|---|---|---|
How it should be done | ||||
1a | a) Get customer agreement for CoF - only get agreement, no amount is sent | preauthorization |
|
|
1b | b) OR get customer agreement for CoF -with amount is sent | preauthorization |
|
Amount has to be captured by request "capture". |
2a | Initial create access - customer is present | createaccess |
|
|
2b | Initial create access - customer is not present | createaccess |
|
|
3 | Subsequent payments | handled automatically |
| |
How it's done now | ||||
Initial create access, no extra params given | 3dscheck & createaccess |
| ||
Subsequent payments | handled automatically |
|
Micropayment / Billing / vauthorization (recurring)
Description: This use case applies if you want to use our Billing module for micro payments. The accumulated amount is then settled after a given period of time. Typically the amounts per settlement period are different.
Step | Use case | Server-API request | Params to set | Comments |
---|---|---|---|---|
How it should be done | ||||
1a | a) Get customer agreement for CoF - only get agreement, no amount is sent | preauthorization |
|
|
1b | b) OR get customer agreement for CoF - with amount is sent | preauthorization |
|
Amount has to be captured by request "capture". |
2 | Create micropayment transactions | vauthorization |
| |
3 | Settlement of micropayment transactions | handled automatically |
| |
How it's done now | ||||
Create micropayment transactions | vauthorization | |||
Settlement of micropayment transactions | handled automatically |
|
Reservation / Sale with "oneclick" using CoF (one-click)
Description: This use case applies if you want to store a credit card and use it for the following transactions in order to process them without 3-D Secure.
Step | Use case | Server-API request | Params to set | Comments |
---|---|---|---|---|
How it should be done | ||||
1 | Initial transaction and get customer agreement for CoF | preauthorization authorization |
|
Amount has to be captured by request "capture" if only reserved with "preauthorization". |
2 | Subsequent transaction, customer is present | preauthorization |
|
Amount has to be captured by request "capture" if only reserved with "preauthorization". |
3 | Subsequent transaction, customer is not present | preauthorization |
|
Amount has to be captured by request "capture" if only reserved with "preauthorization". |
How it's done now | ||||
Initial transaction | preauthorization |
| ||
Subsequent transaction | preauthorization |
|
Table of Contents |
---|