Skip to main content
POST
Atualizar forma de pagamento da assinatura
POST /subscriptions/:id/payment-method Faz parte do recurso Assinaturas — o conceito e os dez estados estão lá. Troca a forma de pagamento padrão da assinatura. É também a única rota que tira uma assinatura de incomplete.
A rota faz duas coisas diferentes, conforme o estado.Em assinatura ativa, ela troca o meio de cobrança. Se for cartão novo, ele é validado com uma cobrança de R$ 1,23 estornada na hora — recusado, a chamada responde 409 e a forma anterior é mantida.Em assinatura incomplete, ela ativa a assinatura e emite a primeira fatura imediatamente. Aqui não há cobrança de validação: quem valida o cartão é a própria fatura. Recusado, a assinatura continua incomplete.
As três formas de informar:
  • cartão novo — tokenize com o Tokenizer SDK e envie o tok_ em token. O cartão é salvo na carteira do cliente antes de virar o padrão;
  • cartão já salvo — envie o crd_ em cardId. Se não pertencer ao cliente da assinatura, responde 409;
  • PIX ou boleto — só o type, sem token nem cardId.
A rota tem limite de 20 chamadas por minuto na conta. Cada cartão novo dispara uma validação real na adquirente, e sem o limite uma chave vazada viraria oráculo para testar cartões roubados. Uma troca de forma de pagamento legítima nunca chega perto disso.
Assinatura em estado terminal recusa a troca. canceled, completed e incomplete_expired respondem 409 — não há cobrança futura para configurar.
O link hospedado é outra coisa. A Z2Pay hospeda uma página em que o cliente final troca o próprio cartão, sem passar pela sua integração. Ela não serve para ativar uma incomplete. Ver Faturas.

Exemplo

Resposta 200
O crd_ da resposta é o cartão materializado a partir do tok_ enviado — o token é efêmero, o cartão salvo é permanente. O exemplo está abreviado; o playground mostra o corpo inteiro.

Authorizations

x-api-key
string
header
required

API Key da Credential (gerada no Backoffice)

Headers

Idempotency-Key
string

Chave única para garantir idempotência da requisição

Path Parameters

id
string
required

ID da assinatura

Body

application/json
paymentMethod
object
required

Response

Forma de pagamento atualizada

id
string

Identificador único do registro.

number
object

Número do endereço.

referenceCode
string | null

Código do contrato no sistema do integrador; pesquisável, sem unicidade.

customerId
string

ID do cliente associado ao registro.

customerEmail
string

E-mail do cliente.

customerName
string

Nome do cliente.

customerDocument
string

Documento do cliente (CPF ou CNPJ).

currency
string

Moeda no padrão ISO 4217 (ex.: BRL).

status
enum<string>

Status atual do registro (assinatura, fatura, plano ou slip de pagamento).

Available options:
incomplete,
incomplete_expired,
trialing,
active,
past_due,
unpaid,
paused,
canceled,
completed
billingGroupId
any | null

ID do grupo de cobrança ao qual o registro pertence; nulo se não agrupado.

currentPeriodStart
string<date-time>

Início do período de cobrança atual da assinatura (ISO 8601).

currentPeriodEnd
string<date-time>

Fim do período de cobrança atual da assinatura (ISO 8601).

nextInvoiceAt
string<date-time> | null

Data e hora prevista para a próxima fatura da assinatura (ISO 8601).

recurrence
object

Regra de recorrência (intervalo, unidade e âncora do ciclo).

collectionMethod
enum<string>

Como a fatura é cobrada. Hoje só a cobrança automática na forma de pagamento padrão.

Available options:
charge_automatically
collectionTiming
enum<string>

Momento da cobrança do ciclo: prepaid (no início) ou postpaid (no fim).

Available options:
prepaid,
postpaid
invoiceGenerationMode
enum<string>

Modo de geração de faturas: just_in_time (a cada ciclo) ou upfront (todas antecipadas).

Available options:
just_in_time,
upfront
cancelAtPeriodEnd
boolean

Indica se a assinatura será cancelada ao fim do período atual.

canceledAt
any | null

Data e hora do cancelamento; nula se não cancelado (ISO 8601).

endedAt
any | null

Data e hora em que a assinatura foi efetivamente encerrada; nula se ainda ativa (ISO 8601).

cancellationReason
any | null

Motivo do cancelamento da assinatura.

pausedAt
any | null

Data e hora em que a assinatura foi pausada; nula se não pausada (ISO 8601).

pauseResumesAt
any | null

Data e hora agendada para a retomada automática da assinatura pausada (ISO 8601).

pauseReason
any | null

Motivo da pausa da assinatura.

trialEnd
any | null

Data e hora de término do período de teste; nula se sem trial (ISO 8601).

incompleteExpiresAt
any | null

Prazo para concluir o primeiro pagamento antes de a assinatura incompleta expirar (ISO 8601).

trialRemindersFired
any[]

Lembretes de fim do período de teste já disparados para a assinatura.

maxCycles
integer | null

Número máximo de ciclos da assinatura; nulo se não houver limite.

issuedCycles
integer

Número de ciclos já faturados (faturas emitidas) da assinatura.

completedCycles
integer

Número de ciclos já concluídos (pagos) da assinatura.

defaultPaymentMethodRef
object

Referência da forma de pagamento padrão usada para cobrar a assinatura.

splitConfig
any | null

Configuração de divisão (split) dos valores entre recebedores; nula se sem split.

paymentBehavior
enum<string>

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.

Available options:
allow_incomplete,
error_if_incomplete
latestInvoiceId
string

ID da fatura mais recente gerada pela assinatura.

paymentUpdateToken
any | null

Token do link público para o cliente atualizar a forma de pagamento; nulo se não gerado.

paymentUpdateMethods
any | null

Formas de pagamento permitidas no link público de troca; nula se não habilitada.

metadata
object

Metadados livres (pares chave-valor) para uso do integrador; não afeta o processamento.

createdAt
string<date-time>

Data e hora de criação do registro (ISO 8601).

updatedAt
string<date-time>

Data e hora da última atualização do registro (ISO 8601).

items
object[]

Itens que a assinatura cobra.