Pular para o conteúdo

Tokenizar via API

Use este fluxo quando o cartão trafega pelo seu servidor (back-end). A autenticação é feita com o token secreto de API, o mesmo usado nos demais endpoints (Autenticação).

Endpoint
POST /api/v1/card/tokenize
Exemplo — token efêmero (sem vincular cliente)
curl --request POST \
--url https://sandbox.azpag.dev/api/v1/card/tokenize \
--header 'Authorization: Bearer {token}' \
--header 'Accept: application/json' \
--header 'Content-type: application/json' \
--data '{
"card": {
"holder": "MARIA SOUZA",
"number": "4111111111111111",
"expiration": "12/2030",
"security": "123"
}
}'

O token retornado expira após o período configurado (padrão: 15 minutos). Para gerar um token permanente, vincule um cliente.

Exemplo — vinculando um cliente novo (find-or-create por documento)
curl --request POST \
--url https://sandbox.azpag.dev/api/v1/card/tokenize \
--header 'Authorization: Bearer {token}' \
--header 'Accept: application/json' \
--header 'Content-type: application/json' \
--data '{
"card": {
"holder": "MARIA SOUZA",
"number": "4111111111111111",
"expiration": "12/2030",
"security": "123"
},
"customer": {
"fullname": "Maria Souza",
"taxvat": "12345678909",
"email": "cliente@exemplo.com",
"telephone": "11999998888"
}
}'

Se o cliente já existe na sua empresa, informe apenas o customer_id:

"customer_id": 4231
AtributoTipoObrigatórioDescrição
cardObjetoSimDados do cartão a ser tokenizado.
card.holderTextoSimNome impresso no cartão (máx. 25 caracteres).
Ex: MARIA SOUZA
card.numberTextoSimNúmero do cartão de crédito.
card.expirationTextoSimValidade no formato MM/YYYY, não vencida.
Ex: 12/2030
card.securityTextoSimCódigo de segurança (CVV).
customer_idNúmeroNãoID de um cliente já existente na sua empresa. Gera token permanente.
customerObjetoNãoCliente a vincular (find-or-create pelo taxvat). Gera token permanente.
customer.taxvatTextoCondicionalDocumento do cliente (CPF/CNPJ). Obrigatório quando customer é informado.
customer.fullnameTextoNãoNome do cliente.
customer.emailTextoNãoE-mail do cliente.
customer.telephoneTextoNãoTelefone do cliente.
Sucesso (HTTP 201)
{
"data": {
"token": "card_3e1d9542-09fe-4b8b-9800-38f99f5b2147",
"customer_id": null,
"brand": "visa",
"last_digits": "1111",
"expiration": "12/2030",
"expires_at": "2026-07-07T12:15:00-03:00"
}
}

Quando o token é permanente (cliente vinculado), expires_at é null e customer_id traz o ID do cliente.

SituaçãoStatus
Cartão tokenizado com sucesso201
Credencial ausente ou inválida401
Cartão inválido ou vencido422

Informe o token em payment.card.token ao criar uma venda avulsa, no lugar dos dados completos do cartão:

"payment": {
"method": "credit",
"installments": 1,
"card": {
"token": "card_3e1d9542-09fe-4b8b-9800-38f99f5b2147"
}
}

Tokens efêmeros só valem dentro da janela de expiração e na empresa que os gerou. Token inválido ou expirado retorna 422 na venda.