Billing V1
Entrypoint
{slug}
.{entrypoint}
.gateway.zup.me/billing/v1Nome da Organização (Slug)
Identificação do Ambiente da API
https://{slug}.dev.gateway.zup.me/billing/v1
https://{slug}.staging.gateway.zup.me/billing/v1
https://{slug}.gateway.zup.me/billing/v1
As solicitações devem ser feitas usando o protocolo HTTPS para que o tráfego seja criptografado. A interface responde a diferentes métodos dependendo da ação necessária.
Métodos HTTP disponíveis na API Billing v1:
Método | Ação |
---|---|
GET | Consultar Dados |
POST | Salvar/Criar Dados |
PUT | Atualizar Dados |
DELETE | Deletar/Inativar Dados |
Status | Descrição |
---|---|
200 OK | Indica que a requisição foi realizada com sucesso |
201 Created | Indica que o recurso foi criado com sucesso |
304 Not Modified | The requested resource has not been modified. |
400 Bad Request | Requisição inválida enviada pelo client (consumidor da API) |
401 Unauthorized | Os dados de autorização de acesso a API são inválidos |
403 Forbidden | Credenciais de acesso sem autorização de acesso ao recurso REST |
404 Not Found | Erro indicando que o recurso REST não foi encontrado ou não está disponivel |
Para fazer solicitações para a API a partir de outros domínios, a API implementa o suporte a Compartilhamento de Recursos de Origem Cruzada (CORS).
Suporte CORS geralmente é usado para criar solicitações AJAX fora do domínio de que o pedido foi originado. Isso é necessário para implementar projetos como painéis de controle que utilizam a API. Isso informa o navegador que ele pode enviar solicitações para um domínio externo.
O procedimento que o navegador inicia para executar essas ações (exceto solicitações GET) começa enviando uma solicitação “pré-vôo”. Isso define o Header Origin e usa o metodo OPTIONS. O servidor irá responder de volta com os métodos que permite e alguns dos limites que impõe. O cliente então envia a solicitação real se ele estiver dentro das restrições permitidas.
Esse processo geralmente é feito em segundo plano pelo navegador, mas você pode usar curl para emular esse processo usando o exemplo fornecido. Os cabeçalhos que serão definidos para mostrar as restrições são:
-
Access-Control-Allow-Origin : Este é o domínio que é enviado pelo cliente ou navegador como origem do pedido. É definido através de um Header Origin.
-
Access-Control-Allow-Methods : Especifica as opções permitidas para solicitações desse domínio. Isso geralmente será todos os métodos disponíveis.
-
Access-Control-Expose-Headers : Isso conterá os cabeçalhos que estarão disponíveis para pedidos do domínio de origem.
-
Access-Control-Max-Age : Este é o período de tempo que o acesso é considerado válido. Após a expiração, um novo pré-vôo deve ser enviado.
-
Access-Control-Allow-Credentials : Isso será definido como true. Ele basicamente permite que você envie seu token OAuth para autenticação.
Você não precisa se preocupar com os detalhes desses cabeçalhos, porque o navegador normalmente fará todo o trabalho para você.
Bem vindo a documentação da API Billing v1 do RealWave. Todo acesso as APIs é realizado através de conexões HTTPS criptografadas. A versão 1.0 da API é acessada através do subpath v1/. As funcionalidades do BIlling são disponibilizadas através de APIs, possibilitando a integração com outras soluções Esta documentação de API irá fornecer uma introdução geral do design e da tecnologia sobre a qual ela foi desenvolvida, além disso fornecerá informações de referência sobre endpoints especificos desta API.
Recurso que representa cartão de crédito no RealWave
{id}
{id}
{id}
Notes
Cadastra um novo cartão de crédito para um determinado cliente do RealWave.
Request parameters
Request headers
Request body
Número do cartão
Bandeira do cartão
Mês de vencimento
Ano de vencimento
Nome do titular
Código de segurança
Definir como cartão principal
Examples
Payload de request
{
"creditCard": {
"number": "4464787364928764",
"brand": "VISA",
"expirationMonth": "12",
"expirationYear": "2019",
"holder": "JOHN DOO",
"cvv": "782",
"main": true
}
}
Responses
Sucesso
Body
Examples
Payload de response com sucesso
{
"creditCard": {
"id": 6912,
"brand": "VISA",
"lastDigits": "8764",
"expirationMonth": "12",
"expirationYear": "2019",
"holder": "JOHN DOO",
"customerId": "fadc5428-5f79-4932-aa75-216f614a073a",
"main": true,
"active": true,
"locked": false
}
}
Payload inválido
Body
Examples
Payload de response com erro de negócio
{
"errors": [
{
"code": "CHA-114",
"message": "The date of credit card is invalid."
}
]
}
{id}
Detalha um cartão de crédito de um cliente no RealWave.
Path variables
Request parameters
Request headers
Responses
Sucesso
Body
Examples
Payload de response com sucesso
{
"id": 2226,
"brand": "VISA",
"bin": "446478",
"lastDigits": "8764",
"expirationMonth": "12",
"expirationYear": "2019",
"holder": "JOHN DOO",
"customerId": "73072bfbfadc5428-5f79-4932-aa75-216f614a073a",
"main": true,
"active": true,
"locked": false,
"reasonBlock": {},
"createdAt": "2017-01-19T17:55:56.957152",
"updatedAt": "2017-04-10T14:58:03.966096"
}
Nenhum cartão para exibir
Lista os cartões de crédito de um determinado cliente
Request parameters
Request headers
Responses
Sucesso
Body
Examples
Payload de response com sucesso
[{
"id": 2226,
"brand": "VISA",
"bin": "446478",
"lastDigits": "8764",
"expirationMonth": "12",
"expirationYear": "2019",
"holder": "JOHN DOO",
"customerId": "73072bfbfadc5428-5f79-4932-aa75-216f614a073a",
"main": true,
"active": true,
"locked": true,
"reasonBlock": {},
"createdAt": "2017-01-19T17:55:56.957152",
"updatedAt": "2017-04-10T14:58:03.966096"
}]
Nenhum cartão para exibir
{id}
Inativa um cartão de crédito no Billing do RealWave.
Path variables
Identificador único do cartão de crédito
Request parameters
Request headers
Responses
Body
Examples
{
"id": 2452,
"brand": "VISA",
"bin": "***",
"lastDigits": "9827",
"expirationMonth": "***",
"expirationYear": "***",
"holder": "João c c resende",
"customerId": "1c94d23d-150a-4d2c-ad97-c1d31dca4a25",
"main": true,
"active": true,
"locked": true,
"reasonBlock": {},
"createdAt": "2017-01-22T10:20:33.701585",
"updatedAt": "2017-03-06T01:50:44.004707"
}
{id}
Define o cartão de crédito principal de um cliente no Billing do RealWave.
Path variables
Identificador único do cartão de crédito
Request parameters
Request headers
Request body
Examples
{
"main": true
}
Responses
Body
Examples
{
"id": 3287,
"brand": "VISA",
"bin": "498442",
"lastDigits": "5941",
"expirationMonth": "***",
"expirationYear": "***",
"holder": "Margareth C R Silva",
"customerId": "59b1d523-a392-4513-a248-9bc435a5fa82",
"main": true,
"active": true,
"locked": true,
"reasonBlock": {},
"createdAt": "2017-02-03T12:23:23.703664",
"updatedAt": "2017-04-05T14:20:41.893124"
}
Recurso que representa uma assinatura de recorrência no RealWave
{id}
{id}
Criação de assinaturas com pagamento recorrente
Request parameters
Request headers
Request body
Nome/descrição da assinatura
Meio de pagamento a ser utilizado na recorrência
Valor da recorrência
Valor monetário
Moeda
Ciclo de faturamento
{
"recurringPeriod": "MONTH",
"recurringCycles": 1
}
Período da recorrência (DAY: a cada X dias, MONTH: a cada X meses, YEAR: a cada X anos)
Ciclo da recorrência (valor do X na configuração acima)
Data de início da recorrência (se omitido, calcula-se a partir de hoje + ciclo configurado. Se informado a primeira recorrência é cobrada naquela data, e as demais a partir da data informada + ciclo configurado)
Data para o fim da recorrência (se omitido, será cobrado até que a assinatura cancelada)
Se a assinatura é uma doação (pode ser utilizado para fins fiscais)
Lista de itens da assinatura
Código do item para uso do segmento
Nome do item
Preço do item
Quantidade do item
Código identificador único do item
URI do item
Campo customizável pelo segmento
{"customField": "customValue"}
Código externo para uso do segmento
Examples
Payload de request
{
"name": "Assinatura mensal revista quatro rodas",
"paymentMethod": "CREDIT_CARD",
"amount": {
"total": "12.90",
"currency": "BRL"
},
"billingCycle": {
"recurringPeriod": "MONTH",
"recurringCycles": 1,
"startDate": "2017-04-12"
},
"donation": true,
"products": [
{
"externalId": "REV-4RODAS-1",
"name": "Exemplar revista quatro rodas",
"price": "12.90",
"quantity": 1
}
],
"customFields": {}
}
Responses
Body
Examples
Payload de response com sucesso
{
"id": 1,
"externalId": null,
"name": "Assinatura mensal revista quatro rodas",
"paymentMethod": "DEBIT_REFILL",
"sellerAccount": {
"id": 1,
"organizationId": "getnet",
"applicationId": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
"name": "Nextel Digital",
"active": true,
"createdAt": "2016-11-19T22:30:54.619415"
},
"customerId": "b87e3f87-e21b-4c38-bvcd-872da17f765f",
"amount": {
"total": "12.90",
"currency": "BRL"
},
"billingCycle": {
"startDate": "2017-05-12",
"recurringPeriod": "MONTH",
"recurringCycles": 1,
"recurringEndDate": null
},
"customFields": null,
"donation": true,
"active": true,
"productItems": [
{
"id": 1,
"externalId": "REV-4RODAS-1",
"name": "Exemplar revista quatro rodas",
"price": 12.9,
"quantity": 1,
"sku": null,
"uri": null,
"customFields": null,
"createdAt": "2017-04-12T14:47:32.574993"
}
]
}
Erro de negócio
Body
Examples
Payload de response com erro de negócio
{
"errors": [
{
"code": "CHA-156",
"message": "Credit card main not found.."
}
]
}
Payload inválido
Body
Examples
Payload de response com erro de validação
{
"code": "CHA-171",
"message": "Invalid end date. It must be equal to or greater than startDate."
}
Lista assinaturas de um determinado cliente
Request parameters
Request headers
Responses
Sucesso
Body
Nenhuma assinatura para exibir
{id}
Detalha uma assinatura de um determinado cliente
Path variables
ID da assinatura
Request parameters
Request headers
Responses
Sucesso
Body
Nenhuma assinatura para exibir
{id}
Cancela uma determinada assinatura no Billing do RealWave.
Path variables
Identificador único da Assinatura
Request parameters
Request headers
Responses
Body
Examples
{
"id": 29508,
"externalId": null,
"name": "PLANO BASICO",
"paymentMethod": "CREDIT_CARD",
"sellerAccount": {
"id": 1,
"organizationId": "***",
"applicationId": "***",
"name": "Nextel Digital",
"active": true,
"createdAt": "2016-11-19T22:30:54.619415"
},
"customerId": "954448b4-4408-4312-82ac-e5bbdd181500",
"amount": {
"total": "7.99",
"currency": "BRL"
},
"billingCycle": {
"startDate": "2017-04-07",
"recurringPeriod": "DAY",
"recurringCycles": 7,
"recurringEndDate": null
},
"customFields": null,
"donation": true,
"active": true,
"createdAt": "2017-04-05T23:21:50.821986",
"updatedAt": "2017-04-05T23:30:58.035",
"productItems": [
{
"id": 73792,
"externalId": "2ffa44a9-d977-4297-b0a8-d76ce5257db0",
"name": "Aplicativo de Mensagens Semanal 7 Dias",
"price": 1,
"quantity": 1,
"sku": null,
"uri": null,
"customFields": null,
"createdAt": "2017-04-05T23:21:50.821986"
}
]
}
Recurso que representa uma operação de pagamento no RealWave
{id}
/reversalsRealiza um pagamento de compra avulsa (não recorrente)
Request parameters
Request headers
Request body
Meio de pagamento
Número do cartão
Bandeira do cartão
Mês de vencimento
Ano de vencimento
Nome do titular
Código de segurança
Valor da compra
Valor monetário
Moeda
Código do item
Descrição do item
Preço do item
Quantidade do item
Campo customizável pelo segmento
{"customField": "customValue"}
Desconto a ser aplicado no total da compra
{
"total": "1.00",
"currency": "BRL"
}
Valor monetário
Moeda
Examples
Payload de request
{
"payment": {
"method": "CREDIT_CARD",
"data": {
"creditCard": {
"number": "4464787364928764",
"brand": "VISA",
"expirationMonth": "12",
"expirationYear": "2019",
"holder": "JOHN DOO",
"cvv": "782"
}
}
},
"transaction": {
"amount": {
"total": "4.90",
"currency": "BRL"
},
"items": [
{
"code": "89882",
"description": "Exemplar revista quatro rodas do mês de Abril",
"price": "4.90",
"quantity": 1
}
]
},
"customFields": {},
"discount": {
"total": "1.00",
"currency": "BRL"
}
}
Responses
Sucesso
Body
Examples
{
"id": "8c216d10-9c61-426b-9784-11788a5323b0",
"customerId": "b87e3f87-e21b-4c38-bvcd-872da17f765f",
"amount": {
"total": "4.90",
"currency": "BRL"
},
"discount": {
"total": "0.00",
"currency": "BRL"
},
"createdAt": "2017-04-12T18:19:15.488979",
"recurrence": true,
"payment": {
"method": "CREDIT_CARD",
"provider": "Cielo",
"creditCard": {
"id": 1,
"brand": "VISA",
"bin": "446478",
"lastDigits": "8764",
"expirationMonth": "08",
"expirationYear": "2018",
"holder": "JOHN DOO",
"customerId": "c6e7fbce-8713-404d-b15a-31e36ee2995b",
"main": true,
"active": true,
"locked": true,
"reasonBlock": {},
"createdAt": "2017-04-12T18:19:08.02712",
"updatedAt": "2017-04-12T18:19:13.977937"
}
},
"items": [
{
"id": 34977,
"code": "89882",
"description": "Exemplar revista quatro rodas do mês de Abril",
"quantity": 1,
"price": "4.90"
}
],
"histories": [
{
"id": 99413,
"chargerTransactionId": "8c216d10-9c61-426b-9784-11788a5323b0",
"status": "CONFIRMING",
"reversalReason": {},
"amount": {
"total": "4.90",
"currency": "BRL"
},
"discount": {
"total": "0.00",
"currency": "BRL"
},
"createdAt": "2017-04-12T18:19:21.584426"
}
]
}
Requisição inválida
Body
Erro de negócio
Body
{id}
/reversalsEstorna um pagamento já realizado.
Path variables
Request parameters
Request headers
Request body
Responses
Sucesso
Body
Examples
{
"id": "8c216d10-9c61-426b-9784-11788a5323b0",
"customerId": "b87e3f87-e21b-4c38-bvcd-872da17f765f",
"amount": {
"total": "4.90",
"currency": "BRL"
},
"discount": {
"total": "0.00",
"currency": "BRL"
},
"createdAt": "2017-04-12T18:19:15.488979",
"recurrence": true,
"payment": {
"method": "CREDIT_CARD",
"provider": "Cielo",
"creditCard": {
"id": 1,
"brand": "VISA",
"bin": "446478",
"lastDigits": "8764",
"expirationMonth": "08",
"expirationYear": "2018",
"holder": "JOHN DOO",
"customerId": "c6e7fbce-8713-404d-b15a-31e36ee2995b",
"main": true,
"active": true,
"locked": true,
"reasonBlock": {},
"createdAt": "2017-04-12T18:19:08.02712",
"updatedAt": "2017-04-12T18:19:13.977937"
}
},
"items": [
{
"id": 34977,
"code": "89882",
"description": "Exemplar revista quatro rodas do mês de Abril",
"quantity": 1,
"price": "4.90"
}
],
"histories": [
{
"id": 99413,
"chargerTransactionId": "8c216d10-9c61-426b-9784-11788a5323b0",
"status": "CONFIRMING",
"reversalReason": {},
"amount": {
"total": "4.90",
"currency": "BRL"
},
"discount": {
"total": "0.00",
"currency": "BRL"
},
"createdAt": "2017-04-12T18:19:21.584426"
},
{
"id": 9941,
"chargerTransactionId": "8c216d10-9c61-426b-9784-11788a5323b0",
"status": "CONFIRMED",
"reversalReason": {},
"amount": {
"total": "4.90",
"currency": "BRL"
},
"discount": {
"total": "0.00",
"currency": "BRL"
},
"createdAt": "2017-04-12T18:19:21.584426"
},
{
"id": 679888,
"chargerTransactionId": "427aafe6-2368-4049-818f-8273627ed28a",
"status": "REVERSING",
"reversalReason": {
"code": "-",
"description": "Cliente desistiu da compra em até 7 dias."
},
"amount": {
"total": "4.90",
"currency": "BRL"
},
"discount": {
"total": "0.00",
"currency": "BRL"
},
"createdAt": "2017-04-12T15:31:57.09264"
},
{
"id": 679889,
"chargerTransactionId": "427aafe6-2368-4049-818f-8273627ed28a",
"status": "REVERSED",
"response": "",
"reversalReason": {
"code": "009",
"description": "Cliente desistiu da compra em até 7 dias"
},
"amount": {
"total": "4.90",
"currency": "BRL"
},
"discount": {
"total": "0.00",
"currency": "BRL"
},
"createdAt": "2017-04-12T15:31:58.461279"
}
]
}
Erro de negócio
Body
Examples
Payload de response com erro de negócio
{
"errors": [
{
"code": "CHA-151",
"message": "Amount higher than allowed. Transaction total: 4.90, already reversed: 4.90, available to reverse: 0.00"
}
]
}
Requisição inválida
Body
Recurso que representa uma transação de pagamento feita no RealWave
{id}
{id}
Detalha uma transação de pagamento avulso ou recorrente
Path variables
Request parameters
Request headers
Responses
Sucesso
Body
Examples
Payload de response
{
"id": "8c216d10-9c61-426b-9784-11788a5323b0",
"customerId": "b87e3f87-e21b-4c38-bvcd-872da17f765f",
"amount": {
"total": "4.90",
"currency": "BRL"
},
"discount": {
"total": "0.00",
"currency": "BRL"
},
"createdAt": "2017-04-12T18:19:15.488979",
"recurrence": true,
"payment": {
"method": "CREDIT_CARD",
"provider": "Cielo",
"creditCard": {
"id": 1,
"brand": "VISA",
"bin": "446478",
"lastDigits": "8764",
"expirationMonth": "08",
"expirationYear": "2018",
"holder": "JOHN DOO",
"customerId": "c6e7fbce-8713-404d-b15a-31e36ee2995b",
"main": true,
"active": true,
"locked": true,
"reasonBlock": {},
"createdAt": "2017-04-12T18:19:08.02712",
"updatedAt": "2017-04-12T18:19:13.977937"
}
},
"items": [
{
"id": 34977,
"code": "89882",
"description": "Exemplar revista quatro rodas do mês de Abril",
"quantity": 1,
"price": "4.90"
}
],
"histories": [
{
"id": 99413,
"chargerTransactionId": "8c216d10-9c61-426b-9784-11788a5323b0",
"status": "CONFIRMING",
"reversalReason": {},
"amount": {
"total": "4.90",
"currency": "BRL"
},
"discount": {
"total": "0.00",
"currency": "BRL"
},
"createdAt": "2017-04-12T18:19:21.584426"
}
]
}
Nenhuma transação para exibir
Lista transações de pagamento avulso ou recorrente
Request parameters
Data inicial do período
Data final do período
Meio de pagamento (CREDIT_CARD, DEBIT_CARD, BILLET)
Identificador do meio de pagamento
Status da transação. Pode ser um ou mais status
Request headers
Responses
Sucesso
Body
Nenhuma transação para exibir
Chave de autenticação da API
Id de Aplicação Interno do RealWave
ID do Cliente no RealWave
ID de rastreabilidade. Gerado pela app consumidora.
Identificador de tipo de mídia suportada pela API.
Chave de autenticação da API