curl --request POST \
--url https://api.sandbox.z2pay.com/v1/subscriptions/{id}/pause \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"reasonDetails": "<string>",
"resumesAt": "2023-11-07T05:31:56Z"
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({reasonDetails: '<string>', resumesAt: '2023-11-07T05:31:56Z'})
};
fetch('https://api.sandbox.z2pay.com/v1/subscriptions/{id}/pause', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sandbox.z2pay.com/v1/subscriptions/{id}/pause"
payload = {
"reasonDetails": "<string>",
"resumesAt": "2023-11-07T05:31:56Z"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "sub_hsm2kigu74htdxj3nw2z6f9xw",
"number": {
"sequence": 42
},
"referenceCode": "CONTRATO-2026-0042",
"customerId": "cust_c72q6ogr9iko0we85mqal04te",
"customerEmail": "maria.silva@example.com",
"customerName": "Maria Silva",
"customerDocument": "12345678909",
"currency": "BRL",
"status": "paused",
"billingGroupId": null,
"currentPeriodStart": "2025-06-01T03:00:00.000Z",
"currentPeriodEnd": "2025-07-01T03:00:00.000Z",
"nextInvoiceAt": "2025-07-01T03:00:00.000Z",
"recurrence": {
"interval": 1,
"unit": "month",
"anchor": "day_of_month",
"anchorDay": 1,
"collectionTiming": "prepaid"
},
"collectionMethod": "charge_automatically",
"collectionTiming": "prepaid",
"invoiceGenerationMode": "just_in_time",
"cancelAtPeriodEnd": false,
"canceledAt": null,
"endedAt": null,
"cancellationReason": null,
"pausedAt": "2025-06-29T13:45:30.000Z",
"pauseResumesAt": "2025-08-29T03:00:00.000Z",
"pauseReason": "cust_request",
"trialEnd": null,
"incompleteExpiresAt": null,
"trialRemindersFired": [],
"maxCycles": null,
"issuedCycles": 1,
"completedCycles": 1,
"defaultPaymentMethodRef": {
"id": "crd_tsj66oabsygc9kwvvzt8189f9",
"type": "card"
},
"splitConfig": null,
"paymentBehavior": "allow_incomplete",
"latestInvoiceId": "inv_c3qahi4qnkc258lfc14gplupt",
"paymentUpdateToken": null,
"paymentUpdateMethods": null,
"metadata": {},
"createdAt": "2025-06-01T13:45:30.000Z",
"updatedAt": "2025-06-29T13:45:30.000Z"
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation failed",
"issues": [
{
"path": "status",
"message": "Status inválido. Valores aceitos: pending, waiting_payment, paid, refused, canceled, refunded"
},
{
"path": "startDate",
"message": "Data deve ser ISO 8601 com timezone (ex.: 2026-06-24T00:00:00Z)"
}
]
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid API key"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Subscription not found"
}
}{
"error": {
"code": "CONFLICT",
"message": "No refundable payment found"
}
}{
"error": "Idempotency key already used with a different request body"
}Pausar assinatura
Suspende a cobrança sem encerrar o contrato. O tempo parado é devolvido na retomada.
curl --request POST \
--url https://api.sandbox.z2pay.com/v1/subscriptions/{id}/pause \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"reasonDetails": "<string>",
"resumesAt": "2023-11-07T05:31:56Z"
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({reasonDetails: '<string>', resumesAt: '2023-11-07T05:31:56Z'})
};
fetch('https://api.sandbox.z2pay.com/v1/subscriptions/{id}/pause', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sandbox.z2pay.com/v1/subscriptions/{id}/pause"
payload = {
"reasonDetails": "<string>",
"resumesAt": "2023-11-07T05:31:56Z"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "sub_hsm2kigu74htdxj3nw2z6f9xw",
"number": {
"sequence": 42
},
"referenceCode": "CONTRATO-2026-0042",
"customerId": "cust_c72q6ogr9iko0we85mqal04te",
"customerEmail": "maria.silva@example.com",
"customerName": "Maria Silva",
"customerDocument": "12345678909",
"currency": "BRL",
"status": "paused",
"billingGroupId": null,
"currentPeriodStart": "2025-06-01T03:00:00.000Z",
"currentPeriodEnd": "2025-07-01T03:00:00.000Z",
"nextInvoiceAt": "2025-07-01T03:00:00.000Z",
"recurrence": {
"interval": 1,
"unit": "month",
"anchor": "day_of_month",
"anchorDay": 1,
"collectionTiming": "prepaid"
},
"collectionMethod": "charge_automatically",
"collectionTiming": "prepaid",
"invoiceGenerationMode": "just_in_time",
"cancelAtPeriodEnd": false,
"canceledAt": null,
"endedAt": null,
"cancellationReason": null,
"pausedAt": "2025-06-29T13:45:30.000Z",
"pauseResumesAt": "2025-08-29T03:00:00.000Z",
"pauseReason": "cust_request",
"trialEnd": null,
"incompleteExpiresAt": null,
"trialRemindersFired": [],
"maxCycles": null,
"issuedCycles": 1,
"completedCycles": 1,
"defaultPaymentMethodRef": {
"id": "crd_tsj66oabsygc9kwvvzt8189f9",
"type": "card"
},
"splitConfig": null,
"paymentBehavior": "allow_incomplete",
"latestInvoiceId": "inv_c3qahi4qnkc258lfc14gplupt",
"paymentUpdateToken": null,
"paymentUpdateMethods": null,
"metadata": {},
"createdAt": "2025-06-01T13:45:30.000Z",
"updatedAt": "2025-06-29T13:45:30.000Z"
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation failed",
"issues": [
{
"path": "status",
"message": "Status inválido. Valores aceitos: pending, waiting_payment, paid, refused, canceled, refunded"
},
{
"path": "startDate",
"message": "Data deve ser ISO 8601 com timezone (ex.: 2026-06-24T00:00:00Z)"
}
]
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid API key"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Subscription not found"
}
}{
"error": {
"code": "CONFLICT",
"message": "No refundable payment found"
}
}{
"error": "Idempotency key already used with a different request body"
}POST /subscriptions/:id/pause
Faz parte do recurso Assinaturas — o conceito e os dez estados estão lá.
Leva uma assinatura active ou past_due para paused. Durante a pausa nada é cobrado, e o
contrato continua existindo — é a alternativa ao cancelamento para quem vai voltar.
invoiceGenerationMode:just_in_time— elas são anuladas. A retomada recomeça o ciclo e gera uma fatura nova;upfront— elas são congeladas (suspended), preservando numeração e identificadores, e voltam ao calendário na retomada, deslocadas pelo tempo parado.
404.resumesAt agenda a volta. Com ele, a assinatura retorna sozinha na data indicada; sem ele, é
preciso chamar resume. A data tem de estar no futuro — passado
responde 409.active e past_due podem ser pausadas. Qualquer outro estado responde 409, inclusive
uma assinatura já pausada. reason e reasonDetails ficam registrados no histórico, para você
saber depois por que aquela pausa aconteceu.cancelAtPeriodEnd, ele
continua de pé. Para desfazê-lo, use uncancel.pauseReason da resposta aceita um valor a mais: admin_action. É o que aparece quando a
pausa partiu do painel, não da sua integração. O corpo desta rota não o aceita — ele só sai.Exemplo
curl -X POST https://api.sandbox.z2pay.com/v1/subscriptions/sub_x33m4yn6brazh71en4mki6f5c/pause \
-H "x-api-key: SUA_CHAVE_DE_SANDBOX" \
-H "Content-Type: application/json" \
-d '{
"reason": "traveling",
"reasonDetails": "Cliente pediu pausa de dois meses por viagem.",
"resumesAt": "2026-10-10T12:00:00Z"
}'
{
"id": "sub_x33m4yn6brazh71en4mki6f5c",
"status": "paused",
"pausedAt": "2026-08-10T17:30:00.000Z",
"pauseResumesAt": "2026-10-10T12:00:00.000Z",
"pauseReason": "traveling",
"currentPeriodEnd": "2026-09-10T12:00:00.000Z",
"nextInvoiceAt": "2026-09-10T12:00:00.000Z",
"updatedAt": "2026-08-10T17:30:00.000Z"
}
currentPeriodEnd e nextInvoiceAt não mudam na pausa — eles são deslocados na
retomada, quando já se sabe quanto tempo a assinatura ficou parada.Authorizations
API Key da Credential (gerada no Backoffice)
Headers
Chave única para garantir idempotência da requisição
Path Parameters
ID da assinatura
Body
Response
Assinatura pausada
Identificador único do registro.
Número do endereço.
Show child attributes
Show child attributes
Código do contrato no sistema do integrador; pesquisável, sem unicidade.
ID do cliente associado ao registro.
E-mail do cliente.
Nome do cliente.
Documento do cliente (CPF ou CNPJ).
Moeda no padrão ISO 4217 (ex.: BRL).
Status atual do registro (assinatura, fatura, plano ou slip de pagamento).
incomplete, incomplete_expired, trialing, active, past_due, unpaid, paused, canceled, completed ID do grupo de cobrança ao qual o registro pertence; nulo se não agrupado.
Início do período de cobrança atual da assinatura (ISO 8601).
Fim do período de cobrança atual da assinatura (ISO 8601).
Data e hora prevista para a próxima fatura da assinatura (ISO 8601).
Regra de recorrência (intervalo, unidade e âncora do ciclo).
Show child attributes
Show child attributes
Como a fatura é cobrada. Hoje só a cobrança automática na forma de pagamento padrão.
charge_automatically Momento da cobrança do ciclo: prepaid (no início) ou postpaid (no fim).
prepaid, postpaid Modo de geração de faturas: just_in_time (a cada ciclo) ou upfront (todas antecipadas).
just_in_time, upfront Indica se a assinatura será cancelada ao fim do período atual.
Data e hora do cancelamento; nula se não cancelado (ISO 8601).
Data e hora em que a assinatura foi efetivamente encerrada; nula se ainda ativa (ISO 8601).
Motivo do cancelamento da assinatura.
Data e hora em que a assinatura foi pausada; nula se não pausada (ISO 8601).
Data e hora agendada para a retomada automática da assinatura pausada (ISO 8601).
Motivo da pausa da assinatura.
Data e hora de término do período de teste; nula se sem trial (ISO 8601).
Prazo para concluir o primeiro pagamento antes de a assinatura incompleta expirar (ISO 8601).
Lembretes de fim do período de teste já disparados para a assinatura.
Número máximo de ciclos da assinatura; nulo se não houver limite.
Número de ciclos já faturados (faturas emitidas) da assinatura.
Número de ciclos já concluídos (pagos) da assinatura.
Referência da forma de pagamento padrão usada para cobrar a assinatura.
Show child attributes
Show child attributes
Configuração de divisão (split) dos valores entre recebedores; nula se sem split.
O que fazer quando a primeira cobrança não é aprovada: allow_incomplete cria a assinatura com a fatura em aberto; error_if_incomplete cancela a assinatura.
allow_incomplete, error_if_incomplete ID da fatura mais recente gerada pela assinatura.
Token do link público para o cliente atualizar a forma de pagamento; nulo se não gerado.
Formas de pagamento permitidas no link público de troca; nula se não habilitada.
Metadados livres (pares chave-valor) para uso do integrador; não afeta o processamento.
Data e hora de criação do registro (ISO 8601).
Data e hora da última atualização do registro (ISO 8601).