-
Notifications
You must be signed in to change notification settings - Fork 1
Pagamentos
Documentação dos fluxos de pagamentos
Nesse contexto vamos aderir as nomenclaturas:
- Conta para a conta criada na API
- Cliente para a conta criada no Stripe
POST /api/v1/graphql allDjstripePrice
- Criar a conta
POST /api/v1/graphql CreateUpdateAccount
- O cliente no stripe é criado após a conta no backend
- O cliente no stripe não é criado após a conta no backend
- Enviar mensagem de erro para o responsável
- Criar um cliente no stripe via endpoint
POST /payment/customer/<account_id>
- Atualizar os dados do cliente
PUT /payment/customer/<account_id>
- Criar uma inscrição vinculada a um preço
POST /payment/subscription/
POST /payment/customer/<account_id>/subscription/
DELETE /payment/subscription/<subscription_id>
DELETE /payment/customer/<account_id>/subscription/<subscription_id>
POST /payment/customer/<account_id>/subscription/<subscription_id>
DELETE /payment/customer/<account_id>/subscription/<subscription_id>
Documentação dos recursos de pagamento
POST /payment/customer/<account_id>
{
"account_id": "...",
"email": "...",
"address": {
"line1": "Rua Augusta, 100",
"city": "São Paulo",
"state": "SP",
"country": "BR",
"postal_code": "01304-000",
}
}
PUT /payment/customer/<account_id>
{
"account_id": "...",
"email": "...",
"address": {
"line1": "Rua Augusta, 100",
"city": "São Paulo",
"state": "SP",
"country": "BR",
"postal_code": "01304-000",
}
}
POST /payment/subscription/
POST /payment/customer/<account_id>/subscription/
{
"account_id": "...",
"price_id": "..."
}
{
"subscription_id": "...",
"client_secret": "..."
}
DELETE /payment/subscription/<subscription_id>
DELETE /payment/customer/<account_id>/subscription/<subscription_id>
POST /payment/customer/<account_id>/subscription/<subscription_id>
{
"account_id": "...",
"subscription_id": "..."
}
DELETE /payment/customer/<account_id>/subscription/<subscription_id>
- Autenticar
- Inscrever/cancelar inscrição
- Adicionar/remover colaborador
Stripe: Build a subscription integration
sequenceDiagram
participant Frontend
participant Backend
participant Stripe
Frontend->>Backend: Criar conta
Note right of Frontend: POST /api/v1/graphql CreateUpdateAccount
Backend->>Backend: Criar conta
Backend-->>Frontend: Retornar conta
loop Cliente não criado
Frontend->>Backend: Criar cliente
Note right of Frontend: POST /payment/customer/<account_id>
Backend->>Stripe: Criar cliente
Stripe-->>Backend: Retornar cliente se existir
Backend-->>Frontend: Retornar cliente se existir
end
sequenceDiagram
participant Frontend
participant Backend
participant Stripe
loop Inscrição não criada
Frontend->>Backend: Criar inscrição
Note right of Frontend: POST /payment/customer/<account_id>/subscription/
Backend->>Stripe: Criar inscrição
Stripe-->>Backend: Retornar inscrição se existir
Backend-->>Frontend: Retornar inscrição se existir
end