Pular para o conteúdo principal
POST
/
v1
/
card-tokenize
Tokenizar cartao
curl --request POST \
  --url https://api-payment.safefypay.com.br/v1/card-tokenize \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "cardNumber": "4111111111111111",
  "cardHolderName": "JOAO SILVA",
  "cardExpirationMonth": "12",
  "cardExpirationYear": "2028",
  "cardCvv": "123"
}
'
{
  "data": {
    "cardToken": "ct_abc123def456",
    "last4": "1111",
    "brand": "visa"
  },
  "message": "<string>",
  "error": {
    "message": "Token invalido ou expirado.",
    "code": "unauthorized"
  }
}
Tokeniza um cartão de crédito com o adquirente ativo do estabelecimento, sem armazenar PAN/CVV no banco de dados da Safefy. O token retornado pode ser usado em POST /v1/transactions no campo cardToken.

Requisição

POST /v1/card-tokenize
{
  "cardNumber": "4111111111111111",
  "cardHolderName": "João Silva",
  "cardExpirationMonth": 12,
  "cardExpirationYear": 2028,
  "cardCvv": "123"
}

Parâmetros

CampoTipoObrigatórioDescrição
cardNumberstringsimNúmero do cartão (13-19 dígitos)
cardHolderNamestringsimNome impresso no cartão
cardExpirationMonthintsimMês de expiração (1-12)
cardExpirationYearintsimAno de expiração (ex: 2028)
cardCvvstringsimCódigo de segurança (3-4 dígitos)

Respostas

200 — Sucesso

{
  "data": {
    "cardToken": "ct_abc123def456",
    "last4": "1111",
    "brand": "visa"
  }
}
CampoTipoDescrição
cardTokenstringToken do cartão (prefixo ct_). Válido por tempo limitado.
last4stringÚltimos 4 dígitos do cartão
brandstringBandeira do cartão (ex: visa, mastercard)

400 — Dados inválidos

{
  "error": {
    "message": "Dados do cartão inválidos.",
    "code": "invalid_card_data"
  }
}

401 — Token JWT inválido

{
  "error": {
    "message": "Token inválido.",
    "code": "invalid_token"
  }
}

422 — Adquirente não suporta tokenização

{
  "error": {
    "message": "Adquirente configurado não suporta tokenização nativamente.",
    "code": "tokenization_not_supported"
  }
}

Autorizações

Authorization
string
header
obrigatório

Token JWT obtido via /v1/auth/token

Corpo

application/json
cardNumber
string
obrigatório

Numero do cartao (13-19 digitos)

Exemplo:

"4111111111111111"

cardHolderName
string
obrigatório

Nome impresso no cartao

Exemplo:

"JOAO SILVA"

cardExpirationMonth
string
obrigatório

Mes de expiracao (1-12)

Exemplo:

"12"

cardExpirationYear
string
obrigatório

Ano de expiracao (4 digitos)

Exemplo:

"2028"

cardCvv
string
obrigatório

Codigo de seguranca (3-4 digitos)

Exemplo:

"123"

Resposta

Cartao tokenizado com sucesso

data
object
message
string | null
error
object