---
title: "Cadastra um novo perfil de pagamento para um cliente existente."
method: POST
path: "/v1/payment_profiles"
tags: ["payment_profiles"]
---

# Cadastra um novo perfil de pagamento para um cliente existente.

`POST /v1/payment_profiles`

## Request

- Base URL: `//app.vindi.com.br/api` (relative, and the document’s source URL is not known)
- URL: `//app.vindi.com.br/api/v1/payment_profiles`
- Auth: HTTP basic

O perfil de pagamento representa um cartão de crédito ou uma conta bancária armazenada na plataforma Vindi. Leia mais na [documentação](http://atendimento.vindi.com.br/hc/pt-br/articles/204406204-Perfil-de-pagamento).

#### Exemplo de requisição para cartão de crédito
```
{
  "holder_name": "José da Silva",
  "card_expiration": "12/2018",
  "card_number": "5167454851671773",
  "card_cvv": "123",
  "payment_method_code": "credit_card",
  "payment_company_code": "mastercard",
  "customer_id": 51
}
```

#### Exemplo de requisição para dados bancários
```
{
  "holder_name": "José da Silva",
  "registry_code": "27721264391",
  "bank_branch": "0964",
  "bank_account": "71233-1",
  "payment_method_code": "bank_debit",
  "payment_company_code": "itau",
  "customer_id": 51
}
```

#### Bandeiras e bancos disponíveis
Para uma lista completa de códigos de bancos e bandeiras suportadas pela sua conta, utilize o endpoint `GET /payment_methods` e verifique o atributo `payment_companies.code`.

#### Detecção automática de bandeira
Caso o parâmetro `payment_company_code` não seja informado, a plataforma irá tentar detectar a bandeira do cartão de crédito através do número informado. Este método não garante a detecção automática de bandeiras sem faixas de BIN/IIN definidas publicamente (Elo, Hipercard, Hiper, etc). Se você pretende utilizar cartões destas bandeiras, solicite a bandeira no seu formulário de pagamento e envie através do parâmetro `payment_company_code`.

No caso do débito em conta, `payment_company_code` é obrigatório.

## Request body

- PostV1PaymentProfiles: Cadastra um novo perfil de pagamento para um cliente existente.
  - `body` DataOnlyCreate
    - `color_depth` integer: Indica a profundidade de cor estimada da tela do usuário, em bits por pixel. É obtida no navegador do cliente por meio da propriedade window.screen.colorDepth.
    - `java_enabled` boolean: Indica se o navegador do usuário possui suporte para execução de applets Java. É obtida no navegador do cliente por meio da propriedade navigator.javaEnabled.
    - `language` string: Representa o idioma preferido do navegador, no formato IETF BCP 47 (por exemplo, en, pt-BR, fr-FR). Pode ser obtido através da propriedade navigator.language.
    - `screen_height` integer: Representa a altura total da tela do dispositivo do usuário, em pixels. O valor é obtido por meio da propriedade window.screen.height.
    - `screen_width` integer: Representa a largura total da tela do dispositivo do usuário, em pixels. O valor é obtido por meio da propriedade window.screen.width.
    - `time_zone_offset` integer: Diferença de horário, em horas, entre o UTC e a hora local do navegador do titular do cartão.
    - `user_agent` string: Identificador do browser utilizado pelo comprador no momento da compra.
    - `ip_address` string: Suporta informações somente em iPv4.
  - `holder_name` string: Nome do titular/portador do perfil de pagamento
  - `registry_code` string: CPF ou CNPJ do titular/portador
  - `bank_branch` string: Agência da conta bancária
  - `bank_account` string: Número da conta bancária
  - `card_expiration` string: Validade do cartão de crédito no formato MM/AA
  - `allow_as_fallback` string: Permite utilizar o perfil de pagamento em retentativas de cobranças não pagas.
  - `card_number` string: Número completo do cartão de crédito
  - `card_cvv` string: Código de segurança do cartão de crédito com 3 ou 4 dígitos
  - `payment_method_code` string: Código do método de pagamento
  - `payment_company_code` string: Código do banco ou bandeira
  - `card_renewed_at` string: Data da renovação do cartão de crédito renovado
  - `gateway_token` string: Token externo
  - `customer_id` integer, required: ID do cliente associado ao perfil de pagamento

## Response `201`

Perfil de pagamento cadastrado com sucesso.

- PaymentProfile: Utilize este método para listar perfis de pagamento associados à sua conta na Vindi. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Exemplo Para verificar se determinado cliente possui um cartão de crédito ativo, utilize os seguintes filtros no parâmetro `query`: ``` customer_id=[id do cliente] status=active type=PaymentProfile_CreditCard ``` #### Atributos para busca <code>id</code>, <code>customer_id</code>, <code>card_number_first_six</code>, <code>card_number_last_four</code>, <code>card_expiration</code>, <code>payment_company_id</code>, <code>payment_method_id</code>, <code>status</code>, <code>type</code>, <code>created_at</code>, <code>registry_code</code>, <code>bank_account</code>, <code>bank_branch</code> e <code>updated_at</code>.
  - `id` integer, required: ID do perfil de pagamento
  - `status` 'active' | 'inactive' | 'deleted', required: Status do perfil de pagamento
  - `holder_name` string: Nome do titular/portador do perfil de pagamento
  - `registry_code` string: CPF ou CNPJ do titular/portador
  - `bank_branch` string: Agência da conta bancária
  - `bank_account` string: Número da conta bancária
  - `card_expiration` string: Validade do cartão de crédito no formato MM/AA
  - `allow_as_fallback` string: Permite utilizar o perfil de pagamento em retentativas de cobranças não pagas.
  - `card_number_first_six` string: Primeiros 6 dígitos do cartão de crédito (BIN/IIN)
  - `card_number_last_four` string: Últimos 4 dígitos do cartão de crédito
  - `renewed_card` object
    - `card_number_last_four` string: Últimos quatro dígitos do cartão de crédito renovado
    - `card_expiration` string: Nova validade do cartão de crédito renovado
  - `card_renewed_at` string: Data da renovação do cartão de crédito renovado
  - `token` string, required: Token para referência do perfil de pagamento
  - `gateway_token` string: Token externo
  - `type` string, required: Tipo do perfil de pagamento
  - `created_at` string, required: Data e hora do cadastro do perfil de pagamento
  - `updated_at` string, required: Data e hora da última atualização do perfil de pagamento
  - `payment_company` PaymentCompany, required
    - `id` integer, required: ID da bandeira ou banco
    - `name` string, required: Nome da bandeira ou banco
    - `code` string, required: Código para referência via API
  - `payment_method` PaymentMethodSummary, required
    - `id` integer, required: ID do método de pagamento
    - `public_name` string, required: Nome público do método de pagamento
    - `name` string, required: Nome interno do método de pagamento
    - `code` string, required: Código externo para referência via API
    - `type` string, required: Tipo do método de pagamento
  - `customer` CustomerSummary, required
    - `id` integer, required: ID do cliente
    - `name` string, required: Nome do cliente
    - `email` string: E-mail do cliente
    - `code` string: Código opcional para referência via API

## Other responses

- `400`: Erro de sintaxe JSON no corpo do request.
- `422`: Parâmetros inválidos. Verificar erro na resposta.

---

[API](https://skmtc.dev/vindi/apis/api-vindi.md) - [All operations](https://skmtc.dev/vindi/apis/api-vindi/llms.txt) - [OpenAPI document](https://skmtc.dev/vindi/apis/api-vindi/revisions/3e857e1cdd03?raw)
