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/:idBase URL Produção:
https://api.validapay.com.brBase URL Sandbox:
https://sandbox.validapay.com.brAuthorizations
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
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Required | Id |
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
namestringOptionaldescriptionstringOptionaltypestringOptionalstatementDescriptorstringOptionalisActivebooleanOptionalmetadataobjectprices[2]arrayOptionalPara 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"
}
}