From ab28043ec6df0850781db797cdde16193029f33f Mon Sep 17 00:00:00 2001 From: Jesper Kjeldgaard Date: Mon, 1 Sep 2025 15:31:20 +0200 Subject: [PATCH 1/9] Add Click to Pay documentation proposal --- .../authorizations_methods/token.md | 36 ++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md b/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md index 459866d..ce97efa 100644 --- a/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md +++ b/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md @@ -6,8 +6,9 @@ weight: 135 --- #### Method: token -Two token frameworks are supported: +Three token frameworks are supported: +* `clicktopay`: Click to Pay * `token[m4m]`: Mastercard Digital Enablement Service (MDES) for Merchants (M4M) * `token[vts]`: Visa Token Service (VTS) @@ -17,6 +18,38 @@ 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: clicktopay](#method-clicktopay) + +TODO: describe the feature + +{{% 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 (TAV). Also known as token cryptogram or Digital Secure Remote Payments (DSRP) cryptogram. +{{% regex_optional %}}Required for CITs. For MITs it shall only be included on the first, tokenized transaction or if there is a change to the token.{{% /regex_optional %}} +{{% /description_details %}} + +{{% description_term %}}clicktopay[eci] {{% regex %}}0[57]{{% /regex %}}{{% /description_term %}} +{{% description_details %}}Electronic Commerce Indicator. +{{% /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[m4m] The required values are found in either the MDES `transact` response or the Secure Card on File (SCOF) `checkout` response. @@ -64,6 +97,7 @@ Found in `customOutputData.remoteCommerceAcceptorIdentifier` (SCOF). (Not availa {{% /description_details %}} {{% /description_list %}} + #### Method: token[vts] The required values are found in the VTS provision token response. From 637b9aac189e688b9e04df35a6cc267a94317bea Mon Sep 17 00:00:00 2001 From: Jesper Kjeldgaard Date: Mon, 1 Sep 2025 15:32:56 +0200 Subject: [PATCH 2/9] add description --- .../authorizations/authorizations_methods/token.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md b/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md index ce97efa..b51e155 100644 --- a/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md +++ b/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md @@ -18,9 +18,9 @@ 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: clicktopay](#method-clicktopay) +#### Method: Click to Pay -TODO: describe the feature +Unified Click to Pay method for both Visa and Mastercard. {{% description_list %}} {{% description_term %}}clicktopay[tan] {{% regex %}}[0-9]{12,19}{{% /regex %}}{{% /description_term %}} @@ -35,13 +35,12 @@ TODO: describe the feature {{% 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 (TAV). Also known as token cryptogram or Digital Secure Remote Payments (DSRP) cryptogram. -{{% regex_optional %}}Required for CITs. For MITs it shall only be included on the first, tokenized transaction or if there is a change to the token.{{% /regex_optional %}} +{{% description_term %}}clicktopay[cryptogram] {{% regex %}}[:base64:]{28}{{% /regex %}}{{% /description_term %}} +{{% description_details %}}Token cryptogram value in Base64 format. {{% /description_details %}} {{% description_term %}}clicktopay[eci] {{% regex %}}0[57]{{% /regex %}}{{% /description_term %}} -{{% description_details %}}Electronic Commerce Indicator. +{{% description_details %}}Zero-padded e-commerce indicator. {{% /description_details %}} {{% description_term %}}clicktopay[3dsecure] {{% regex %}}dictionary{{% /regex %}}{{% /description_term %}} @@ -97,7 +96,6 @@ Found in `customOutputData.remoteCommerceAcceptorIdentifier` (SCOF). (Not availa {{% /description_details %}} {{% /description_list %}} - #### Method: token[vts] The required values are found in the VTS provision token response. From 11650087340977d7fa5c8eb4fa3d129940e49807 Mon Sep 17 00:00:00 2001 From: Jesper Kjeldgaard Date: Fri, 5 Sep 2025 14:10:16 +0200 Subject: [PATCH 3/9] Add new proposal --- .../authorizations_methods/token.md | 37 +++++++++++++++++-- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md b/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md index b51e155..681b278 100644 --- a/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md +++ b/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md @@ -18,7 +18,38 @@ 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 +#### Method: Click to Pay v2 + +Unified Click to Pay method for both Visa and Mastercard. + +{{% description_list %}} +{{% description_term %}}token[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 %}}token[clicktopay][expire_month] {{% regex %}}[0-9]{2}{{% /regex %}}{{% /description_term %}} +{{% description_details %}}Expiry month of token to charge. +{{% /description_details %}} + +{{% description_term %}}token[clicktopay][expire_year] {{% regex %}}20[0-9]{2}{{% /regex %}}{{% /description_term %}} +{{% description_details %}}Expiry year of token to charge. +{{% /description_details %}} + +{{% description_term %}}token[clicktopay][tav] {{% regex %}}[:base64:]{28}{{% /regex %}}{{% /description_term %}} +{{% description_details %}}Token authentication value, also known as cryptogram. +{{% /description_details %}} + +{{% description_term %}}token[clicktopay][eci] {{% regex %}}0[57]{{% /regex %}}{{% /description_term %}} +{{% description_details %}}Zero-padded e-commerce indicator. +{{% /description_details %}} + +{{% description_term %}}token[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: Click to Pay v1 Unified Click to Pay method for both Visa and Mastercard. @@ -35,8 +66,8 @@ Unified Click to Pay method for both Visa and Mastercard. {{% description_details %}}Expiry year of token to charge. {{% /description_details %}} -{{% description_term %}}clicktopay[cryptogram] {{% regex %}}[:base64:]{28}{{% /regex %}}{{% /description_term %}} -{{% description_details %}}Token cryptogram value in Base64 format. +{{% 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 %}} From dcd6195b4de90a8253037c8ec0655dc1771f7b4a Mon Sep 17 00:00:00 2001 From: Jesper Kjeldgaard Date: Fri, 5 Sep 2025 17:10:27 +0200 Subject: [PATCH 4/9] Remove proposal 3 --- .../authorizations_methods/token.md | 33 +------------------ 1 file changed, 1 insertion(+), 32 deletions(-) diff --git a/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md b/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md index 681b278..9160860 100644 --- a/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md +++ b/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md @@ -18,38 +18,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 v2 - -Unified Click to Pay method for both Visa and Mastercard. - -{{% description_list %}} -{{% description_term %}}token[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 %}}token[clicktopay][expire_month] {{% regex %}}[0-9]{2}{{% /regex %}}{{% /description_term %}} -{{% description_details %}}Expiry month of token to charge. -{{% /description_details %}} - -{{% description_term %}}token[clicktopay][expire_year] {{% regex %}}20[0-9]{2}{{% /regex %}}{{% /description_term %}} -{{% description_details %}}Expiry year of token to charge. -{{% /description_details %}} - -{{% description_term %}}token[clicktopay][tav] {{% regex %}}[:base64:]{28}{{% /regex %}}{{% /description_term %}} -{{% description_details %}}Token authentication value, also known as cryptogram. -{{% /description_details %}} - -{{% description_term %}}token[clicktopay][eci] {{% regex %}}0[57]{{% /regex %}}{{% /description_term %}} -{{% description_details %}}Zero-padded e-commerce indicator. -{{% /description_details %}} - -{{% description_term %}}token[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: Click to Pay v1 +#### Method: Click to Pay Unified Click to Pay method for both Visa and Mastercard. From b33da15c3a85a9882a81370805f66190463aea38 Mon Sep 17 00:00:00 2001 From: Jesper Kjeldgaard Date: Tue, 9 Sep 2025 12:45:52 +0200 Subject: [PATCH 5/9] reword intro --- .../resources/authorizations/authorizations_methods/token.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md b/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md index 9160860..4bf5d1d 100644 --- a/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md +++ b/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md @@ -20,7 +20,7 @@ Requirement of some parameters depends on the initiator of the transaction; a pa #### Method: Click to Pay -Unified Click to Pay method for both Visa and Mastercard. +Click to Pay token payment method for both Visa and Mastercard. {{% description_list %}} {{% description_term %}}clicktopay[tan] {{% regex %}}[0-9]{12,19}{{% /regex %}}{{% /description_term %}} From 176d4ce8258155137a28f3d067294e2716e63ba3 Mon Sep 17 00:00:00 2001 From: Jesper Kjeldgaard Date: Tue, 9 Sep 2025 13:28:27 +0200 Subject: [PATCH 6/9] Add changelog --- website/content/gateway/api_reference/changes/changes.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/website/content/gateway/api_reference/changes/changes.md b/website/content/gateway/api_reference/changes/changes.md index a3998ea..3aa1fc8 100644 --- a/website/content/gateway/api_reference/changes/changes.md +++ b/website/content/gateway/api_reference/changes/changes.md @@ -10,6 +10,10 @@ Follow coming changes on the [source code repository](https://github.com/clearha Sorted by descending timestamp. +#### Add support for Click to Pay +Starting TBD, we support Click to Pay as a token framework. Please see +[Method: token](#method-token) 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 and refunds made with Visa. This is due to USD 0.005 being half a minor, and From 4b228f53abcda2e46f7480c5f04da123a691143a Mon Sep 17 00:00:00 2001 From: Jesper Kjeldgaard Date: Thu, 11 Sep 2025 10:42:14 +0200 Subject: [PATCH 7/9] Specify ECI should come from token flow --- .../resources/authorizations/authorizations_methods/token.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md b/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md index 4bf5d1d..3786365 100644 --- a/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md +++ b/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md @@ -40,7 +40,8 @@ Click to Pay token payment method for both Visa and Mastercard. {{% /description_details %}} {{% description_term %}}clicktopay[eci] {{% regex %}}0[57]{{% /regex %}}{{% /description_term %}} -{{% description_details %}}Zero-padded e-commerce indicator. +{{% description_details %}}Zero-padded e-commerce indicator from token flow. +{{% regex_optional %}}Optional.{{% /regex_optional %}} {{% /description_details %}} {{% description_term %}}clicktopay[3dsecure] {{% regex %}}dictionary{{% /regex %}}{{% /description_term %}} From bf0d6fdd4d6bffbdf485aaf283f05387971e5ab7 Mon Sep 17 00:00:00 2001 From: Jesper Kjeldgaard Date: Tue, 16 Sep 2025 13:01:40 +0200 Subject: [PATCH 8/9] specify CITs and ECI for clicktopay --- .../resources/authorizations/authorizations_methods/token.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md b/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md index 3786365..8685310 100644 --- a/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md +++ b/website/content/gateway/api_reference/resources/authorizations/authorizations_methods/token.md @@ -20,7 +20,7 @@ Requirement of some parameters depends on the initiator of the transaction; a pa #### Method: Click to Pay -Click to Pay token payment method for both Visa and Mastercard. +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 %}} @@ -41,7 +41,7 @@ Click to Pay token payment method for both Visa and Mastercard. {{% description_term %}}clicktopay[eci] {{% regex %}}0[57]{{% /regex %}}{{% /description_term %}} {{% description_details %}}Zero-padded e-commerce indicator from token flow. -{{% regex_optional %}}Optional.{{% /regex_optional %}} +{{% regex_optional %}}Required for Visa CITs.{{% /regex_optional %}} {{% /description_details %}} {{% description_term %}}clicktopay[3dsecure] {{% regex %}}dictionary{{% /regex %}}{{% /description_term %}} From 857d6bc26c03301a6a0718736a15691adc146543 Mon Sep 17 00:00:00 2001 From: Jesper Kjeldgaard Date: Thu, 25 Sep 2025 13:01:27 +0200 Subject: [PATCH 9/9] set deploy date --- website/content/gateway/api_reference/changes/changes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/gateway/api_reference/changes/changes.md b/website/content/gateway/api_reference/changes/changes.md index 3aa1fc8..ea5a8b6 100644 --- a/website/content/gateway/api_reference/changes/changes.md +++ b/website/content/gateway/api_reference/changes/changes.md @@ -11,7 +11,7 @@ Follow coming changes on the [source code repository](https://github.com/clearha Sorted by descending timestamp. #### Add support for Click to Pay -Starting TBD, we support Click to Pay as a token framework. Please see +Starting 2025-10-01, we support Click to Pay as a token framework. Please see [Method: token](#method-token) for details. #### Add minimum amount for Visa captures and refunds