Checkouts

Criar Produto

Cria um novo produto vinculado a sua conta. Os produtos criados ficam disponiveis 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 precos (prices), incluindo configuracoes de recorrencia para cobranças periodicas.

Case de uso:

Como SaaS, quero cadastrar meus planos (ex: Basico, Pro, Enterprise) como produtos com precos recorrentes, para que meus clientes possam assinar diretamente pelo checkout pro ou pela minha propria interface integrada via checkout transparente.

Como marketplace, quero cadastrar os servicos oferecidos como produtos avulsos com preco 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": "Plano Pro 2",
  "description": "Acesso completo à plataforma",
  "type": "RECURRING",
  "statementDescriptor": "VALIDAPAY TESTE",
  "metadata": {
    "externalId": "plan_abc123"
  },
  "prices": [
    {
      "title": "Mensal",
      "description": "Cobrança mensal",
      "amount": 400,
      "currency": "BRL",
      "recurrency": {
        "frequency": "MONTHLY"
      },
      "trialDays": 7
    }
  ]
}

Schema

FieldTypeRequiredDescription
name
string--
description
string--
type
string--
statementDescriptor
string--
metadata
object--
prices[1]
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": "Plano Pro 2",
  "description": "Acesso completo à plataforma",
  "type": "RECURRING",
  "statementDescriptor": "VALIDAPAY TESTE",
  "metadata": {
    "externalId": "plan_abc123"
  },
  "prices": [
    {
      "title": "Mensal",
      "description": "Cobrança mensal",
      "amount": 400,
      "currency": "BRL",
      "recurrency": {
        "frequency": "MONTHLY"
      },
      "trialDays": 7
    }
  ]
})
};

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"
        }
    ]
}