Assinaturas

Adicionar Item

POST/v1/subscriptions/:subscriptionId/items
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

Adiciona um novo produto ou serviço a uma assinatura já existente.

Adicionar item à assinatura

CampoObrig.TipoDescrição
priceIdstringPreço do item
quantitynumber≥ 1 (default 1)
typestringRECURRING ONE_TIME (default RECURRING)
boletoInstructionsobjectPara assinaturas boleto
expirationAfterDueDatenumber0–60

Body

application/json

Content-Type:application/json
{
  "priceId": "price_xxx",
  "quantity": 1,
  "type": "RECURRING",
  "boletoInstructions": {
    "fine": 2.0,
    "interest": 1.0
  },
  "expirationAfterDueDate": 30
}

Schema

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

Headers

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

const options = {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer {{token}}',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
  "priceId": "price_xxx",
  "quantity": 1,
  "type": "RECURRING",
  "boletoInstructions": {
    "fine": 2.0,
    "interest": 1.0
  },
  "expirationAfterDueDate": 30
})
};

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

Response Examples

200200 cartão
{
  "success": true,
  "type": "ADD_ITEM",
  "chargeId": "cha_xxx",
  "amount": 49.9,
  "newAmount": 149.8
}
200200 PIX
{
  "success": true,
  "type": "ADD_ITEM",
  "paymentMethod": "PIX",
  "chargeId": "cha_xxx",
  "payment": {
    "emvQrCode": "..."
  }
}
402402
{
  "code": "PAYMENT_DECLINED",
  "error": "Cartão recusado"
}
400400
{
  "code": "SUBSCRIPTION_NOT_ACTIVE"
}