> ## Documentation Index
> Fetch the complete documentation index at: https://scaleup-c34c4386.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# POST /api/v1/transactions/direct

> Processa um pagamento direto via cartão de crédito ou PIX a partir do navegador do comprador, sem intermediação de servidor.

Cria uma transação de pagamento diretamente do navegador do comprador durante o fluxo de checkout. Este endpoint é público e não requer autenticação, pois é chamado pelo frontend. Para pagamentos com cartão de crédito, os dados do cartão são enviados diretamente ao gateway de pagamentos para tokenização (PCI compliant).

## Autenticação

Este endpoint é **público** e não requer autenticação. É projetado para ser chamado diretamente do browser durante o checkout.

## Corpo da Requisição

**seller\_id** `string` *required*

Identificador do vendedor no gateway, obtido previamente via `/seller-config`.

**amount** `integer` *required*

Valor total da transação em centavos. Exemplo: `9900` para R\$ 99,00.

**checkout\_id** `string`

Identificador do checkout associado a esta transação.

**customer\_email** `string`

Endereço de e-mail do comprador.

**customer\_tax\_id** `string`

CPF ou CNPJ do comprador (somente números).

**zoop\_buyer\_id** `string`

Identificador do comprador no gateway (`zoop_buyer_id` na API). Quando informado, associa a transação a um comprador existente.

**installments** `integer`

Número de parcelas do pagamento. Aceita valores de `1` a `12`. Aplicável apenas para `payment_type: credit`. **Assinaturas com recorrência mensal aceitam apenas `1` parcela** — o servidor rejeita com `400` qualquer valor maior para esses produtos.

**payment\_type** `string`

Tipo de pagamento. Valores aceitos: `credit` ou `pix`. Padrão: `credit`.

**discount\_code** `string`

Código de desconto a ser aplicado na transação.

**customer\_billing\_address** `object`

Endereço de cobrança do comprador.

**customer\_billing\_address**

**line1** `string`

Logradouro e número.

**line2** `string`

Complemento (apto, bloco, etc.).

**city** `string`

Cidade.

**state** `string`

Estado (sigla, ex.: `SP`).

**postal\_code** `string`

CEP (somente números).

**country** `string`

País (código ISO 3166-1 alpha-2, ex.: `BR`).

**card** `object`

Dados do cartão de crédito. Obrigatório quando `payment_type` é `credit`.

**card**

**card\_number** `string` *required*

Número do cartão (somente dígitos, sem espaços).

**holder\_name** `string` *required*

Nome do titular conforme impresso no cartão.

**expiration\_month** `string` *required*

Mês de vencimento (dois dígitos, ex.: `08`).

**expiration\_year** `string` *required*

Ano de vencimento (quatro dígitos, ex.: `2028`).

**security\_code** `string` *required*

Código de segurança CVV do cartão.

## Resposta

**transaction\_id** `string`

Identificador da transação no gateway de pagamentos.

**status** `string`

Status da transação retornado pelo gateway. Valores possíveis: `new`, `pending`, `pre_authorized`, `succeeded`, `failed`, `canceled`.

**authorization\_code** `string`

Código de autorização retornado pela adquirente.

**amount** `integer`

Valor processado em centavos.

**installments** `integer`

Número de parcelas da transação.

**decline\_reason** `string`

Motivo de recusa, quando a transação é negada. Presente apenas em caso de falha.

**payment\_method** `object`

Detalhes do método de pagamento utilizado.

## Exemplo

```bash cURL theme={null}
curl -X POST "https://api.chargefy.io/api/v1/transactions/direct" \
  -H "Content-Type: application/json" \
  -d '{
    "seller_id": "seller_abc123xyz",
    "checkout_id": "chk_01j9abc123",
    "customer_email": "cliente@exemplo.com",
    "amount": 9900,
    "installments": 1,
    "payment_type": "credit",
    "card": {
      "card_number": "4111111111111111",
      "holder_name": "JOAO DA SILVA",
      "expiration_month": "12",
      "expiration_year": "2028",
      "security_code": "123"
    }
  }'
```

```typescript SDK theme={null}
import { Chargefy } from '@chargefy/sdk';
const chargefy = new Chargefy({ accessToken: process.env.CHARGEFY_ACCESS_TOKEN });
const result = await chargefy.transactions.createDirect({
  seller_id: 'seller_abc123xyz',
  checkout_id: 'chk_01j9abc123',
  customer_email: 'cliente@exemplo.com',
  amount: 9900,
  installments: 1,
  payment_type: 'credit',
  card: {
    card_number: '4111111111111111',
    holder_name: 'JOAO DA SILVA',
    expiration_month: '12',
    expiration_year: '2028',
    security_code: '123',
  },
});
```

## Resposta de Exemplo

```json theme={null}
{
  "transaction_id": "txn_01j9abc123",
  "status": "succeeded",
  "authorization_code": "AUTH123456",
  "amount": 9900,
  "installments": 1,
  "payment_method": {
    "type": "credit",
    "brand": "visa",
    "last4": "1111"
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.