Escolar Documentos
Profissional Documentos
Cultura Documentos
ponto-chave. Para colocar essa caixa de texto em qualquer lugar na página, basta arrastá-la.]
ESPECIFICAÇÃO
CRED-HELP: 0002/2023
CRED-HELP: 0002/2023
VERSÕES:
2
Página
4
Página
Item Descrição
(Ambiente) UAT User Acceptance Testing
(Ambiente) Hml Homologação
Acordo Tela de pagamento do link
Chave Chave única de composição e operação para acesso ao link
ReferenceId Chave única da operação para consultas
Token de Acesso Token Bearer usado para autenticar as chamadas na API.
1 – AUTENTICAÇÃO
A API funciona com autenticação modelo bearer. Obtém se um token de acesso e este é adicionado
as chamadas dos métodos da API.
A autenticação deve ser realizada antes de qualquer chamada. Ela dura 60 minutos. Portanto o token
pode ser reaproveitado em várias chamadas. Uma vez obtido o token deve ser acoplado a chamada
no header.
A seguir vamos entender o processo de como obter o token, efetuando um post na URL:
Ambiente URL
HML/UAT https://api-homolog.credpay.com.br/AuthCredPay
PROD https://api.credpay.com.br/AuthCredPay
Observação: Os dados de usuário e chave serão criados pela nossa equipe para acesso em ambiente
UAT/homologação e passados para a sua equipe. Este User e senha acima são apenas exemplos e
não é válido para a sua homologação.
{
"User": "UAT",
"Key": "QAWSEDRFTG",
"grant_type": "password"
}
Em caso de teste no POSTMAN, enviar para autenticação usando x-www-form-URLencoded.
JSON Retornado
5
{
Página
"access_token": "<token(string>",
"token_type": "bearer",
Postman
2 – PRÉ OPERAÇÃO
Pode ser considerada um pedido para pagamento de serviço, compra ou pagamento de uma conta.
Por exemplo, o estabelecimento vendeu um celular a um cliente por R$ 2.000,00 e o cliente deseja
pagar em mais de uma vez. O estabelecimento efetua uma consulta de um pagamento para os R$
2.000,00 e apresenta um simulador de valores e quantidade de parcelas. O cliente escolhe que
deseja pagar em 5 parcelas e o estabelecimento via o seu sistema faz a chamada à API da Credpay e é
criado a operação com os dados do cliente, tais como, nome, documento, e-mail, telefone (fixo e ou
celular), número de contrato, dentre outros.
Após efetivar a criação desta pré-operação, ela é armazenada em nosso ambiente e o cliente recebe
um link de pagamento para quitar a operação. Neste modelo o cliente acessa uma tela e faz o
pagamento da operação.
Existe a possiblidade de que o estabelecimento faça todo o processo de pagamento via API Credpay,
que estaremos em tópicos adiante descrevendo os checkouts para isto.
6
Página
Com Link:
2.1 – Simulação
Antes da criação de uma operação, a simulação é o primeiro passo para escolha, forma e como
será o pagamento ao cliente. Em resumo, será apresentada as opções para o cliente escolher.
O endpoint de simulação é:
Ambiente URL
HML/UAT https://api-homolog.credpay.com.br/Simulador/Simular/Parcelamento
PROD https://api.credpay.com.br/Simulador/Simular/Parcelamento
Onde <token> é exatamente o token recebido na autenticação da API (item 1 deste documento). É
Página
JSON de Entrada
{
"valorPrincipal": 2000.00,
"valorHonorarios": 0,
"servicoId": 1
}
O Retorno virá:
{
"retorno": {
"simulacaoParcelas": [
{
"parcela": 1,
"servicoId": 1,
"existeRentencao": false,
"valor": 1057.8,
"valorLiquido": 0,
"valorDaParcelaFixa": 1000,
"tipoOperacao": "Crédito",
"tipoOperacaoId": 2,
"valorTotal": 1057.8,
"valorRetencao": 0,
"taxaFixa": 5.78,
"taxaMensal": 5.78,
"taxaCobrada": 5.78
}
8
],
Página
"principal": 1000,
"valorRetencao": 0,
O Campo de SimulacaoParcelas é um array de dados. Aqui no exemplo ilustrado ele foi resumido.
Vamos apresentar os mais importantes:
• Campo retorno: é o objeto de retorno da solicitação
• statusCode: Se tudo OK, virá com o valor de 200 (OK) ou 201 (Created).
• valid/invalid: indicam validação. Pode usar o retorno de valid como true para entender que o
procedimento foi ok. Caso contrário a propriedade ERROS mostrará as inconsistências.
• erros: array de mensagens que tem os erros e ou inconsistências encontradas.
Campo Descrição
parcela Quantidade de parcelas
servicoId Id do serviço
existeRentencao Se existe retenção – campo usado em parcelamento sem jutos e ou quando o
estabelecimento arca com os custos do parcelamento.
valor Valor total a ser passado no cartão
valorDaParcelaFixa Valor da parcela Fixa (sem o valor dos encargos)
Exemplo R$ 1.000,00 em 5X de R$ 110,00 por parcela. O valor da parcela fixa
será de R$ 100,00 (pois R$ 10,00 é o valor dos encargos)
tipoOperacao Descrição do tipo de operação (Crédito ou débito)
tipoOperacaoId ID do tipo => 1 para Crédito, 2 para Débito
valorTotal Valor total a ser passado no cartão (Valor da Parcela X Quantidade de parcelas)
valorRetencao Em caso de valor de parcela fixa, onde o estabelecimento arca com as taxas de
financiamento, este valor é o valor de desconto no repasse da venda
taxaFixa Valor da taxa aplicada no financiamento (% do valor principal em relação ao
valor total com encargos cobrados)
taxaMensal Valor da taxa ao mês do financiamento
Ambiente URL
HML/UAT https://api-homolog.credpay.com.br/Operacao/EfetivarPreOperacao
9
PROD https://api.credpay.com.br/Operacao/EfetivarPreOperacao
Página
No postman:
O valor cobrado dependerá das taxas aplicadas que serão calculadas pela soma do (valor inicial + custo
adquirencia). Por exemplo, um débito de R$ 2.000,00 em 5 parcelas e considerando hipoteticamente uma
taxa de 10% para este prazo, o valor total desta transação seria de R$ 2.200,00 dividida em 5 parcelas iguais
de R$ 440,00.
Portanto, o método de simulação visa demonstrar o valor da transação composta dos encargos.
Fatos importantes:
JSON Retornado
{
"retorno": {
"link":"https://link.credpay.com.br/Pagamentos/Acordo/2922c75c-8d90-4277-94fd-907c89a8b479",
"chave": "2922c75c-8d90-4277-94fd-907c89a8b479",
"referenceId": "CP-COYOEWQQ7Y",
"nomeDoCliente": "Nome Cliente",
"eMail": "teste.teste@credpay.com.vc"
}
"statusCode": 200,
"erros": [],
11
"codigoMessagem": 0,
"messagem": null,
Página
"valid": true,
"invalid": false,
"warning": false
}
O link expira após X dias depois de ter sido gerado. Esse número de dias é configurável. E por
padrão é de dois dias. Se um link foi criado dia 23 de maio as 12h23, ele expira dia 25 de maio as
12h22. Ou seja, é considerado o Horário.
Havendo necessidade de cancelar uma pré-operação, existe dois endpoints que podem ajudar
nesta tarefa, a chave da PreOperação (uma string tipo GUID) ou o campo de Reference Id e se faz
necessário fazer uma chamada a um endpoint
Por Reference Id
Ambiente URL
HML/UAT https://api-homolog.credpay.com.br/Operacao/Cancel/ReferenceId/{referenceId}
PROD https://api.credpay.com.br /Operacao/Cancel/ReferenceId/{referenceId}
Tipo do Método: DELETE
Por Chave
Ambiente URL
HML/UAT https://api-homolog.credpay.com.br/Operacao/Cancel/Chave/{chave}
PROD https://api.credpay.com.br/Operacao/Operacao/Cancel/Chave/{chave}
Tipo do Método: DELETE
JSON Retornado
{
"retorno": “<mensagem de cancelado com sucesso>”
"statusCode": 200,
"erros": [],
"codigoMessagem": 0,
"messagem": null,
"valid": true,
"invalid": false,
"warning": false
}
Caso haja erros, observar a propriedade Valid que será como false. E o Array de erros na propriedade “erros”.
3 – FLUXO DE CHECKOUT
O Fluxo de checkout é composto por um ciclo de chamadas na API composto pela autorização e
seguido pela captura.
12
Dentro do fluxo podemos usar algumas chamadas a respeito de validar a autenticação, como a
verificação do cartão.
Página
Nos casos de pagamento via token, recorrências, e checkout transparente é solicitado um campo
opcional chamado soft descriptor.
Este campo permite que o EC envie um texto alternativo de até 22 caracteres ao Nome Fantasia
cadastrado na Adquirente para demonstração da transação na fatura do Portador.
Como exemplo, pode-se ter o nome do Estabelecimento Comercial que está no cadastro da
Adquirencia mais o nome do intermediador que está recebendo o pagamento ou a identificação
do departamento da loja, sempre usando como delimitador o caractere asterisco (*).
Caso não seja informado um Soft Descriptor, será utilizado o Nome Fantasia do cadastro do
Subdomínio junto a Credpay.
ç (c cedilha)
• qualquer caracteres especiais, como estes: ! ? : ; [ ] { } ' " # _ @ § ^ ~ ¨ \ < > & ¹ ² ³ ª º £ ¢ ¬
Página
A autorização pode ser variada, podendo ser Com ou Sem 3DS. Ou seja, se você usar o 3DS, terá
de efetuar algumas tarefas a mais sem a necessidade de fazer a captura.
Com o objetivo de minimizar o índice de fraude sem prejudicar a taxa de conversão, a indústria
de meio de pagamento desenvolveu um padrão de autenticação, chamado EMV 3DS ou
também chamado de 3DS 2.0.
Antes, o 3DS 1.0, sempre era com desafio, ou seja, mandava-se a autorização para a
adquirente e esta devolvia um link do emissor para se autenticar e assim desta forma
validando o pagamento e identificando. Com a versão 2.0 ficou um pouco mais ágil e
transparente.
A nova versão é capaz de analisar dezenas de variáveis que são utilizadas como critérios para
determinar se um comprador é de fato o portador cartão, permitindo em alguns casos, a
autenticação silenciosa do mesmo (autenticação sem desafio), sem prejuízo à questão do
Liability Shift dos estabelecimentos.
Para envio de transações com pedido de autenticação 3DS 2.0 é fundamental que a
Adquirente, Emissor e Bandeira estejam prontos com a solução. As principais bandeiras do
mercado, tais como, Visa, Mastercard e Elo já estão disponíveis no 3DS 2.0. As bandeiras Visa e
Mastercard possuem um modelo de Stand-In, caso o Emissor ainda não esteja apto a
responder um pedido de autenticação usando EMV 3DS 2.0. Nesse cenário, a bandeira avalia
os dados enviados, como por exemplo o histórico comportamental do cliente e transacional,
classificando os pedidos de autenticação como “Baixo Risco” e “Não Baixo Risco”. A partir
dessas informações, os Emissores poderão contar com uma proteção mesmo não possuindo
uma solução própria de 3DS 2.0, e terão uma maior confiança nas transações autenticadas. Em
casos de Stand-In, a autenticação ocorre de forma silenciosa (sem desafio para o portador) e,
uma vez que a transação foi autenticada, o liability em caso de fraude ficará com o Emissor. A
decisão de autorizar ou não a transação é do Emissor. Em transações autenticadas pela
14
bandeira, a decisão de autorizar ou não a transação ainda é do Emissor, que pode negar as
Página
"Acquirer": null,
"AcquirerTransactionId": null,
Página
"Nsu": null,
"Sucesso": true
Neste caso você deve recuperar o conteúdo do URLRedirect e redirecionar para este link, para
que seja pago.
No momento não temos call-back, então se faz necessário efetuar consulta do status da
transação usando o valor do referenceId.
No postman:
16
Página
Dados de Entrada
{
"nomeDoCliente": "Joao da Silva",
"documento": "12489877852",
"email": "joao.silva@credpay.com.br",
"telefone": "11-0000-0000",
"celular": "11-00000-0000",
"lojaId": 1,
"servicoId": 1,
"codigoDeBarras": "",
"contrato": "147852",
"contato": "José Pereira",
"credor": "Empresa XPTO",
"descricaoServico": "Compra de Tickets para Show",
"quantidadeDeParcelas": 5,
"custoConveniencia": 0,
"valorInicial": 1000,
"softDescriptor": "XPTO*PAGAMENTO",
"numeroInterno": "12785",
"typeCard": "1",
"number": "40000000000000000",
"expirationMonth": "12",
"expirationYear": "2029",
"cvv": "235",
"brand": "Visa",
"holderName": "Joao Da Silva",
"holderNameDocumento": "12587488952"
}
Os campos são TODOS obrigatórios, com exceção do código de barras, obrigatório só se existir
um boleto a ser pago, a loja id, que pode vir por padrão 1, ou não ser enviado e o campo
telefone e ou celular que podem ser replicados, ou seja valores iguais para ambos. E o campo
de credor, pode ser omitido.
Campo Descrição
nomeDoCliente Nome do Cliente na operação
17
Retorno do pagamento
{
"TransacaoId": "010000005105241324070000066790990000000000",
"Cliente": null,
"Documento": null,
"Token": null,
"DataTransacao": "0001-01-01T00:00:00",
"Status": 5,
"ValorDaVenda": 100.0,
"ValorDaParcela": 21.41,
"QuantidadeDeParcelas": 5,
"DescricaoStatus": "Transação Autorizada;",
"ReferenceId": "CP-KHORORTKWF",
"URLRedirect": "",
"AuthenticationURL": "",
18
"SubDominioId": 28,
"URLRedirectFinal": "",
Página
"URLReturn": null,
"CodeAuthorization": "006087",
Pontos importantes:
• Campo retorno: é o objeto de retorno da solicitação
• statusCode: Se tudo OK, virá com o valor de 200 (OK) ou 201 (Created).
• valid / invalid: indicam validação. Pode usar o retorno de valid como true para entender
que o procedimento foi ok. Caso contrário a propriedade ERROS mostra as
inconsistências.
• erros: array de mensagens que tem os erros e ou inconsistências encontradas.
Por padrão deixamos o 3DS habilitado para que tenhamos um passo a mais de segurança. Porém,
é importante verificar com nossa equipe se haverá a utilização Com ou Sem 3DS.
3.5 – Captura
A captura é apenas a confirmação da transação autorizada e significa que o cliente tem saldo
disponível no cartão para o concluir a transação.
Muitas lojas apenas autorizam a transação de início para fazerem uma “investigação” do cliente e
dos dados para prevenir-se contra fraudes. Após confirmação da veracidade da pesquisa, a
transação é capturada.
Ressaltamos que isto é um risco para a transação apenas autorizada, uma vez que ela não
19
Por isso, recomendamos que ao autorizar seja efetuada na sequência a captura da transação.
Key: "Authorization"
Value: "Bearer <token obtido>"
“Authorization”: “Bearer <token>”
Onde <token> é exatamente o token recebido na autenticação da API (item 1 deste
documento). É importante adicionar o token, ou a API devolverá erro 401, não autorizado.
No postman:
O retorno da Captura é:
{
20
"TransacaoId": "adc50dca-c8a4-4b44-9e5a-95cfd172912e",
"Cliente": "ab02 sobrenome",
Página
"Documento": "62963022077",
"Token": null,
Observação: No uso de 3Ds nas operações os métodos de captura e autorização são diferentes.
Pontos importantes:
• Campo retorno: é o objeto de retorno da solicitação
• statusCode: Se tudo OK, virá com o valor de 200 (OK) ou 201 (Created).
• valid / invalid: indicam validação. Pode usar o retorno de valid como true para entender
que o procedimento foi ok. Caso contrário a propriedade ERROS mostra as
inconsistências.
• erros: array de mensagens que tem os erros e ou inconsistências encontradas.
Esse método pode ser usado apenas no dia corrente, ou seja, no dia que a transação foi efetuada.
Em caso de cancelamento TOTAL após a data da transação deverá entrar em contato com o
Financeiro da Credpay.
No postman:
21
Página
Exemplo do retorno:
{
"TransacaoId": "62fd3418eb07294ddc8729c9",
"Cliente": "JOAO DA SILVA ",
"Documento": "12457899632",
"Token": null,
"DataTransacao": "2022-05-24T15:16:23.7588911-03:00",
"Status": 9,
"DescricaoStatus": "Transação Cancelada;",
"ReferenceId": "CP-3iXACWq3",
"Sucesso": true
}
Pontos importantes:
• Campo retorno: é o objeto de retorno da solicitação
• statusCode: Se tudo OK, virá com o valor de 200 (OK) ou 201 (Created).
• valid / invalid: indicam validação. Pode usar o retorno de valid como true para entender que o
procedimento foi ok. Caso contrário a propriedade ERROS mostra as inconsistências.
• erros: array de mensagens que tem os erros e ou inconsistências encontradas.
O cancelamento parcial de uma transação é feito quando se deseja estornar um valor diferente
do valor total da transação. Por exemplo, o hotel fez uma pré-autorização de R$ 1.000,00 na
reserva do cliente, onde o valor estimado da transação cobre a diária e demais gastos. Ao realizar
o fechamento da estadia o cliente deve R$ 750,00. Neste caso, o cancelamento parcial permite
22
que seja estornado um valor parcial de R$ 250,00 dos R$ 1.000,00 previamente reservados.
Página
No postman:
JSON de entrada
{
"transactionId": "5c4d4a2f-c151-4ccf-abeb-3aa32a94a9fd",
"amount": "1000"
}
23
Página
No Postman, o post deve ser feito com o body, modo raw, e formato JSON.
Pontos importantes:
• Campo retorno: é o objeto de retorno da solicitação
• statusCode: Se tudo OK, virá com o valor de 200 (OK) ou 201 (Created).
• valid / invalid: indicam validação. Pode usar o retorno de valid como true para entender
que o procedimento foi ok. Caso contrário a propriedade ERROS mostra as
inconsistências.
• erros: array de mensagens que tem os erros e ou inconsistências encontradas.
O resultado esperado é:
{
"transactionId": "5c4d4a2f-c151-4ccf-abeb-3aa32a94a9fd",
"mensagem": "Cancelamento parcial solicitado com sucesso",
"valor": 10.0,
"subdominioId": 873
}
24
Página
A Tokenização é o meio de guardar cartões no cofre e poder reutilizar eles em outras oportunidades.
O caso de cancelar uma transação tokenizada segue o método de cancelamento já descrito acima na seção 3.6.
No postman:
25
HML/UAT https://api-homolog.credpay.com.br/Tokenizacao/CriarToken
PROD https://api.credpay.com.br/Tokenizacao/CriarToken
No caso do telefone celular/fixo eles podem ser replicados e ou iguais sem problemas.
Para a recorrência, é obrigatório a quantidade de vezes da recorrência, valor inicial, valor a cobrar
e a data. Deverá ser enviado custo como 0,00 caso não haja valor a cobrar e a data. Não sendo
para uma cobrança recorrente, pode omitir estes campos.
JSON de entrada
{
"nomeDoCliente": "string",
"documento": "string",
"email": "string",
"telefone": "string",
"celular": "string",
"typeCard": "string",
"number": "string",
"expirationMonth": "string",
"expirationYear": "string",
"cvv": "string",
"brand": "string",
26
"custoConveniencia": 0,
"valorInicial": 0,
Página
"quantidadeVezesRecorrencia": 0,
Retorno:
Retorno Tipo Contexto/Conteúdo
tokenizacaoId Id interno do token em nossa base - desconsiderar
subDominioId Id do subdomínio do estabelecimento
clienteVendaId Id interno do cliente em nossa base – desconsiderar
bandeira Bandeira do cartão
Bin Bin do cartão para uso e exibição
tokenId Token. Id do token a ser guardado e para pagar operações. Com
isto recuperamos os dados do cartão do cliente e pagamos.
referenceId Número de referência
cpfCnpj CPF ou CNPJ do cliente
valor Valor total da recorrência
quantidadeVezesRecorrencia Quantidade de vezes que irá cobrar/recorrência
dataCobrancaRecorrente Data que será cobrado recorrente, todo mês
dataInclusao Data de inclusão do Token
ativo Verdadeiro ou falso.
Key: "Authorization"
No postman:
Resposta, uma lista JSON dos objetos. Este não retorna como ValidationResult.
{
"tokenizacaoId": 0,
"subDominioId": 0,
"clienteVendaId": 0,
"bandeira": null,
"bin": null,
"tokenId": null,
"referenceId": null,
"cpfCnpj": null,
"valor": null,
"quantidadeVezesRecorrencia": null,
"dataCobrancaRecorrente": null,
"dataInclusao": "0001-01-01T00:00:00",
"ativo": false
}
Retorno:
28
Esta chamada recupera um único token cadastrado para seu subdomínio. Tem o parâmetro do
Token ou Id do Token, por isso são duas chamadas distintas.
No postman:
HML/UAT https://api-homolog.credpay.com.br/Tokenizacao/Obter/{id}
PROD https://api.credpay.com.br/Tokenizacao/Obter/{id}
Página
Retorno:
Retorno Tipo Contexto/Conteúdo
tokenizacaoId Id interno do token em nossa base - desconsiderar
subDominioId Id do subdomínio do estabelecimento
clienteVendaId Id interno do cliente em nossa base – desconsiderar
bandeira Bandeira do cartão
Bin Bin do cartão para uso e exibição
tokenId Token. Id do token a ser guardado e para pagar
operações. Com isto recuperamos os dados do cartão
do cliente e pagamos.
referenceId Número de referência
cpfCnpj Cpf ou CNPJ do cliente
valor Valor total da recorrência
quantidadeVezesRecorrencia Quantidade de vezes que irá cobrar/recorrência
dataCobrancaRecorrente Data que será cobrado recorrente, todo mês
dataInclusao Data de inclusão do Token
ativo Verdadeiro ou falso.
30
Página
No postman:
O retorno é um ValidationResult, porém o campo retorno virá vazio. Se o validator vier sem erros
(Valid = true), significa que foi excluído com sucesso.
4.5 – Pagar
documento). É importante adicionar o token, ou a API devolverá erro 401, não autorizado.
Dados de Entrada
{
"nomeDoCliente": "Joao da Silva",
"documento": "12489877852",
"email": "joao.silva@credpay.com.br",
"telefone": "11-0000-0000",
"celular": "11-00000-0000",
"lojaId": 1,
"servicoId": 1,
"contrato": "147852",
"contato": "José Pereira",
"credor": "Empresa XPTO",
"descricaoServico": "Compra de Tickets para Show",
"quantidadeDeParcelas": 5,
"custoConveniencia": 0,
"valorInicial": 1000,
"softDescriptor": "XPTO*PAGAMENTO",
"numeroInterno": "12785",
"token": "string",
"quantidadeVezesRecorrencia": 0,
"dataCobrancaRecorrente": "2023-01-17T15:04:10.051Z",
"cvv": "235",
}
Os campos são TODOS obrigatórios, com exceção da loja ID, que pode vir por padrão 1 ou não ser
32
enviado, e o campo telefone e ou celular que podem ser replicados, ou seja valores iguais para
Página
Retorno do pagamento
"AuthenticationURL": "",
"SubDominioId": 28,
Página
"URLRedirectFinal": "",
"URLReturn": null,
Pontos importantes:
• Campo retorno: é o objeto de retorno da solicitação
• statusCode: Se tudo OK, virá com o valor de 200 (OK) ou 201 (Created).
• valid / invalid: indicam validação. Pode usar o retorno de valid como true para entender
que o procedimento foi ok. Caso contrário a propriedade ERROS mostra as
inconsistências.
• erros: array de mensagens que tem os erros e ou inconsistências encontradas.
Obter token pelo documento do cliente (CPF) e obter o Token por e-mail.
homolog.credpay.com.br/Tokenizacao/Obter/Tokens/Documento/{documento}
PROD https://api.credpay.com.br/Tokenizacao/Tokenizacao/Obter/Tokens/Documento/{docu
Página
mento}
5 – RECORRÊNCIA
Por exemplo citamos, uma compra de R$ 1.000,00 parcelada em 10 vezes, onde, mensalmente
debitamos o valor de R$ 100,00 na fatura do titular do cartão. Desta forma, o cliente continua com o
limite de crédito em seu cartão para ser utilizados em outras compras e serviços.
• Criar Recorrência/Token
• Alterar Toda Recorrência
• Alterar Dados de Pagamento da Recorrência
• Renovar a Recorrência (Renovar) – Alterar dados da recorrência
• Alterar a Recorrência (Renovar) – Alterando valor e quantidade da Recorrência
• Alterar a Recorrência – Alterar data de pagamento
• Alterar a Recorrência – Alterar valor da recorrência
35
No postman:
No caso do telefone celular/fixo eles podem ser replicados e ou iguais sem problemas.
Para a recorrência, é obrigatório a quantidade de vezes da recorrência, valor inicial, e custo enviado
como 0,00 caso não haja e ou o valor a cobrar e a data. Não sendo para uma cobrança recorrente,
pode omitir estes campos.
JSON de entrada
{
"nomeDoCliente": "string",
"documento": "string",
"email": "string",
"telefone": "string",
"celular": "string",
"typeCard": "string",
"number": "string",
"expirationMonth": "string",
"expirationYear": "string",
"cvv": "string",
"brand": "string",
"custoConveniencia": 0,
"valorInicial": 0,
"quantidadeVezesRecorrencia": 0,
"dataCobrancaRecorrente": "2023-01-17T15:04:10.045Z",
"holderName": "string",
"holderNameDocumento": "string
}
Retorno:
37
Para que seja efetuado uma alteração total da recorrência, existem dois caminhos:
1) Excluir um token e depois criar um token novo, com dados do cartão novo, data de
pagamento, quantidade de parcelas, etc.
2) Chamar o endpoint do tipo POST.
Ambiente URL
HML/UAT https://api-homolog.credpay.com.br/Recorrencia/Alterar/Tudo
PROD https://api.credpay.com.br/Tokenizacao/Recorrencia/Alterar/Tudo
Dados de entrada:
Excetuando o subdomínio que se não for preenchido será recuperado da sua autenticação, todos os
campos abaixo são obrigatórios.
Tipo Nome Descrição
int SubDominioId Id de subdomínio – não obrigatório
string Token Token do cartão
string Number Número do novo cartão
string ExpirationMonth Mês de Expiração
string ExpirationYear Ano de Expiração
string Cvv Número de Segurança do cartão
string HolderName Nome que aparece no cartão
string HolderNameDocumento Documento do proprietário do Cartão
string Bandeira Bandeira do cartão
int QuantidadeVezesRecorrencia Quantidade de vezes da recorrência – deve ser diferente de 0
DateTime DataCobrancaRecorrente Data da cobrança da recorrência, mesmo que não mude, nesse
caso deve ser preenchido
decimal Valor Valor da recorrência, mesmo que não mude, nesse caso deve ser
preenchido
Retorno da chamada
38
campo/propriedade “Retorno”.
Semelhante ao item anterior, este endpoint altera os dados do cartão, porém, mantendo o Token.
Este procedimento serve para alterar os dados do cartão de pagamento mantendo data, valor e
vezes da recorrência.
Dados de entrada:
Excetuando o subdomínio que se não for preenchido será recuperado da sua autenticação, todos os
campos abaixo são obrigatórios.
Tipo Nome Descrição
int SubDominioId Id de subdomínio – não obrigatório
string Token Token do cartão
string Number Número do novo cartão
string ExpirationMonth Mês de Expiração
string ExpirationYear Ano de Expiração
string Cvv Número de Segurança do cartão
string HolderName Nome que aparece no cartão
string HolderNameDocumento Documento do proprietário do Cartão
string Bandeira Bandeira do cartão
Retorno da chamada
39
campo/propriedade “Retorno”.
Este endpoint renova a recorrência, alterando a data, valor e quantidade sem alterar o cartão.
Dados de entrada:
Excetuando o subdomínio que se não for preenchido será recuperado da sua autenticação, todos os
campos abaixo são obrigatórios.
Tipo Nome Descrição
int SubDominioId Id de subdomínio – não obrigatório
string Token Token do cartão
int QuantidadeVezesRecorrencia Quantidade de vezes da recorrência – deve ser diferente de 0
DateTime DataCobrancaRecorrente Data da cobrança da recorrência, mesmo que não mude, nesse
caso deve ser preenchido
decimal Valor Valor da recorrência, mesmo que não mude, nesse caso deve ser
preenchido
Retorno da chamada
{
Sucesso = true,
Página
Pontos importantes:
• Campo retorno: é o objeto de retorno da solicitação
• statusCode: Se tudo OK, virá com o valor de 200 (OK) ou 201 (Created).
• valid / invalid: indicam validação. Pode usar o retorno de valid como true para entender que
o procedimento foi ok. Caso contrário a propriedade ERROS mostra as inconsistências.
• erros: array de mensagens que tem os erros e ou inconsistências encontradas.
Este endpoint renovação da recorrência executa a alteração do valor e quantidade de vezes sem
mexer no meio de pagamento, mas mantendo o cartão. Não será alterada a data de pagamento
nesta chamada, apenas valor e quantidade de parcelas.
Dados de entrada:
Todos os campos abaixo são obrigatórios. O SubDominioId será recuperado pela sua autenticação
Tipo Nome Descrição
string Token Token do cartão
int Quantidade Quantidade de vezes da recorrência – deve ser diferente de 0
decimal Valor Valor da recorrência, mesmo que não mude, nesse caso deve ser preenchido
Retorno da chamada
{
Página
Sucesso = false,
Mensagem = "Ocorreram erros verifique as mensagens de erro."
}
Este endpoint executa a alteração da data de pagamento da recorrência, sem mexer no meio de
pagamento, porém, mantendo o cartão. Não será alterada a quantidade de parcelas ou valor do
pagamento nesta chamada.
Dados de entrada:
Todos os campos abaixo são obrigatórios. O SubDominioId será recuperado pela sua autenticação
Tipo Nome Descrição
string Token Token do cartão
string Data Data da Recorrência. É um valor String e deve estar no formato yyyymmdd,
por exemplo:
Dia 10 de março de 2023 => 20230310
Dia 23 de maio de 2023 => 20230523
O valor do campo deve estar na URL
Retorno da chamada
Pontos importantes:
• Campo retorno: é o objeto de retorno da solicitação
Este endpoint executa a alteração do valor da recorrência, sem mexer no meio de pagamento,
porém, mantendo o cartão. Não será alterada a quantidade de parcelas ou data do pagamento nesta
chamada.
Dados de entrada:
Todos os campos abaixo são obrigatórios. O SubDominioId será recuperado pela sua autenticação
Tipo Nome Descrição
string Token Token do cartão
decimal valor Valor da Recorrência.
Retorno da chamada
Pontos importantes:
• Campo retorno: é o objeto de retorno da solicitação
• statusCode: Se tudo OK, virá com o valor de 200 (OK) ou 201 (Created).
• valid / invalid: indicam validação. Pode usar o retorno de valid como true para entender que
o procedimento foi ok. Caso contrário a propriedade ERROS mostra as inconsistências.
• erros: array de mensagens que tem os erros e ou inconsistências encontradas.
43
Página
Este endpoint executa a alteração da quantidade de vezes da recorrência, sem mexer no meio de
pagamento, mantendo o cartão. Não será alterada o valor de parcelas ou data do pagamento nesta
chamada.
Dados de entrada:
Todos os campos abaixo são obrigatórios. O SubDominioId será recuperado pela sua autenticação
Tipo Nome Descrição
string Token Token do cartão
decimal quantidade Quantidade da Recorrência.
Retorno da chamada
Pontos importantes:
• Campo retorno: é o objeto de retorno da solicitação
• statusCode: Se tudo OK, virá com o valor de 200 (OK) ou 201 (Created).
• valid / invalid: indicam validação. Pode usar o retorno de valid como true para entender que
o procedimento foi ok. Caso contrário a propriedade ERROS mostra as inconsistências.
• erros: array de mensagens que tem os erros e ou inconsistências encontradas.
Dados de entrada:
Todos os campos abaixo são obrigatórios e o SubDominioId será recuperado pela sua autenticação
Tipo Nome Descrição
string Token Token do cartão
string token Token a ser cancelado.
Retorno da chamada
Pontos importantes:
• Campo retorno: é o objeto de retorno da solicitação
• statusCode: Se tudo OK, virá com o valor de 200 (OK) ou 201 (Created).
• valid / invalid: indicam validação. Pode usar o retorno de valid como true para entender que
o procedimento foi ok. Caso contrário a propriedade ERROS mostra as inconsistências.
• erros: array de mensagens que tem os erros e ou inconsistências encontradas.
6 – CONSULTAS
Existem várias chamadas específicas para consultas das operações, cujos métodos de consulta
permitem verificar uma ou várias operações dependendo do tipo de consulta.
45
Tipos de consultas:
• Obter operação por referenceId (retorna uma operação única).
Página
No postman:
47
Página
No postman:
Ambiente URL
HML/UAT https://api-
Página
homolog.credpay.com.br/Consulta/Subdominio/Datas/{dataInicial}/{dataFinal}
As datas devem ser enviadas no formato ansi, por exemplo 15/02/2022 (15 de fevereiro)
enviamos 20220215.
Obter os dados da operação pelo seu subdomínio e a o mês e ano citados. O subdomínioId é
recuperado do seu acesso via token bearer, que é adicionado nas chamadas.
No postman:
Os campos de mês e ano são números. Não se faz necessário dois dígitos para meses que só tem
um digito. Exemplo Fevereiro, enviar 2 e não 02.
Obter os dados da operação pelo valor do campo de Contrato. Geralmente este campo é o seu ID
Página
do contrato ou algum tipo de referência em seu sistema. Na criação das operações ele não é
obrigatório, porém auxilia em seu controle caso deseje usar. Pesquisamos pelo seu número de
No postman:
Geralmente este campo é o seu id interno em seu sistema. Na criação das operações ele não é
obrigatório, porém auxilia em seu controle caso deseje usá-lo. Pesquisamos pelo seu número
interno registrado na operação com seu subdomínio acoplado na referência dos dados. O
subdomínioId é recuperado do seu acesso via token bearer, que é adicionado nas chamadas.
No postman:
50
Página
Geralmente este campo é o seu controle de loja/filial. Na criação das operações ele não é
obrigatório, porém auxilia em seu controle caso deseje usar. Pesquisamos pelo seu LojaId (filial)
registrado na operação com seu subdomínio acoplado na referência dos dados. O subdomínioId é
recuperado do seu acesso via token bearer, que é adicionado nas chamadas.
No postman:
51
Página
Esta consulta é simples para que se entenda se houve ou não o pagamento. Muitas vezes criamos
o link e não temos mais informações para verificar se a operação está ou não “ok”. E pode ser que
não tenhamos outro parâmetro a não ser a própria chave que serve para o pagamento da
operação.
No postman:
52
Página
7 – SPLIT DE PAGAMENTOS
Antes de direcionar o pagamento por split é preciso ter um pagamento (transação) previamente
aprovado. É um requisito mandatário ter um pagamento aprovado, tanto que a informação precisa
que valide se a transação é a (TransactionId), para que seja feita a amarração/relacionamento da
transação ao split.
Por dentro da requisição deve conter os dados do pagamento, e as suas participações respectivas.
"statusOperacaoServicoId": 0,
"dataInclusao": "2023-07-19T15:51:14.525Z",
Página
"dataPagamento": "2023-07-19T15:51:14.525Z",
"dataVencimento": "2023-07-19T15:51:14.525Z",
Ou seja, seu serviço custou R$ 500,00 e hipoteticamente há encargos de 10% a serem acrescidos ao
cliente, o que totaliza o valor de R$ 550,00. Desta forma, os valores de split deve ser igual ao valor de
bruto que neste exemplo é de R$ 550,00.
Se o cadastro estiver OK, você receberá um validation results com uma mensagem de sucesso no
campo de retorno.
9. Percentual de repasse ou valor. Não precisa vir os dois. Preenchendo um ignora o outro.
Atentar-se que a soma dos percentuais deve ser 100% e ou dos valores ser igual ao valor
Página
bruto.
FIM
55
Página