Checkouts

Checkout Session

Esta rota cria uma sessão de pagamento e retorna um link para a página de pagamento hospedada pela ValidaPay. Ao compartilhar ou redirecionar o cliente para esse link, ele será direcionado a uma interface segura onde poderá concluir o pagamento.

Para criar uma sessão, informe o priceId de um preço previamente cadastrado. Opcionalmente, você pode enviar os dados do cliente (customer) e restringir os métodos de pagamento aceitos (allowedPaymentMethods).

A resposta inclui o id da sessao e uma url de pagamento que pode ser utilizada como fallback ou redirecionamento.

Metodos de pagamento suportados: creditcard, pix, boleto

⚠️ Atenção: Uma sessao de checkout so pode ser paga uma unica vez. Apos o pagamento bem-sucedido, a sessao e marcada como completed e novas tentativas de pagamento não serão possíveis.

Case de uso:

Como SaaS, quero gerar um link de pagamento exclusivo para cada cliente no momento da contratacao do plano. Crio uma sessao com o priceId do plano escolhido e redireciono o cliente para a URL retornada. Apos o pagamento, a sessao e encerrada automaticamente, garantindo que o mesmo link nao seja utilizado novamente.

Como plataforma de servicos, quero enviar um link de pagamento por email ou WhatsApp para cada orçamento aprovado. Cada sessao corresponde a um pagamento unico, evitando cobranças duplicadas.

POST/v1/checkouts/session
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

checkouts/write

Body

application/json

Content-Type:application/json
{
    "priceId": "price_1772389525023_dd9gsj4uw",
    "allowedPaymentMethods": ["pix", "creditcard"],
    "customer": {
        "email": "teste@validapay.com.com",
        "documentNumber": "00900790270"
    }
}

Schema

FieldTypeRequiredDescription
priceId
string-
-
allowedPaymentMethods[2]
array-
-
customer
object-
-
const url = 'https://sandbox.validapay.com.br/v1/checkouts/session';

const options = {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer {{token}}',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "priceId": "price_1772389525023_dd9gsj4uw",
    "allowedPaymentMethods": ["pix", "creditcard"],
    "customer": {
        "email": "teste@validapay.com.com",
        "documentNumber": "00900790270"
    }
})
};

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

Response Examples

200200
{
    "id": "SANDBOX_cs_1772391984588_r4lzc2h8w",
    "url": "https://app.validapay.com.br/pagamento/SANDBOX_cs_1772391984588_r4lzc2h8w",
    "priceId": "price_1772391951373_rfu2y02g1"
}