Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions website/assets/css/docs.css
Original file line number Diff line number Diff line change
Expand Up @@ -940,6 +940,19 @@ div.docs.scrollpage section.content .wrapper {
padding: 0 30px;
}

div.docs .deprecated-badge {
align-self: flex-start;
margin-left: 10px;
padding: 2px 6px;
border-radius: 4px;
color: var(--color-brand-orange-60);
background-color: var(--color-brand-orange-10);
font-size: 13px;
font-weight: 600;
text-transform: uppercase;
transform: translateY(4px);
}

.mobile-navigation-content {
display: none;
}
Expand Down
12 changes: 11 additions & 1 deletion website/content/gateway/api_reference/changes/changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,16 @@ Follow coming changes on the [source code repository](https://github.com/clearha

Sorted by descending timestamp.

#### Updates to Click to Pay
Starting 2026-xx-xx, we will expand the Click to Pay payment method:

- The payment method allows for both cards and tokens.
- Transactions can be created using a payload interface in addition to the raw interface.
- The raw interface supports `[onbehalf][...]` fields to be used when 3-D Secure authentication was performed `ONBEHALF`.
- The raw interface accepts `clicktopay[can]` for the card or token number. `clicktopay[tan]` is deprecated but can still be provided. Exactly one of `clicktopay[can]` and `clicktopay[tan]` must be present.

Please see [Method: clicktopay](#method-clicktopay) for details.

#### Additional SCA exemtions added
Starting 2025-12-12, we will start accepting new parameters for `sca_exemption`.
The two new parameters are `low_value_payment` and `secure_corporate_payment`
Expand All @@ -29,7 +39,7 @@ As Bulgaria is moving from BGN to EUR we will be deprecating the BGN currency as

#### Add support for Click to Pay
Starting 2025-10-01, we support Click to Pay as a token framework. Please see
[Method: token](#method-token) for details.
[Method: clicktopay](#method-clicktopay) for details.

#### Add minimum amount for Visa captures and refunds
Starting 2025-05-19, we will enforce a minimum amount of USD 0.005 for captures
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ To reserve money on a cardholder’s bank account you make a new authorization r
```shell
POST https://gateway.clearhaus.com/authorizations
```
Authorizations can be created using different payment methods: [`card`](#method-card), [`applepay`](#method-applepay), [`googlepay`](#method-googlepay), [`mobilepayonline`](#method-mobilepayonline), [`moto`](#method-moto), [`token`](#method-token) and [`vipps`](#method-vipps). Exactly one payment method must be used.
Authorizations can be created using different payment methods: [`card`](#method-card), [`applepay`](#method-applepay), [`googlepay`](#method-googlepay), [`mobilepayonline`](#method-mobilepayonline), [`moto`](#method-moto), [`token`](#method-token), [`clicktopay`](#method-clicktopay) and [`vipps`](#method-vipps). Exactly one payment method must be used.

##### Parameters
{{% description_list %}}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
---
title: "clicktopay"
date: 2025-07-06T10:23:00+02:00
anchor: "method-clicktopay"
weight: 239
---
### Method: clicktopay

Click to Pay payment method for both Visa and Mastercard CITs.

A Click to Pay authorization can be created using one of the two mutually exclusive interfaces. One by providing payloads and the other by providing raw values.

#### Click to Pay payload interface:

{{% description_list %}}
{{% description_term %}}clicktopay[payload] {{% regex %}}[\:json\:] {{% /regex %}} {{% /description_term %}}
{{% description_details %}} Full decrypted payload serialized as JSON, supplied as a string. The encrypted payload can be found in the `encryptedPayload` field in the Click to Pay checkout response.

Example: `{"token":{"paymentToken":"",...}, "dynamicData":[{...}],...}`
{{% /description_details %}}

{{% description_term %}}clicktopay[assurance_data] {{% regex %}}[\:json\:] {{% /regex %}} {{% /description_term %}}
{{% description_details %}} Full assurance data serialized as JSON, supplied as a string. The assurance data can be found in the `assuranceData` field in the Click to Pay checkout response.

Example: `{"verificationData":[{"verificationType":"", "verificationMethod":"", "methodResults":{...},...},...], "eci":"",...}`

{{% regex_optional %}}Required when 3‑D Secure authentication was performed `ONBEHALF`. Required for Visa tokens if no `[3dsecure]` with an `eci` is provided.{{% /regex_optional %}}
{{% /description_details %}}

{{% description_term %}}clicktopay[3dsecure] {{% regex %}}dictionary{{% /regex %}}{{% /description_term %}}
{{% description_details %}}See [Authentication: [3dsecure]](#authentication-3dsecure).
{{% regex_optional %}}Optional.{{% /regex_optional %}}
{{% /description_details %}}
{{% /description_list %}}

#### Click to Pay raw interface

{{% description_list %}}

{{% description_term %}}clicktopay[can] {{% regex %}}[0-9]{12,19}{{% /regex %}}{{% /description_term %}}
{{% description_details %}}Cardholder Account Number (CAN) of the card or token to charge.
{{% regex_optional %}} Required if `tan` is not present. Cannot be present if `tan` is present.{{% /regex_optional %}}
{{% /description_details %}}

{{% description_term %}}clicktopay[tan] {{% regex %}}[0-9]{12,19}{{% /regex %}} <span class="deprecated-badge">Deprecated</span> {{% /description_term %}}
{{% description_details %}} Token Account Number (TAN) of the token to charge.
{{% regex_optional %}} Required if `can` is not present. Cannot be present if `can` is present.{{% /regex_optional %}}
{{% /description_details %}}

{{% description_term %}}clicktopay[expire_month] {{% regex %}}[0-9]{2}{{% /regex %}}{{% /description_term %}}
{{% description_details %}}Expiry month of the card or token to charge.
{{% /description_details %}}

{{% description_term %}}clicktopay[expire_year] {{% regex %}}20[0-9]{2}{{% /regex %}}{{% /description_term %}}
{{% description_details %}}Expiry year of the card or token to charge.
{{% /description_details %}}

{{% description_term %}}clicktopay[tav] {{% regex %}}[:base64:]{28}{{% /regex %}}{{% /description_term %}}
{{% description_details %}}Token authentication value, also known as cryptogram.
{{% regex_optional %}}Required when `can` is a token or when `tan` is provided.{{% /regex_optional %}}
{{% /description_details %}}

{{% description_term %}}clicktopay[eci] {{% regex %}}0[0-9]{{% /regex %}}{{% /description_term %}}
{{% description_details %}}Zero-padded e-commerce indicator from Click to Pay flow.
{{% regex_optional %}}Required for Visa tokens if no `eci` from a 3-D Secure flow is present in `[onbehalf][eci]` or `[3dsecure]`.{{% /regex_optional %}}
{{% /description_details %}}

If 3-D Secure authentication was performed `ONBEHALF` as part of the Click to Pay checkout flow, provide the authentication data in the `[onbehalf][...]` field:

{{% description_term %}}clicktopay[onbehalf][trans_status] {{% regex %}}[A-Z]{{% /regex %}}{{% /description_term %}}
{{% description_details %}} 3-D Secure trans status from a 3-D Secure `ONBEHALF` flow.
{{% regex_optional %}} Optional. Provide it whenever the 3-D Secure result includes a trans status. {{% /regex_optional %}}
{{% /description_details %}}

{{% description_term %}}clicktopay[onbehalf][eci] {{% regex %}}0[0-9]{{% /regex %}}{{% /description_term %}}
{{% description_details %}} 3-D Secure eci from a 3-D Secure `ONBEHALF` flow.
{{% regex_optional %}} Required when 3-D Secure was performed `ONBEHALF`. {{% /regex_optional %}}
{{% /description_details %}}

{{% description_term %}}clicktopay[onbehalf][av] {{% regex %}}[:base64:]{28}{{% /regex %}}{{% /description_term %}}
{{% description_details %}} 3-D Secure authentication value from a 3-D Secure `ONBEHALF` flow.
{{% regex_optional %}} Required when `[onbehalf][trans_status]` is `Y` or `A`. Required for Visa when `[onbehalf][eci]` is `05` or `06`. Provide it whenever the 3-D Secure result includes an authentication value. {{% /regex_optional %}}
{{% /description_details %}}

{{% description_term %}}clicktopay[onbehalf][ds_trans_id] {{% regex %}}[:UUID:]{{% /regex %}}{{% /description_term %}}
{{% description_details %}} 3-D Secure ds trans id from a 3-D Secure `ONBEHALF` flow.
{{% regex_optional %}}Required for Mastercard when 3-D Secure was performed `ONBEHALF`.{{% /regex_optional %}}
{{% /description_details %}}

If 3-D Secure authentication was performed outside of the Click to Pay checkout flow, provide the authentication data in the `[3dsecure]` field:

{{% description_term %}}clicktopay[3dsecure] {{% regex %}}dictionary{{% /regex %}}{{% /description_term %}}
{{% description_details %}}
See [Authentication: [3dsecure]](#authentication-3dsecure).
{{% /description_details %}}
{{% /description_list %}}

{{% notice %}}
**Notice**: Signing is required to use the `clicktopay` payment method.
{{% /notice %}}
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@ weight: 240
---
### Method: token

Token frameworks supported:

* `clicktopay`: Click to Pay
* `token`: Visa and Mastercard

[token[m4m]](#deprecated) and [token[vts]](#deprecated) is deprecated, but still works.

Requirement of some parameters depends on the initiator of the transaction; a parameter might be required for cardholder-initiated transactions (CITs) and otherwise optional. See the details for each parameter.
Expand All @@ -19,41 +14,7 @@ Requirement of some parameters depends on the initiator of the transaction; a pa
**Notice**: Signing is required to use the `token` payment method.
{{% /notice %}}

#### Method: Click to Pay

Click to Pay token payment method for both Visa and Mastercard CITs.

{{% description_list %}}
{{% description_term %}}clicktopay[tan] {{% regex %}}[0-9]{12,19}{{% /regex %}}{{% /description_term %}}
{{% description_details %}}Token Account Number (TAN) of the token to charge.
{{% /description_details %}}

{{% description_term %}}clicktopay[expire_month] {{% regex %}}[0-9]{2}{{% /regex %}}{{% /description_term %}}
{{% description_details %}}Expiry month of token to charge.
{{% /description_details %}}

{{% description_term %}}clicktopay[expire_year] {{% regex %}}20[0-9]{2}{{% /regex %}}{{% /description_term %}}
{{% description_details %}}Expiry year of token to charge.
{{% /description_details %}}

{{% description_term %}}clicktopay[tav] {{% regex %}}[:base64:]{28}{{% /regex %}}{{% /description_term %}}
{{% description_details %}}Token authentication value, also known as cryptogram.
{{% /description_details %}}

{{% description_term %}}clicktopay[eci] {{% regex %}}0[57]{{% /regex %}}{{% /description_term %}}
{{% description_details %}}Zero-padded e-commerce indicator from token flow.
{{% regex_optional %}}Required for Visa CITs.{{% /regex_optional %}}
{{% /description_details %}}

{{% description_term %}}clicktopay[3dsecure] {{% regex %}}dictionary{{% /regex %}}{{% /description_term %}}
{{% description_details %}}See [Authentication: [3dsecure]](#authentication-3dsecure-v2).
{{% regex_optional %}}Optional{{% /regex_optional %}}
{{% /description_details %}}
{{% /description_list %}}

#### Method: token

Token payment method for both For both Visa Token Service (VTS) and Mastercard Digital Enablement Service (MDES)
Token payment method for both Visa Token Service (VTS) and Mastercard Digital Enablement Service (MDES)

The required values are found in:
- the VTS provision token response.
Expand Down Expand Up @@ -105,7 +66,7 @@ The required values are found in:


{{% description_term %}}token[tav] {{% regex %}}[:base64:]{28}{{% /regex %}}{{% /description_term %}}
{{% description_details %}}Token Authentication Value (TAV) also know as token cryptogram.
{{% description_details %}}Token Authentication Value (TAV) also known as token cryptogram.

Visa specific name: Token Authentication Verification Value (TAVV).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ curl -X POST \
-d "card[expire_year]=2026" \
-H "Signature: <signing-api-key> RS256-hex <signature>"
```
A first-in-series authorization or debit can also be made using the {{% highlight_text %}}applepay{{% /highlight_text %}}, {{% highlight_text %}}googlepay{{% /highlight_text %}}, {{% highlight_text %}}mobilepayonline{{% /highlight_text %}}, {{% highlight_text %}}token{{% /highlight_text %}} or {{% highlight_text %}}vipps{{% /highlight_text %}} payment methods.
A first-in-series authorization or debit can also be made using the {{% highlight_text %}}applepay{{% /highlight_text %}}, {{% highlight_text %}}googlepay{{% /highlight_text %}}, {{% highlight_text %}}mobilepayonline{{% /highlight_text %}}, {{% highlight_text %}}token{{% /highlight_text %}}, {{% highlight_text %}}clicktopay{{% /highlight_text %}} or {{% highlight_text %}}vipps{{% /highlight_text %}} payment methods.

A subsequent-in-series authorization or debit on a token must be made using the {{% highlight_text %}}token{{% /highlight_text %}} payment method. In case it is made using a PAN the {{% highlight_text %}}card{{% /highlight_text %}} payment method must be used.

Expand Down