Vai al contenuto

Soma um adicional ao plano em andamento

POST/api/subscriptions/{id}/add-ons

Auth
Richiede un token
X-CommunityId
X-CommunityId Invia l’X-CommunityId della community in cui avviene l’operazione.
Le descrizioni degli endpoint provengono dalla specifica dell’API e per ora sono in portoghese. L’interfaccia intorno è tradotta.

F-37. Cobra agora o proporcional da cotação (`/add-ons/quote`, mesmas regras e recusas) num pedido separado, e cria a assinatura do adicional ligada à do plano (`billedWithId`), com as datas do plano: a partir da próxima cobrança ele vem no mesmo pedido que o plano. Com o piso (`floorApplied`), nada é cobrado e o adicional já nasce ligado (`charged = false`). Pagamento: `paymentMethod` (obrigatório quando há valor a cobrar, senão 400 com `param = paymentMethod`) entre os aceitos pela opção do plano; `installments` até o `maxInstallments` da cotação, só no cartão; cartão salvo por `paymentMethodId` (do próprio membro, senão 404) ou cartão novo por `cardToken`; PIX e boleto devolvem `pixCode`/`qrCode` ou `boletoUrl`/`boletoBarcode`, e o adicional nasce quando o pagamento é confirmado. Cartão salvo aprovado na hora já devolve `subscriptionId` e `status = COMPLETED`; senão `status = PROCESSING`. Recusa do provedor responde 402, provedor fora do ar 502, como no checkout. Responde 201. Como no checkout, 403 (`param = id`) quando a comunidade não tem informações comerciais `APPROVED`, antes de cotar ou cobrar. Vale também para aceitar uma oferta de downsell, que compra o adicional por este mesmo caminho.

Parametri

NomeDoveTipoDescrizione
idobbligatoriopathstring (uuid)

Header

NomeTipoDescrizione
X-CommunityIdfacoltativostring (uuid)ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade.

Corpo della richiesta application/json

NomeTipoDescrizione
productIdobbligatoriostring (uuid)O adicional
paymentMethodfacoltativoCREDIT_CARD | DEBIT_CARD | PIX | BOLETO
installmentsfacoltativointeger≥ 1, ≤ 12
cardTokenfacoltativostringCartão novo, tokenizado no app
paymentMethodIdfacoltativostring (uuid)Cartão salvo do membro (/payment-methods)
customerDatafacoltativoobjectNome, e-mail, documento e telefone do pagador, como no checkout

Risposte

CodiceDescrizione
201Operação realizada com sucesso.
400Requisição inválida — falha de validação.
401Token ausente, inválido ou expirado.
402Requisição inválida — falha de validação.
403Autenticado, mas sem permissão para esta operação.
404Recurso não encontrado.
500Erro interno do servidor.

Esempio con curl

curl -X POST "https://api.memberfy.net/api/subscriptions/<id>/add-ons" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"productId":"00000000-0000-0000-0000-000000000000"}'