Card Validation

The Card Validation endpoint allows merchants to verify the validity of cards across various acquirers in Latin America, using either Zero Auth operations or simulated minimal-amount purchases followed by automatic refunds.

Validates a card by sending its details directly to Bamboo’s API to confirm authenticity and issuer acceptance. This operation only checks the card validity. It does not create a purchase or authorize a charge.

🚧

PCI Scope Only merchants certified under PCI DSS can access this endpoint directly. Non-PCI merchants must use the Tokenization Form.


Choose your environment

Send a POST request to one of the following URLs:

EnvironmentURL
Productionhttps://secure-api.bamboopayment.com/v3/api/card/validate
Staginghttps://secure-api.stage.bamboopayment.com/v3/api/card/validate
🧪

To test this endpoint, use the API Reference or the Postman Collection


Request parameters

The request contains two main objects: CardData and Customer.

CardData Object

ParameterTypeMandatoryDescription
CardHolderNamestringYesFull name as it appears on the card.
PanstringYesCard number without spaces or separators.
CVVstringYesSecurity code (3–4 digits).
ExpirationstringYesExpiration date in format MM/YY.
EmailstringYesCardholder’s email address.
DocumentstringConditionalRequired for some countries.
TargetCountryISOstringYesTwo-letter ISO country code where the card will be processed (ISO-3166-1).

Customer Object

Country-specific requirements: For Argentina and Brazil, all Customer and Address fields are mandatory. These markets require complete customer information for card validation.

ParameterTypeRequiredDescription
FirstNamestringConditionalCustomer’s first name.
LastNamestringConditionalCustomer’s last name.
EmailstringConditionalCustomer’s email address.
DocumentNumberstringConditionalIdentification number
DocumentTypestringConditionalDocument type
AddressobjectConditionalCustomer’s address information.

Address Object

ParameterTypeRequiredDescription
CountrystringConditionalTwo-letter ISO country code
StatestringConditionalState or province code
CitystringConditionalCity name.
PostalCodestringNoPostal or ZIP code.
AddressDetailstringConditionalStreet address with number.

Request example

{
  "CardData": {
    "CardHolderName": "João Silva",
    "Pan": "4507990000004905",
    "CVV": "123",
    "Expiration": "08/30",
    "Email": "[email protected]",
    "Document": "41158995814",
    "TargetCountryISO": "BR"
  },
  "Customer": {
    "FirstName": "João",
    "LastName": "Silva",
    "Email": "[email protected]",
    "DocumentNumber": "41158995814",
    "DocumentType": "CPF.BR",
    "Address": {
      "Country": "BR",
      "City": "São Paulo",
      "State": "SP",
      "PostalCode": "01234-567",
      "AddressDetail": "Rua da Consolação, 1234"
    }
  }
}


Response Parameters

The response includes information about the validation result and details about the payment method.

ParameterTypeDescription
StatusstringResult of the validation. Possible values are APPROVED, REJECTED.
ErrorCodestringError code if the validation was rejected. null if approved.
ErrorDescriptionstringDetailed description of the error if the validation was rejected. null if approved.
PaymentMethodobjectInformation about the validated card.

Payment Method Object

ParameterTypeDescription
BrandstringCard brand (e.g., MasterCard, Visa).
IssuerBankstringName of the bank that issued the card.
TypestringType of card (e.g., CreditCard, DebitCard).

Response example

{
  "Status": "APPROVED",
  "ErrorCode": null,
  "ErrorDescription": null,
  "PaymentMethod": {
    "Brand": "MasterCard",
    "IssuerBank": "SANTANDER BRASIL",
    "Type": "CreditCard"
  }
}

Status Values

The validation can return the following status values:

StatusDescription
APPROVEDCard successfully validated
REJECTEDCard validation failed. Check ErrorCode and ErrorDescription for details

When the status is REJECTED, the ErrorCode and ErrorDescription fields will provide specific information about why the validation failed. For more information about error codes.


💡

In some acquirers, a temporary authorization is made for a small amount (usually less than USD 1) to verify the card’s validity and issuer response. This amount is automatically refunded after validation.


Discover the API

Once you’re familiar with how to validate a card, test your integration in the API Reference: