Produtos

Atualizar Produto

Atualiza as informações de um produto, como nome, descrição ou preço. Mesmos campos de POST (todos opcionais). Para atualizar preço existente, inclua priceId no item de prices[].

PUT/v1/products/:id
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

Path Parameters

NameTypeRequiredDescription
idstringRequiredId

Body

application/json

Content-Type:application/json
{
  "name": "Plano Premium Plus",
  "description": "Acesso completo à plataforma",
  "type": "RECURRING",
  "statementDescriptor": "VALIDAPAY PREMIUM",
  "isActive": true,
  "metadata": {},
  "prices": [
    {
      "priceId": "price_xxx",
      "amount": 109.9,
      "recurrenceType": "MONTHLY",
      "recurrenceInterval": 1,
      "trialDays": 7,
      "compareAtPrice": 129.9
    },
    {
      "title": "Trimestral",
      "amount": 279.0,
      "recurrenceType": "QUARTERLY",
      "recurrenceInterval": 1
    }
  ]
}

Schema

namestringOptional
descriptionstringOptional
typestringOptional
statementDescriptorstringOptional
isActivebooleanOptional
metadataobject
prices[2]arrayOptional

Para atualizar preço existente, inclua priceId no item

const url = 'https://sandbox.validapay.com.br/v1/products/:id';

const options = {
  method: 'PUT',
  headers: {
    'Authorization': 'Bearer {{token}}',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
  "name": "Plano Premium Plus",
  "description": "Acesso completo à plataforma",
  "type": "RECURRING",
  "statementDescriptor": "VALIDAPAY PREMIUM",
  "isActive": true,
  "metadata": {},
  "prices": [
    {
      "priceId": "price_xxx",
      "amount": 109.9,
      "recurrenceType": "MONTHLY",
      "recurrenceInterval": 1,
      "trialDays": 7,
      "compareAtPrice": 129.9
    },
    {
      "title": "Trimestral",
      "amount": 279.0,
      "recurrenceType": "QUARTERLY",
      "recurrenceInterval": 1
    }
  ]
})
};

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

Response Examples

200200
{
  "productId": "prod_xxx",
  "name": "Plano Premium Plus",
  "newPrices": [
    {
      "priceId": "price_yyy"
    }
  ]
}
404404
{
    "error": {
        "message": "Produto não encontrado",
        "code": "PRODUCT_NOT_FOUND",
        "details": null,
        "timestamp": "2026-07-14T21:39:36.322Z"
    }
}