Assinaturas

Atualizar Item

PUT/v1/subscriptions/:subscriptionId/items/:itemId
Base URL Produção:https://api.validapay.com.br
Base URL Sandbox:https://sandbox.validapay.com.br

Autenticação

bearerAuthorizationstring · header · obrigatório

Envie no header:

Authorization: Bearer {{token}}

Path Parameters

NameTypeRequiredDescription
subscriptionIdstringRequiredSubscriptionid
itemIdstringRequiredItemid

Atualiza a quantidade ou o preço de um item dentro de uma assinatura ativa.

Upgrade/downgrade de item

:id = subscriptionId, :itemId = ID do item. Pelo menos priceId ou quantity.

CampoObrig.Tipo
priceId✅*string
quantity✅*number
boletoInstructionsobject
expirationAfterDueDatenumber

Body

application/json

Content-Type:application/json
{
  "priceId": "price_yyy",
  "quantity": 2,
  "boletoInstructions": null,
  "expirationAfterDueDate": null
}

Schema

FieldTypeRequiredDescription
priceId
string-
-
quantity
number-
-
boletoInstructions
object-
-
expirationAfterDueDate
object-
-

Headers

NameTypeValueRequired
Content-Type-application/jsonOptional
const url = 'https://sandbox.validapay.com.br/v1/subscriptions/:subscriptionId/items/:itemId';

const options = {
  method: 'PUT',
  headers: {
    'Authorization': 'Bearer {{token}}',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
  "priceId": "price_yyy",
  "quantity": 2,
  "boletoInstructions": null,
  "expirationAfterDueDate": null
})
};

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

Response Examples

200200 upgrade
{
  "success": true,
  "type": "UPGRADE",
  "chargeId": "cha_xxx",
  "prorataAmount": 33.5,
  "newAmount": 199.9
}
200200 downgrade
{
  "success": true,
  "type": "DOWNGRADE",
  "effectiveAt": "2024-02-01",
  "newAmount": 59.9
}
402402
{
  "code": "PAYMENT_DECLINED"
}
404404
{
  "code": "ITEM_NOT_FOUND"
}