Checkouts

Criar Produto

Cria um novo produto vinculado a sua conta. Os produtos criados ficam disponíveis no painel administrativo e podem ser utilizados tanto no checkout transparente (via API) quanto no checkout pro (link de pagamento). Ao criar um produto, voce pode associar um ou mais preços (prices), incluindo configurações de recorrência para cobranças periódicas, conforme abaixo:

  • ONE_TIME → "Avulsa"

  • MONTHLY → "Mensal"

  • WEEKLY → "Semanal"

  • QUARTERLY → "Trimestral"

  • YEARLY → "Anual"

Case de uso:

Como SaaS, quero cadastrar meus planos (ex: Básico, Pro, Enterprise) como produtos com preços recorrentes, para que meus clientes possam assinar diretamente pelo checkout pro ou pela minha própria interface integrada via checkout transparente.

Como marketplace, quero cadastrar os servicos oferecidos como produtos avulsos com preço fixo, para gerar cobranças pontuais aos compradores

POST/v1/products
Base URL Produção:https://api.validapay.com.br
Base URL Sandbox:https://sandbox.validapay.com.br

Authorizations

bearer

Authorization

string · header · required

Cabeçalho de autenticação Bearer no formato Bearer {{{token}} onde {{{token}} é o seu token OAuth2.

Escopos requeridos

products/write

Body

application/json

Content-Type:application/json
{
  "name": "SESSION TESTE 7",
  "description": "Teste avulso",
  "statementDescriptor": "VALIDAPAY TESTE",
  "metadata": {
    "externalId": "plan_abc123"
  },
  "prices": [
    {
      "title": "Avulso Preço Normal",
      "recurrenceType": "ONE_TIME",
      "description": "Avulso",
      "amount": 100
    },
    {
      "title": "Avulso Black Friday",
      "recurrenceType": "ONE_TIME",
      "description": "Avulso preço promocional",
      "amount": 89.90
    }
  ]
}

Schema

FieldTypeRequiredDescription
name
stringRequired
-
description
stringRequired
-
statementDescriptor
stringRequired
-
metadata
objectOptional
-
prices[2]
array-
-
const url = 'https://sandbox.validapay.com.br/v1/products';

const options = {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer {{{token}}',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
  "name": "SESSION TESTE 7",
  "description": "Teste avulso",
  "statementDescriptor": "VALIDAPAY TESTE",
  "metadata": {
    "externalId": "plan_abc123"
  },
  "prices": [
    {
      "title": "Avulso Preço Normal",
      "recurrenceType": "ONE_TIME",
      "description": "Avulso",
      "amount": 100
    },
    {
      "title": "Avulso Black Friday",
      "recurrenceType": "ONE_TIME",
      "description": "Avulso preço promocional",
      "amount": 89.90
    }
  ]
})
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));

Response Examples

200200
{
    "productId": "prod_1772275462312_lsopu8ntr",
    "name": "Plano Pro 3",
    "description": "Acesso completo à plataforma",
    "type": "RECURRING",
    "billingPeriod": "MONTHLY",
    "currency": "BRL",
    "status": "active",
    "emitirNf": false,
    "metadata": {
        "externalId": "plan_abc123"
    },
    "statementDescriptor": "VALIDAPAY TESTE",
    "createdAt": "2026-02-28T10:44:22.312Z",
    "updatedAt": "2026-02-28T10:44:22.312Z",
    "prices": [
        {
            "priceId": "price_1772275462439_ztt2gcewl",
            "productId": "prod_1772275462312_lsopu8ntr",
            "title": "Mensal",
            "description": "Cobrança mensal",
            "amount": 400,
            "recurrenceType": "MONTHLY",
            "recurrenceInterval": 1,
            "trialDays": 7,
            "isActive": true,
            "discounts": [],
            "statementDescriptor": "Mensal"
        }
    ]
}