- Verifies a card
POST {{baseURL}}/pay-api/v1/transactions/card-verification
This endpoint verifies a card's details with the issuing bank without charging it.
This checks the card against AVS (address verification service) and the security code. No funds are authorized, captured, or held against the card. This is useful for validating a card, such as before saving it as a customer's payment method, without processing a payment.
See Also:
To authorize a transaction, see POST /pay-api/v1/transactions/auth.
To create a transaction, see POST /pay-api/v1/transactions/sale.
To retrieve a transaction by ID, see GET /pay-api/v1/transactions/{transactionId}.
Specifies the card number to verify.
We recommend using paymentMethodId instead of accountNumber.
This field may contain a token issued against a card number. This is de-tokenized by TransIT to process the verification.
Example: 4111111111111111
Specifies the customer payment method identifier.
We recommend using paymentMethodId instead of accountNumber.
Example: b4c48037-4c5d-4e6f-7a8b-9c0d1e2f3a69
Specifies the expiration month of the card.
Example: 7
Specifies the expiration year of the card.
Example: 2032
Specifies the card data source.
Valid values are:
| Value | Name | Description |
|---|---|---|
| 1 | Internet | Virtual Terminal, ISV API |
| 2 | Swipe | Track1, Track2 |
| 3 | NFC | EMV Tags, Track2 |
| 4 | EMV | EMV Tags |
| 5 | EMVContactless | EMV Tags |
| 6 | FallbackSwipe | Track 2 |
| 7 | Manual | Card present keyed transaction |
Example: 2
Specifies the payment processor identifier.
A list of available payment processers can be found with GET {{baseURL}}/pay-api/v1/configurations/payments. See response availablePaymentProcessors.id.
If omitted, the merchant's default payment processor will be used.
Example: 37bd9ccb-2c9d-45cf-a65f-c9a224bdeaeb
Specifies the customer identifier.
This is used when saving the payment method.
If this value is provided, the payment method is saved to the specified customer.
If this value is not provided, a new customer record is created.
Example: fd9198a4-eb6f-4620-9603-4f4638289de5
Specifies the device when using the Flute mobile app.
If this value is included, the user is linked to that device. This stores their name as the verification creator createdBy.
Example: a30f9b66-b2f0-4b18-a03a-b861b00afa8b
Specifies the version of the mobile app.
This value is stored on the verification record. The appVersion value takes priority over the sdkVersion if both are present.
Example: 10.413.01
Specifies the version of the Flute SDK.
This value is stored on the verification record. The appVersion value takes priority over the sdkVersion if both are present.
Example: 8.61.01
Specifies the three or four digit security code on the credit card.
Example: 123
Specifies the card data from track 1 of the magnetic stripe.
Example: %B4111111111111111^Smith/John^12121010000000000000?
Specifies the information stored on the magnetic stripe of a credit or debit card, including the card number, expiration date, and cardholder's name.
Example: 4111111111111111=200257999
- Mock serverhttps://developer.flute.com/_mock/api-reference/pay-api/v1/transactions/card-verification
- Sandbox environmenthttps://sandbox.api.flute.com/pay-api/v1/transactions/card-verification
- Production environmenthttps://api.flute.com/pay-api/v1/transactions/card-verification
Verifies a Visa card entered online.
cardDataSource is 1 (Internet).
The billing address and security code are sent for address and CVV checks.
POST /pay-api/v1/transactions/card-verification HTTP/1.1
Host: sandbox.api.flute.com
Authorization: Bearer <YOUR_JWT_HERE>
Accept: application/json
Content-Type: application/json
{
"paymentProcessorId": "64aa4643-2c62-45fa-9554-3a69833114e9",
"accountNumber": "4111111111111111",
"securityCode": "123",
"expirationMonth": 12,
"expirationYear": 2030,
"cardDataSource": 1,
"billingAddress": {
"line1": "7429 Desert Mirage Lane",
"line2": "Suite 7",
"city": "Phoenix",
"stateName": "Arizona",
"stateId": 4,
"postalCode": "85099",
"countryId": 1
}
}OK
Indicates the verification record's identifier.
Example: c7c15dd0-03e7-4e55-917c-54bedafba5e7
Indicates the date and time (in an ISO 8601 date-time UTC format) of the verification.
Example: 2026-02-19T20:24:52.934Z
Indicates the type identifier of the verification.
Valid values are:
| Value | Name | Description |
|---|---|---|
| 8 | CardVerification | Identifies the record as a card verification. |
Example: 8
Indicates the type name of the verification.
Valid values are:
| Value | Description |
|---|---|
| CardVerification | Identifies the record as a card verification. |
Example: CardVerification
Indicates the status identifier of the verification.
Valid values are:
| Value | Name | Description |
|---|---|---|
| 1 | Verified | The card and billing details matched the issuing bank's records. |
| 2 | Declined | The card or billing details did not match, and verification was declined. |
| 3 | Failed | The verification could not be completed due to a processing error. |
Example: 1
Indicates the status name of the verification.
Valid values are:
| Value | Description |
|---|---|
| Verified | The card and billing details matched the issuing bank's records. |
| Declined | The card or billing details did not match, and verification was declined. |
| Failed | The verification could not be completed due to a processing error. |
Example: Verified
The issuer confirms the card is valid.
status is Verified.
No funds are held or charged.
{ "transactionDateTime": "2026-10-20T14:02:16.2840571Z", "statusId": 5, "status": "Verified", "details": { "hostResponseCode": "85", "hostResponseMessage": "NO REASON TO DECLINE", "hostResponseDefinition": "No reason to decline", "code": "Approve", "message": "Success", "processorResponseCode": "85", "authCode": null, "maskedPan": "411111******1111" } }