Hello,
I hope this message finds you well.
Recently, I want to add 3DS authentication (North America) in the charge process for e-commerce.
I referred to Clover's documentation.
Based on the Clover API response, I can choose CLOVER
or NON_CLOVER
as the source.
{
"message": "400 Bad Request",
"error": {
"type": "invalid_request_error",
"code": "invalid_request",
"message": "Missing or invalid source (CLOVER / NON_CLOVER) for 3DSecure"
}
}
As I understand:
- CLOVER: Clover provides an integrated solution to verify 3DS with various issuing banks.
- NON_CLOVER: Developers need to connect to third-party 3DS APIs, such as Fiserv, or directly integrate with 3DS APIs from Visa or Mastercard.
Is there any misunderstanding in my understanding?
However, when I send the following request with "source": "CLOVER"
:
{
"amount": 1000,
"currency": "usd",
"ecomind": "ecom",
"source": "clv_1TSAAAA7hY1y6NUb1LwQTgfB",
"tax_amount": 100,
"tip_amount": 100,
"threeds": {
"source": "CLOVER"
}
}
The Clover API returns the following error:
{
"message": "400 Bad Request",
"error": {
"type": "invalid_request_error",
"code": "invalid_request",
"message": "Missing or invalid/incomplete browser_info for 3DSecure via source (CLOVER)"
}
}
It seems something is missing, but the documentation does not provide further explanation. Does this mean Clover does not actually support 3DS authentication?
Additionally, when I use "source": "NON_CLOVER"
:
{
"amount": 1000,
"currency": "usd",
"ecomind": "ecom",
"source": "clv_1TAAAA7PPfD3uFrKuXrXUBGS",
// "external_reference_id": "abcedf123456",
"tax_amount": 100,
"tip_amount": 100,
"threeds": {
"source": "NON_CLOVER",
"authentication_result": {
"authentication_status": "SUCCESS",
"transaction_id": "CAACCVVUlwCXUyhQNlSXAAAAAAA",
"cryptogram": "11B5 2345 49C3 C4DD 931A 27BD 8CA3 CD82",
"threeds_version": "2"
}
}
}
The transaction completes successfully.
But how does Clover validate the threeds
data I provide?