Error Generating 402 Payment Required for American Express, but Successful for Visa, Discover, MasterCard

116 Views Asked by At

I'm encountering an issue while trying to generate a chargesRequest using the Clover API, specifically when attempting to generate a chargesRequest for AMEX(American Express).

I'm receiving a '402' response with the message '402 Payment Required.' Interestingly, this issue does not occur when using Visa, Discover, or MC(MasterCard).

I have provided the request payloads and responses for both unsuccessful AMEX(American Express) and successful (Visa/Discover/MasterCard) cases.

I'm seeking insights, advice, or potential solutions to resolve this issue and achieve successful payment for American Express transactions.

Any assistance or recommendations on debugging and resolving this issue would be greatly appreciated. Thank you for your time and expertise!

ChargesRequestApi Endpoint: https://scl-sandbox.dev.clover.com/v1/charges

For AMEX:

=========

Response

=========

{message: "402 Payment Required",…}

error: {code: "card_declined", message: "CVV could not be verified", charge: "KS1DF4QDJCB6M",…}

charge: "KS1DF4QDJCB6M"

code: "card_declined"

declineCode: "issuer_declined"

message: "CVV could not be verified"

message: "402 Payment Required"

Request Payload

===============

{ecomind: "ecom", metadata: {existingDebtIndicator: false}, amount: "45", currency: "USD",…}

amount: "45"

currency: "USD"

ecomind: "ecom"

metadata: {existingDebtIndicator: false}

existingDebtIndicator: false

source: "clv_1TSTSkXPsbmgFu6iyD3E574E"

For Visa ,Discover,MC (successfull):

Response

=========

{ "id" : "QQZ563DJV8C8G",

"amount" : 45,

"payment_method_details" : "card",

"amount_refunded" : 0,

"currency" : "USD",

"created" : 1697200129357,

"captured" : true,

"ref_num" : "328600501790",

"auth_code" : "OK9112",

"outcome" : { "network_status" : "approved_by_network",

"type" : "authorized"

},

"paid" : true,

"status" : "succeeded",

"source" : { "id" : "clv_1TSTSHMb94DAyMQ8gQG5NCfH",

"brand" : "VISA",

"exp_month" : "06",

"exp_year" : "2025",

"first6" : "424242",

"last4" : "4242"

},

"ecomind" : "ecom"

}

Request Payload

===============

{ecomind: "ecom", metadata: {existingDebtIndicator: false}, amount: "45", currency: "USD",…}

amount: "45"

currency: "USD"

ecomind: "ecom"

metadata: {existingDebtIndicator: false}

source: "clv_1TSTSHMb94DAyMQ8gQG5NCfH"

1

There are 1 best solutions below

3
On

The returned error message from Clover is, for lack of a better word, is erroneous.

I experienced this issue when entering an unrecognized brand when tokenizing a credit card. For American Express, the correct brand is "AMEX" and MasterCard is "MC":

{"card": 
    {
        "brand": "AMEX",
        "number": "378282246310005",
        "exp_month": "12",
        "exp_year": "2025",
        "cvv": "123",
        "last4": "0005",
        "first6": "378282", 
        "country": "US"
    }
}

Unfortunately, this is not mentioned anywhere in the documentation.