Jump to table of contents

Manual API REST OrendaPay

Esse manual técnico tem como objetivo ajudar desenvolvedores/programadores na integração com a API Rest OrendaPay. Este manual conta também com exemplos práticos e em português para que a integração seja simples e completa.


O que é a API OrendaPay?

A API OrendaPay é uma integração do tipo REST que permite acesso externo ao sistema OrendaPay para realizar comunicações seguras para geração de cobranças e consultas. A comunicação ocorre através de objetos JSON, que tenham ID e Token válidos.

A REST API pode ter seus recursos acessados e utilizados por qualquer linguagem de programação que tenha recursos Web de comunicação HTTP e manipulação de JSON.


Quais são as operações que a API OrendaPay pode realizar?

Os endpoints correspondem a cada operação permitida, abaixo a relação das operações disponíveis na API:

- POST https://www.orendapay.com.br/api/v1/conta
- GET  https://www.orendapay.com.br/api/v1/conta						
- POST https://www.orendapay.com.br/api/v1/cobranca
- GET  https://www.orendapay.com.br/api/v1/cobrancas
- GET  https://www.orendapay.com.br/api/v1/cobrancas/status
- GET  https://www.orendapay.com.br/api/v1/cobranca/{CODIGO}
- PUT  https://www.orendapay.com.br/api/v1/cobranca/{CODIGO}/captura
- PUT  https://www.orendapay.com.br/api/v1/cobranca/{CODIGO}/cancela
- PUT  https://www.orendapay.com.br/api/v1/cobranca/{CODIGO}/cancelar_recorrencia
- PUT  https://www.orendapay.com.br/api/v1/cobranca/{CODIGO}/suspender_recorrencia
- PUT  https://www.orendapay.com.br/api/v1/cobranca/{CODIGO}/reativar_recorrencia
- GET  https://www.orendapay.com.br/api/v1/clientes

Para testes e simulações fornecemos alguns números de cartões de crédito e débito para que seja possível testar os variados tipos de retornos da API. Para mais informações sobre testes acesse aqui.


Autenticação

Somente usuários autenticados terão acesso a essa REST API. A Autenticação se dá através de um ID e Token.


Como obter meu ID e Token?

No seu painel de controle da OrendaPay, acesse o menu "Integração", preencha os campos solicitados e ative a sua API. Assim você irá ter acesso ao ID e o Token, com esses dados basta criar sua aplicação comunicando com a API.


Autorização

Para utilizar os recursos da API é necessário enviar em todas as requisições o ID e Token no cabeçalho da requisição HTTP. Os parametros a serem passados são: x-ID:Seu ID e x-Token:Seu Token além disso é necessário enviar o Content-Type neste formato Content-Type: application/json

Abaixo, veja um exemplo de uma comunicação autorizada na linguagem PHP no endpoint GET cobrancas utilizando-se do Curl:

//Exemplo do GET COBRANCAS $url = "https://www.orendapay.com.br/api/v1/cobrancas"; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); $headers = array(); $headers[] = "x-ID:3566"; // Coloque seu ID aqui $headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token $headers[] = "Content-Type: application/json"; curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); $response = curl_exec($curl); $httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); // Código de retorno. curl_close($curl); $retornoJSON = json_decode($response); var_dump($retornoJSON);

Veja o exemplo abaixo de Autorização utilizando o Postman:

GET /api/v1/cobrancas HTTP/1.1 Host: www.orendapay.com.br x-ID: 9898 x-Token: 77O585194T334540R429730I7167u50O9460u63a1223O59u9156I51C4171R97j8830T18S84627 Content-Type: application/json Cache-Control: no-cache Postman-Token: 0d5cb339-7fa1-bcb8-4796-53026a8b28ed

Contas

As operações em CONTAS permitem: Criar um pré cadastro de uma conta OrendaPay e também consultar dados da conta autenticada na API.

POST conta (Criar uma Conta Virtual)

O endpoint usado na api para realizar a operação de criar uma conta é o POST conta. Por segurança, essa operação cria um pré-cadastro da conta e a complementação e validação do cadastro será realizado pelo responsável legal. Veja abaixo um exemplo do código usando o cURL PHP para criação de uma conta virtual.


		//Exemplo do POST conta
		$url = "https://www.orendapay.com.br/api/v1/conta"; 

		$json = array
		(
		"nome"=>"Empresa de Negócios",
 		"email"=>"comercial@empresa.com.br",
		"cpf_cnpj"=>"00000000000",
		"telefone"=>"(99) 99999-9999",
		"atividade"=>"Autopeças",
		"endereco"=>"Rua principal, 988",
		"cidade"=>"Brasília",
		"estado"=>"DF",
		"cep"=>"73015-132",
		"parceiro"=>"9999"		
		);
		$json = json_encode($json); // Converte em formato Json
		 
		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);

		$headers = array();
		$headers[] = "x-ID:3566"; // Coloque seu ID aqui
		$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
		$headers[] = "Content-Type: application/json";

		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
		
		curl_setopt($curl, CURLOPT_POST, 1); // Informando que é POST
		curl_setopt($curl, CURLOPT_POSTFIELDS, $json); // Envio do JSON		
		
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
		$response = curl_exec($curl);
		$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); // Código de retorno.

		curl_close($curl);

		$retornoJSON = json_decode($response);
		
		var_dump($retornoJSON);
					

Tabela de Especificações dos Campos (POST conta)

Campo Formato Tamanho Obrigatório Descrição
nome string 100 Sim Nome completo do responsável pela conta ou Razão Social da empresa.
email string 50 Sim E-mail do responsável legal da empresa. Ao cadastrar uma conta, esse e-mail receberá informações para validar e completar o cadastro.
cpf_cnpj string 30 Sim Informe o CPF ou CNPJ da empresa. O documento informado será validado pela API. Formato: Somente números.
telefone string 15 Sim Telefone principal da empresa. Preferencialmente informe um número de celular. É importante que seja o número principal de contato.
Formato: (99) 99999-9999
atividade string 50 Não Ramo de atuação da empresa.
endereco string 50 Não Endereço e número da empresa.
cidade string 50 Não Nome da cidade da empresa
estado string 2 Não Sigla do estado da empresa
Exemplo: DF
cep string 9 Não CEP da empresa.
Exemplo: 73015-132
parceiro string 4 Não Se desejar vincular essa conta a um código de parceiro, informe neste campo o ID da conta parceiro.

Se tudo ocorreu bem, o pré-cadastro será processado e retornado o codigo 201 no header e no body todas informações da conta. Abaixo o Payload de retorno no formato json:


{
	"cod_empresa_orendapay":"789991020",	
	"ID":"1000",
	"TOKEN":"4A353453H23G232F233234234234F2A",
	"nome":"Empresa de Negócios",
	"email":"comercial@empresa.com.br",
	"cpf_cnpj":"00000000000",
	"atividade":"Autopeças",
	"endereco":"Rua principal, 988",
	"cidade":"Brasília",
	"estado":"DF",
	"cep":"73015-132",
	"parceiro":"9999",
	"status":"1"
}
					

GET Conta (Consulta a conta autenticada)

O endpoint usado na api para realizar a operação de consultar a conta é o GET conta. Por segurança, a consulta de conta retornará dados da própria conta autenticada na API (ID e TOKEN) impedindo consultas a contas de terceiros. Veja abaixo um exemplo do código usando o cURL PHP para consultar uma conta.


		$url = "https://www.orendapay.com.br/api/v1/conta";

		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);

		$headers = array();
		$headers[] = "x-ID:3566"; // Coloque seu ID aqui
		$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
		$headers[] = "Content-Type: application/json";

		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
		$response = curl_exec($curl);
		$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); // Código de retorno.

		curl_close($curl);

		$retornoJSON = json_decode($response);
					

Se tudo ocorreu bem, será retornado um codigo 200 no header e no body o seguinte Payload no formato json:


{
	"ID":"1000",
	"TOKEN":"4A353453H23G232F233234234234F2A",
	"nome":"Empresa de Negócios",
	"email":"comercial@empresa.com.br",
	"cpf_cnpj":"00000000000",
	"atividade":"Autopeças",
	"endereco":"Rua principal, 988",
	"cidade":"Brasília",
	"estado":"DF",
	"cep":"73015-132",
	"parceiro":"9999",
	"status":"1"
}
					


Cobranças

As operações em cobrancas permitem: Criar Cobranças, Consultar Todas, Consultar por Número, Consultar Status e também Cancelar uma cobrança que ainda não foi paga.

POST Cobrança (Criar uma cobrança)

O endpoint usado na api para realizar a operação de criar uma cobrança é o POST cobranca. Veja abaixo um exemplo do código usando o cURL PHP para criação de uma cobrança por Boleto Bancário


		//Exemplo do POST COBRANCA
		$url = "https://www.orendapay.com.br/api/v1/cobranca"; 

		$json = array
		(
		"seu_codigo"=>"1000",
 		"descricao"=>"Mensalidade Julho/2019",
		"vencimento"=>"10/08/2019",
		"valor"=>"230.10",
		"juros"=>"0.50",
		"multa"=>"1.20",
		"desconto_pontualidade"=>"10.00",
		"cliente_nome"=>"Joaquim Morais de Sá",
		"cliente_cpf_cnpj"=>"07156698542",
		"cliente_telefone"=>"(71)3242-2929",
		"cliente_email"=>"joaquim@exemplo.com.br",
		"cliente_endereco"=>"Rua Omar Bastista, 10",
		"cliente_cidade"=>"Manaus",
		"cliente_uf"=>"AM",
		"cliente_cep"=>"69005015",
		"cliente_grupo"=>"Escola X",
		"TIPO"=>"boleto",
		"NUMERO_PARCELAS"=>"1",
		"RECORRENCIA"=>"1",
		"ENVIAR_EMAIL"=>"1",		
		"ENVIAR_SMS"=>"1",		
		"ENVIO_IMEDIATO"=>"1",
		"SPLIT" => array(
			array('percentual'=>'25','email'=>'beneficiario1@email.com.br'),
			array('percentual'=>'25','email'=>'beneficiario2@email.com.br')
		),
		"SPLIT_TIPO": "D",		
		"URL_CALLBACK"=>"http://www.meusite.com.br/retorno_pagamento.php",
		"UTILIZACAO"=>"ECOMMERCE"
		);
		$json = json_encode($json); // Converte em formato Json
		 
		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);

		$headers = array();
		$headers[] = "x-ID:3566"; // Coloque seu ID aqui
		$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
		$headers[] = "Content-Type: application/json";

		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
		
		curl_setopt($curl, CURLOPT_POST, 1); // Informando que é POST
		curl_setopt($curl, CURLOPT_POSTFIELDS, $json); // Envio do JSON		
		
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
		$response = curl_exec($curl);
		$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); // Código de retorno.

		curl_close($curl);

		$retornoJSON = json_decode($response);
		
		var_dump($retornoJSON);
			

Se tudo ocorreu bem, a cobrança será processada e retornado o codigo 201 no header e no body todas informações da sua cobrança. Abaixo o Payload de retorno no formato json:


{
	"seu_codigo":"1000",
	"codigo":"301200",
	"situacao":"pago",
	"descricao":"Mensalidade Julho/2019",
	"vencimento":"10/08/2019",
	"valor":"230.10",
	"juros":"0.50",
	"multa":"1.20",
	"desconto_pontualidade":"10.00",
	"total":"230.10",
	"data_cricao":"14/07/2019 12:12:12",
	"data_envio":"14/07/2019 12:12:12",
	"data_pagamento":"15/07/2019 12:12:12",
	"valor_pago":"230.10",
	"linha_digitavel":"23220504004149071713832002209202449560000012200",
	"url":"https://www.orendapay.com.br/pagar/301200",
	"pix_qrcode":"http://www.orendapay.com.br/arquivos/PIX/11163522202111327.png",
	"pix_chave":"00020122021226900014br.gov.bcb.pix2568pix.sicoob.com.br/qr/payload/v2/9a3e9ffb-4322-4c31-885f-c8b69e5dc4575204000053039865802BR5925ORENDAPAY SOLUCOES FINANC6013NATAKRBA62070503***6304D933",	
	"cliente_nome":"Joaquim Morais de Sá",
	"cliente_cpf_cnpj":"07156698542",
	"cliente_telefone":"(71)3242-2929",
	"cliente_email":"joaquim@exemplo.com.br",
	"cliente_endereco":"Rua Omar Bastista, 10",
	"cliente_cidade":"Manaus",
	"cliente_uf":"AM",
	"cliente_cep":"69005015",
	"cliente_grupo"=>"Escola X",	
	"TIPO":"boleto",
	"NUMERO_PARCELAS":"1",
	"RECORRENCIA":"1",
	"ENVIAR_EMAIL":"1",
	"ENVIAR_SMS":"1",
	"ENVIO_IMEDIATO":"1",
	"SPLIT":[ 
				{"percentual":"25" , "email":"beneficiario1@email.com.br"},
				{"percentual":"25" , "email":"beneficiario2@email.com.br"} 
			],
	"URL_CALLBACK":"http://www.meusite.com.br/retorno_pagamento.php" 
}

Retorno de situação da transação junto a operadora do cartão de crédito ou débito

Se no método POST COBRANCA foi utilizado um TIPO igual a credit ou debit, o retorno terá duas informações adicionais de situação da transação junto à operadora de cartão, que são:

  • situacao_cartao, pode retornar:
    • OK
    • erro
  • situacao_cartao_detalhes, pode retornar:
    • Transação Criada
    • A transação foi recebida com sucesso para processamento
    • O pagamento foi autorizado
    • A transação falhou

Desta forma, sendo "OK" o retorno, significa que a transação com a operadora do cartão de crédito foi processada com sucesso. E sendo "erro", significa que houve algum erro na transação com a operadora do cartão de crédito. Abaixo um exemplo deste retorno:


{ 
	"seu_codigo":"1000",
	"codigo":"301200",
	"situacao":"aguardando",
	"situacao_cartao":"OK",
	"situacao_cartao_detalhes":"O pagamento foi autorizado",
	"nsu":"175016799",	
	"descricao":"Mensalidade Julho/2019",
	"vencimento":"10/08/2019",
	.....
			

Sobre o retono do campo situacao que é referente à cobrança como um todo, esse chegará por callback posteriormente confirmando o status inicial do situacao_cartao. Consulte a operação de callback aqui

Tabela de Especificações dos Campos (POST cobranca)

Campo Formato Tamanho Obrigatório Descrição
seu_codigo string 30 Não Seu código para identificar a cobrança. Se não enviar um código o sistema irá gerar.
Caso seja enviado um código repetido, o sistema irá incrementar o seu código a um código único de 10 caracteres, como exemplo: 1000-77628199 onde 1000 é seu código e 7762819921 é o código do sistema, ambos separados por hífen.
descricao string 120 Sim Descrição da Cobrança
vencimento string 10 Sim Data de vencimento da cobrança no formato DD/MM/YYYY. Somente serão aceitas datas futuras de vencimento.
valor string 10 Sim Valor da cobrança com 2 casas decimais separadas por ponto. Exemplo: 100.50 O valor mínimo a ser informado é de 5.00
juros string 20 Não Percentual de juros. 2 casas decimais separadas por ponto. Exemplo: 1.2, equivale a 1.2%. Atenção: Valores vazios ou igual ou menor a zero forem informados neste campo, serão considerados os valores padrão da empresa, conforme configurado em menu Meus Dados > Configurações da Cobrança.
multa string 20 Não Percentual da multa. 2 casas decimais separadas por ponto. Exemplo: 1.2, equivale a 1.2%. Atenção: Valores vazios ou igual ou menor a zero forem informados neste campo, serão considerados os valores padrão da empresa, conforme configurado em menu Meus Dados > Configurações da Cobrança.
desconto_pontualidade string 20 Não Valor em Reais de desconto concedido caso pago até o vencimento. Deixe em branco para não utilizar.
cliente_nome string 50 Sim Exemplo: José Antonio da Silva
cliente_cpf_cnpj string 18 Sim CPF ou CNPJ do cliente.
cliente_telefone string 15 Não Telefone fixo ou celular do seu cliente.
cliente_email string 60 Sim E-mail do seu cliente
cliente_endereco string 100 Sim Endereço do seu cliente
cliente_cidade string 40 Sim Cidade do seu cliente
cliente_uf string 2 Sim UF com 2 caracteres do estado. Ex: RN, SP, MG
cliente_cep string 10 Sim CEP do seu cliente
cliente_grupo string 20 Não Caso deseje vincular essa cobrança a um grupo do sistema, basta informar o nome do grupo.
TIPO string 20 Sim Tipo de Cobrança a ser gerada: Informe "pix" para Pix. "boleto" para Boleto Bancário. Informe "credit" para cartão de crédito ou informa "debit" para cartão de débito: As informações cartao_numero, cartao_nome, cartao_validade e cartao_codigo devem ser informadas para credit e debit.
cartao_numero string 20 Obrigatório se TIPO for credit ou debit Número do cartão
cartao_nome string 20 Obrigatório se TIPO for credit ou debit Nome impresso no cartão
cartao_validade string 20 Obrigatório se TIPO for credit ou debit Data de validade do cartão. Ex: 10/25
cartao_codigo string 20 Obrigatório se TIPO for credit ou debit Código de segurança CVV do cartão.
pre_autorizar string 1 Se não informado, valor padrão é 0 (Capturar automaticamente a transação) 0 para captura direta da cobrança ou 1 para pré-autorizar e não capturar automaticamente. O método PUT CAPTURA poderar ser utilizado para captura posterior. Em até 7 dias ela será desconsiderada ou capturada.
NUMERO_PARCELAS string 2 Não Deixe em branco ou informe 1 se não for utilizar parcelamento (à vista). Será considerado o parcelamento se valor for maior que 1. As datas de vencimento das parcelas serão D+30 (Data do vencimento da antecessora mais 30 dias). O tipo "debit" receberá valor 1 independente do que for informado neste campo.
RECORRENCIA string 1 Não Valor "0" para não recorrência, Valor "1" para definir como recorrente. Não utilize NUMERO_PARCELAS caso opte pela recorencia.
ENVIAR_EMAIL string 1 Não Valor "0" para não enviar e-mail de pagamento, Valor "1" para enviar e-mail de pagamento.
ENVIAR_SMS string 1 Não Valor "0" para não enviar mensagens da cobrança por Whatsapp, Valor "1" para enviar mensagens da cobrança por Whatsapp.
ENVIO_IMEDIATO string 1 Não Valor "0" para não enviar notificações de imediato, Valor "1" para enviar notificações de imediato.
SPLIT array N Não Leia o tópico específico
SPLIT_FIXO array N Não Leia o tópico específico
SPLIT_TIPO string 1 Não Coloque D para ocorrer divisão proporcional da taxa da cobrança entre as contas. Não informe ou deixe em branco para que a taxa seja somente da conta originadora. Leia o tópico específico
URL_CALLBACK string 300 Não O sistema irá emitir uma chamada POST à URL informada quando houver alterações de status na cobrança. O POST enviado irá conter os campos "codigo_custom" e a "situacao" (Veja a "Tabela de Retornos do Callback no campo situação" neste manual)
UTILIZACAO string 15 Sim Informação da atividade fim da sua integração. Tipos: ERP: se integração com sistema ERP. ECOMMERCE: se integração com lojas virtuais. OUTROS: se outros tipos de integração. Geralmente essa será uma informação fixa.

Para testes e simulações fornecemos alguns números de cartões de crédito e débito para que seja possível testar os variados tipos de retornos da API. Para mais informações sobre testes acesse aqui.

Importante: Caso sejam criadas cobranças duplicadas considerando a mesma data de vencimento, o mesmo valor e o mesmo cliente, a API irá cancelar imediatamente a cobrança mais antiga, mantendo somente a mais recente. Esse mecanismo tem como objetivo evitar duplicações e excessos em criações de cobranças.


Para geração de cobranças parceladas com geração imediata apenas da primeira parcela (entrada)

Se você deseja gerar várias parcelas em cobranças por boleto bancário, mas com a geração imediata somente da primeira parcela (entrada), basta definir no campo UTILIZACAO o valor "ECOMMERCE", mas lembre-se que o NUMERO_PARCELAS deve ser maior que 1 e que o TIPO deve ser boleto. As demais parcelas serão emitidas pelo sistema OrendaPay, obedecendo os próximos vencimentos em D+30.


Taxas e Parcelamentos (Consulta)

Método que permite consultar as taxas e os parcelamentos praticados em todas formas de pagamento para a empresa. Também é possível simular os valores das parcelas com juros ou sem juros sobre um determinado valor ou até uma determinada parcela. Para isso, utilize o endpoint GET "fees".

Veja abaixo os filtros disponíveis e um exemplo de consulta usando o cURL PHP, onde:

  • Filtro valor, exemplo de uso valor=500.00
    • Valor a ser simulado, sempre maior que 5.00 (R$5,00), utilizar ponto para os decimais. Se não for fornecido esse campo, será considerado o valor 100.00
  • Filtro modo, exemplo de uso modo=CARTAO_CRE
    • Define o modo de consulta, se não informado retornará todas formas de pagamento disponíveis.
      As opções disponível para consulta são: BOLETO, PIX, NFE, CARTAO_CRE ou CARTAO_DEB
  • Filtro bandeira, exemplo de uso bandeira=Visa
    • Define a bandeira a ser consultada. Se não informada retornará todas bandeiras disponíveis.
      As opções disponíveis para consulta são: Hiper, Visa, American, MasterCard, Maestro, JCB, Hipercard, Elo, Discover, Diners, Cabal, Banescard, Aura
  • Filtro parcela, exemplo de uso parcela=3
    • Retornará somente a parcela informada, se não informada retornará todas parcelas.
  • Filtro semtaxas_ate, exemplo de uso semtaxas_ate=3
    • Utilize esse filtro para retornar as parcelas sem juros até uma determinada parcela e não repassar os juros no valor total e nos valores das parcelas.
    • Para sempre retornar nos resultados os valores com os juros (taxas), utilize nesse filtro o valor 0 ou não informe esse filtro em seu método.
    • Esse filtro não se aplica para os modos: BOLETO, PIX, NFE, que sempre retornarão o valor total considerando as taxas.

		$url = "https://www.orendapay.com.br/api/v1/fees?valor=500.00&modo=CARTAO_CRE&bandeira=Visa&semtaxas_ate=3";

		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);

		$headers = array();
		$headers[] = "x-ID:3566"; // Coloque seu ID aqui
		$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
		$headers[] = "Content-Type: application/json";

		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
		$response = curl_exec($curl);
		$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); // Código de retorno.

		curl_close($curl);

		$retornoJSON = json_decode($response);

Se tudo ocorreu bem, será retornado um codigo 200 no header.

Observe no exemplo de retorno abaixo que, até a 3º parcela, os valores de taxa e total não incidem os juros/taxas, pois no filtro foi informado semtaxas_ate=3, a partir da 4º parcela os juros/taxas são incididas no valor total e nas parcelas.

  
[
   {
      "codigo":"1189",
      "identificador":"CARTAO_CRE",
      "nome":"Crédito à vista Visa (à vista)",
      "bandeira":"Visa",
      "parcelas":"1",
      "taxa":"0.00",
      "taxa_modo":"PERCENTUAL",
      "valor_original":"500.00",
      "valor_taxa":"0.00",
      "valor_total":"500.00",
      "valor_parcela":"500.00",
      "fixo":false
   },
   {
      "codigo":"1193",
      "identificador":"CARTAO_CRE",
      "nome":"Crédito Visa (2X)",
      "bandeira":"Visa",
      "parcelas":"2",
      "taxa":"0.00",
      "taxa_modo":"PERCENTUAL",
      "valor_original":"500.00",
      "valor_taxa":"0.00",
      "valor_total":"500.00",
      "valor_parcela":"250.00",
      "fixo":false
   },
   {
      "codigo":"1194",
      "identificador":"CARTAO_CRE",
      "nome":"Crédito Visa (3X)",
      "bandeira":"Visa",
      "parcelas":"3",
      "taxa":"0.00",
      "taxa_modo":"PERCENTUAL",
      "valor_original":"500.00",
      "valor_taxa":"0.00",
      "valor_total":"500.00",
      "valor_parcela":"166.67",
      "fixo":false
   },
   {
      "codigo":"1195",
      "identificador":"CARTAO_CRE",
      "nome":"Crédito Visa (4X)",
      "bandeira":"Visa",
      "parcelas":"4",
      "taxa":"9.01",
      "taxa_modo":"PERCENTUAL",
      "valor_original":"500.00",
      "valor_taxa":"45.05",
      "valor_total":"545.05",
      "valor_parcela":"136.26",
      "fixo":false
   },
   {
      "codigo":"1196",
      "identificador":"CARTAO_CRE",
      "nome":"Crédito Visa (5X)",
      "bandeira":"Visa",
      "parcelas":"5",
      "taxa":"9.83",
      "taxa_modo":"PERCENTUAL",
      "valor_original":"500.00",
      "valor_taxa":"49.15",
      "valor_total":"549.15",
      "valor_parcela":"109.83",
      "fixo":false
   },
   {
      "codigo":"1197",
      "identificador":"CARTAO_CRE",
      "nome":"Crédito Visa (6X)",
      "bandeira":"Visa",
      "parcelas":"6",
      "taxa":"10.49",
      "taxa_modo":"PERCENTUAL",
      "valor_original":"500.00",
      "valor_taxa":"52.45",
      "valor_total":"552.45",
      "valor_parcela":"92.08",
      "fixo":false
   },
   {
      "codigo":"1198",
      "identificador":"CARTAO_CRE",
      "nome":"Crédito Visa (7X)",
      "bandeira":"Visa",
      "parcelas":"7",
      "taxa":"11.59",
      "taxa_modo":"PERCENTUAL",
      "valor_original":"500.00",
      "valor_taxa":"57.95",
      "valor_total":"557.95",
      "valor_parcela":"79.71",
      "fixo":false
   },
   {
      "codigo":"1199",
      "identificador":"CARTAO_CRE",
      "nome":"Crédito Visa (8X)",
      "bandeira":"Visa",
      "parcelas":"8",
      "taxa":"12.61",
      "taxa_modo":"PERCENTUAL",
      "valor_original":"500.00",
      "valor_taxa":"63.05",
      "valor_total":"563.05",
      "valor_parcela":"70.38",
      "fixo":false
   },
   {
      "codigo":"1200",
      "identificador":"CARTAO_CRE",
      "nome":"Crédito Visa (9X)",
      "bandeira":"Visa",
      "parcelas":"9",
      "taxa":"13.44",
      "taxa_modo":"PERCENTUAL",
      "valor_original":"500.00",
      "valor_taxa":"67.20",
      "valor_total":"567.20",
      "valor_parcela":"63.02",
      "fixo":false
   },
   {
      "codigo":"1190",
      "identificador":"CARTAO_CRE",
      "nome":"Crédito Visa (10X)",
      "bandeira":"Visa",
      "parcelas":"10",
      "taxa":"14.18",
      "taxa_modo":"PERCENTUAL",
      "valor_original":"500.00",
      "valor_taxa":"70.90",
      "valor_total":"570.90",
      "valor_parcela":"57.09",
      "fixo":false
   },
   {
      "codigo":"1191",
      "identificador":"CARTAO_CRE",
      "nome":"Crédito Visa (11X)",
      "bandeira":"Visa",
      "parcelas":"11",
      "taxa":"14.93",
      "taxa_modo":"PERCENTUAL",
      "valor_original":"500.00",
      "valor_taxa":"74.65",
      "valor_total":"574.65",
      "valor_parcela":"52.24",
      "fixo":false
   },
   {
      "codigo":"1192",
      "identificador":"CARTAO_CRE",
      "nome":"Crédito Visa (12X)",
      "bandeira":"Visa",
      "parcelas":"12",
      "taxa":"15.62",
      "taxa_modo":"PERCENTUAL",
      "valor_original":"500.00",
      "valor_taxa":"78.10",
      "valor_total":"578.10",
      "valor_parcela":"48.18",
      "fixo":false
   }
]
		


Desta forma, em integrações dinâmicas para geração de cobranças (Checkouts, por exemplo) onde você precisa repassar o valor das taxas ao usuário pagador, você pode recuperar o valor_total da parcela selecionada pelo usuário e usar esse valor no POST COBRANCA como valor da cobrança, informando também o número de parcelas selecionado.

Sobre o Split de Cobrança

No método POST COBRANCA você poderá utilizar do recurso Split, que é a divisão do valor do pagamento entre outros usuários.

O SPLIT pode ser trabalhado de duas formas na API:

  • Divisão de valor por percentual, onde é informado no nó "SPLIT" o "percentual" e o "email" do beneficiário.
  • Divisão por valor em R$, onde deve ser informado no nó "SPLIT_FIXO" o "valor" e o "email" do beneficiário.
na sua integração deve seguir algumas regras para ser considerado:

  • Se uso de "SPLIT", o parametro percentual deve ser informado em percentual (%).
  • Se uso de "SPLIT", o total dos percentuais NÃO deve totalizar 100%, pois o percentual restante do Split informado será da conta criadora (a sua).
  • Se uso de "SPLIT_FIXO", o parametro valor deve ser informado em valor monetário.
  • Se uso de "SPLIT_FIXO", o total dos valores informados NÃO poderá ultrapassar o total da cobrança e nem ser zero.
  • O segundo parametro email do Split é o e-mail do beneficiário.
  • Caso não seja um usuário cadastrado no OrendaPay, será enviado um convite para o e-mail informado.
  • A taxa sobre a cobrança OrendaPay poderá ser dividida de forma proporcional entre as contas do Split, bastando informar no campo SPLIT_TIPO o valor "D". Para que a taxa seja somente da conta originadora, deixe em branco ou não informe o SPLIT_TIPO.

Abaixo um trecho do POST COBRANCA da organização do item SPLIT:


		PARA SPLIT DE PERCENTUAL...
		...
		"SPLIT" => array( 
			array('percentual'=>'25','email'=>'beneficiario1@email.com.br'),
			array('percentual'=>'25','email'=>'beneficiario2@email.com.br')
		),
		"SPLIT_TIPO" => "D",
		...
		
		PARA SPLIT DE VALOR FIXO
		...
		"SPLIT_FIXO" => array( 
			array('valor'=>'2.50','email'=>'beneficiario1@email.com.br'),
			array('valor'=>'5.00','email'=>'beneficiario2@email.com.br')
		)
		...		
			
Então, vale a pena repetir!
  • Para split de percentual ou de valor fixo, o restante do total informado no Split (Contas de Terceiros) será destinado à conta criadora (a sua), por exemplo, se o beneficiário 1 recebeu 10% e o beneficiário 2 recebeu 40% o restante (50%) será da conta criadora da cobrança, por isso a soma dos percentuais dos splits dos beneficiários não poderá ultrapassar 99%, e em caso de valores fixos, o total não pode ser maior que o total da cobrança. Portanto não é necessário informar no JSON o valor destinado à conta principal criadora, já que esse valor é o que sobra.


GET Cobranças (Consulta Geral)

Para consultar todas as cobranças, o endpoint usado na API para realizar essa operação é a GET "cobrancas". Veja abaixo um exemplo do código usando o cURL PHP:


		$url = "https://www.orendapay.com.br/api/v1/cobrancas";

		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);

		$headers = array();
		$headers[] = "x-ID:3566"; // Coloque seu ID aqui
		$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
		$headers[] = "Content-Type: application/json";

		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
		$response = curl_exec($curl);
		$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); // Código de retorno.

		curl_close($curl);

		$retornoJSON = json_decode($response);


Utilizando o filtro DOC de (CPF ou CNPJ) no método GET Cobranças (Consulta Geral)
Você também poderá consultar as cobranças de clientes através do filtro DOC= de (CPF ou CNPJ) que pode ser usado na URL da chamada. Esse filtro irá buscar todas as cobranças do cliente que possui o DOC fornecido. Recomendamos que seja fornecido neste filtro somente caracteres numéricos.
Exemplo de Uso:
GET https://www.orendapay.com.br/api/v1/cobrancas?DOC=07163318690


Se tudo ocorreu bem, será retornado um codigo 200 no header e no body o seguinte Payload no formato json:


{
"cobrancas":
	[
		{
			"seu_codigo":"1000",
			"codigo":"301200",
			"situacao":"pago",
			"descricao":"Mensalidade Julho/2019",
			"vencimento":"10/08/2019",
			"valor":"230.10",
			"juros":"0.50",
			"multa":"1.20",
			"desconto_pontualidade":"10.00",
			"total":"230.10",
			"data_cricao":"14/07/2019 12:12:12",
			"data_envio":"14/07/2019 12:12:12",
			"data_pagamento":"15/07/2019 12:12:12",
			"valor_pago":"230.10",
			"linha_digitavel":"23220504004149071713832002209202449560000012200",
			"url":"https://www.orendapay.com.br/pagar/301200",
			"pix_qrcode":"http://www.orendapay.com.br/arquivos/PIX/11163522202111327.png",
			"pix_chave":"00020122021226900014br.gov.bcb.pix2568pix.sicoob.com.br/qr/payload/v2/9a3e9ffb-4322-4c31-885f-c8b69e5dc4575204000053039865802BR5925ORENDAPAY SOLUCOES FINANC6013NATAKRBA62070503***6304D933",
			"cliente_nome":"Joaquim Morais de Sá",
			"cliente_cpf_cnpj":"07156698542",
			"cliente_telefone":"(71)3242-2929",
			"cliente_email":"joaquim@exemplo.com.br",
			"cliente_endereco":"Rua Omar Bastista, 10",
			"cliente_cidade":"Manaus",
			"cliente_uf":"AM",
			"cliente_cep":"69005015",
			"cliente_grupo":"Escola X",				
			"TIPO":"boleto",
			"NUMERO_PARCELAS":"1",
			"RECORRENCIA":"1",
			"ENVIAR_EMAIL":"1",
			"ENVIAR_SMS":"1",
			"ENVIO_IMEDIATO":"1",
			"SPLIT":[ 
						{"percentual":"75" , "email":"beneficiario1@email.com.br"},
						{"percentual":"25" , "email":"beneficiario2@email.com.br"} 
					],
			"URL_CALLBACK":"http://www.meusite.com.br/retorno_pagamento.php" 			
		}
	]
}
		


GET Cobranças (Consulta Status)

Operação que permite você consultar os status das cobranças. O endpoint usado na API para realizar essa operação é a GET cobrancas/status. Serão retornadas nesta consulta as cobranças recentes de um período de 60 dias. Veja abaixo um exemplo do código usando o cURL PHP

Tabela de Situação da Cobrança (Campo "situacao")

  • "cancelado": Cobrança cancelada.
  • "aguardando": Cobrança aguardando pagamento/em aberto.
  • "pago": Cobrança Liquidada.
  • "vencido": Cobrança vencida.
  • "capturado": Cartão capturado (Retorno restrito à cartão de crédito)
  • "nao_autorizado": Cartão não autorizado (Retorno restrito à cartão de crédito)


	$url = "https://www.orendapay.com.br/api/v1/cobrancas/status";

	$curl = curl_init();
	curl_setopt($curl, CURLOPT_URL, $url);

	$headers = array();
	$headers[] = "x-ID:3566"; // Coloque seu ID aqui
	$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
	$headers[] = "Content-Type: application/json";

	curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

	curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
	$response = curl_exec($curl);
	$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); // Código de retorno header

	curl_close($curl);

	$retornoJSON = json_decode($response);
	


Utilizando o filtro DOC de (CPF ou CNPJ) no método GET Cobranças (Consulta Status)
Você também poderá consultar as cobranças de clientes através do filtro DOC= de (CPF ou CNPJ) que pode ser usado na URL da chamada. Esse filtro irá buscar todas as cobranças do cliente que possui o DOC fornecido. Recomendamos que seja fornecido neste filtro somente caracteres numéricos.
Exemplo de Uso:
GET https://www.orendapay.com.br/api/v1/cobrancas/status?DOC=07163318690


Se tudo ocorreu bem, será retornado um codigo 200 no header e no body o seguinte Payload no formato json:


{
"cobrancas":
	[
		{
			"seu_codigo":"1000",
			"codigo":"301200",
			"situacao":"pago",
			"nsu":"33455332",			
			"data_pagamento":"15/07/2019 12:12:12",
			"valor_pago":"230.10",
			"linha_digitavel":"23220504004149071713832002209202449560000012200",
			"cliente_nome":"Joaquim Morais de Sá",
			"cliente_cpf_cnpj":"07156698542"	
		}
	]
}
		


Consultas de Cobranças com recorrência

Uma dúvida comum entre os usuários de API é de como consultar as cobranças em recorrência em um ciclo de cobranças.

Sobre isso, basta utilizar o endpoint GET cobrancas/status utilizando do filtro "DOC" que corresponde ao CPF ou CNPJ do cliente pagador.


	$url = "https://www.orendapay.com.br/api/v1/cobrancas/status?DOC=861.862.703-04";

	$curl = curl_init();
	curl_setopt($curl, CURLOPT_URL, $url);

	$headers = array();
	$headers[] = "x-ID:3566"; // Coloque seu ID aqui
	$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
	$headers[] = "Content-Type: application/json";

	curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

	curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
	$response = curl_exec($curl);
	$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); // Código de retorno header

	curl_close($curl);

	$retornoJSON = json_decode($response);
	

O retorno da consulta acima irá conter alguns campos importantes para identificar a recorrência do cliente, são eles:
seu_codigo que será sempre igual nas parcelas do ciclo da recorrência
vencimento que corresponde aos vencimentos da recorrência.
recorrente que indica se a cobrança é de recorrência ou não, sendo "true" para em recorrência e "false" para cobrança sem recorrência.

Veja um exemplo abaixo do retorno da requisição


{
	"cobrancas":
	[
	  {
		 "seu_codigo":"7531679777",
		 "codigo":"994351991",
		 "situacao":"aguardando",
		 "nsu":"",		 
		 "data_vencimento":"09/06/2023",
		 "data_pagamento":"00/00/0000 00:00:00",
		 "valor_pago":"0.00",
		 "linha_digitavel":"",
		 "cliente_nome":"ALFONSO MARIA GLORIA",
		 "recorrente":"true"
	  },
	  {
		 "seu_codigo":"7531679777",
		 "codigo":"996654992",
		 "situacao":"pago",
		 "nsu":"44454223455",		 		 
		 "data_vencimento":"09/05/2023",
		 "data_pagamento":"09/05/2023 20:38:00",
		 "valor_pago":"165.43",
		 "linha_digitavel":"",
		 "cliente_nome":"ALFONSO MARIA GLORIA",
		 "recorrente":"true"
	  },
	  {
		 "seu_codigo":"7531679777",
		 "codigo":"994424993",
		 "situacao":"pago",
		 "nsu":"44454223455",			 
		 "data_vencimento":"09/04/2022",
		 "data_pagamento":"09/04/2022 14:54:18",
		 "valor_pago":"165.43",
		 "linha_digitavel":"",
		 "cliente_nome":"ALFONSO MARIA GLORIA",
		 "recorrente":"true"
	  }
	] 
}
		


GET Cobrança (Consulta por Código)

Operação que permite você consultar uma cobrança fornecendo o código da mesma. O endpoint usado na API para realizar essa operação é a GET cobranca/CODIGO. Veja abaixo um exemplo do código usando o cURL PHP

O "CODIGO" a ser enviado corresponde ao campo "codigo" do JSON da cobrança e não ao campo "seu_codigo".


	$url = "https://www.orendapay.com.br/api/v1/cobranca/100200";

	$curl = curl_init();
	curl_setopt($curl, CURLOPT_URL, $url);

	$headers = array();
	$headers[] = "x-ID:3566"; // Coloque seu ID aqui
	$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
	$headers[] = "Content-Type: application/json";

	curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

	curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
	$response = curl_exec($curl);
	$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); // Código de retorno header

	curl_close($curl);

	$retornoJSON = json_decode($response);
	

Caso a operação seja bem sucedida o retorno será um código 200 no header, e no body o json da cobrança. Repare que o retorno de sucesso para operações de consultas (GET) é o 200 e para operações de POST e PUT o retorno é o 201.


PUT Captura

O endpoint usado na API para realizar a operação de CAPTURA de uma cobrança por cartão é a PUT cobranca/{CODIGO}/captura, onde CODIGO é o código da cobrança. Para obter o código da cobrança você poderá realizar consultas através dos métodos de consulta de GET cobrancas.

Atenção!
- Esse método só terá efeito em cobranças por cartão, onde o pre_autorizar seja 1 e que ainda não tenha sido capturada Caso a cobrança não tenha essas caracterísicas, a operação não será executada.

O "CODIGO" a ser enviado corresponde ao "codigo" e não ao "seu_codigo".


		$url = "https://www.orendapay.com.br/api/v1/cobranca/100200/captura";

		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);

		$headers = array();
		$headers[] = "x-ID:3566"; // Coloque seu ID aqui
		$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
		$headers[] = "Content-Type: application/json";

		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
		
		curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); // Definindo o PUT
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
		$response = curl_exec($curl);
		$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

		curl_close($curl);

		$retornoJSON = json_decode($response);
		

Caso a operação seja bem sucedida o retorno será um código 201.


PUT Cobrança / Cancelar / Estornar (Cancela uma cobrança)

O endpoint usado na API para realizar a operação de CANCELAR uma cobrança é a PUT cobranca/{CODIGO}/cancelar, onde CODIGO é o código da cobrança. Para obter o código da cobrança você poderá realizar consultas através dos métodos de consulta de GET cobrancas.

Atenção!
- Para Cobranças por Boleto Bancário
Cobrança paga por Boleto Bancário não será cancelada pela API. Só serão canceladas cobranças que ainda não foram pagas.

- Para Cobranças por Pix
Cobrança por Pix será cancelada pela API, se foi paga, o valor será estornado do extrato da empresa.

- Para Cobranças por Cartão (Crédito ou Débito)
Cobrança paga por cartão pode ser estornada/cancelada e o crédito será retirado do saldo da empresa. Caso ainda não tenha sido paga, ficará apenas com o status de cancelada não havendo estorno.

O "CODIGO" a ser enviado corresponde ao "codigo" e não ao "seu_codigo".


		$url = "https://www.orendapay.com.br/api/v1/cobranca/100200/cancelar";

		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);

		$headers = array();
		$headers[] = "x-ID:3566"; // Coloque seu ID aqui
		$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
		$headers[] = "Content-Type: application/json";

		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
		
		curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); // Definindo o PUT
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
		$response = curl_exec($curl);
		$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

		curl_close($curl);

		$retornoJSON = json_decode($response);
		

Caso a operação seja bem sucedida o retorno, será um código 201.

Caso de saldo em conta menor que o valor do estorno solicitado, será retornado um código 204.

Caso de cobrança já paga ou operação não realizada, será retornado um código 403.


PUT Cancelar Recorrência / Cancela uma recorrência

O endpoint usado na API para realizar a operação de CANCELAR UMA RECORRÊNCIA é o PUT cobranca/{CODIGO}/cancelar_recorrencia, onde CODIGO é o código da cobrança. Para obter o código da cobrança você poderá realizar consultas através dos métodos de consulta de GET cobrancas.

Atenção
Essa operação irá remover a recorrência da cobrança informada, seja ela uma cobrança recorrênte por Pix, boleto bancário ou cartão de crédito e débito.

O "CODIGO" a ser enviado corresponde ao "codigo" e não ao "seu_codigo".


		$url = "https://www.orendapay.com.br/api/v1/cobranca/100200/cancelar_recorrencia";

		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);

		$headers = array();
		$headers[] = "x-ID:3566"; // Coloque seu ID aqui
		$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
		$headers[] = "Content-Type: application/json";

		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
		
		curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); // Definindo o PUT
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
		$response = curl_exec($curl);
		$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

		curl_close($curl);

		$retornoJSON = json_decode($response);
		

Caso a operação seja bem sucedida o retorno será um código 201.


PUT Suspender Recorrência / Suspende uma recorrência por cartão de crédito ou débito

O endpoint usado na API para realizar a operação de SUSPENDER UMA RECORRÊNCIA é o PUT cobranca/{CODIGO}/suspender_recorrencia, onde CODIGO é o código da cobrança. Para obter o código da cobrança você poderá realizar consultas através dos métodos de consulta de GET cobrancas.

Atenção
Essa operação irá desativar a recorrência da cobrança informada, essa operação estará disponível para cobranças que já possuem uma recorrência ativada por cartão de crédito ou débito.

O "CODIGO" a ser enviado corresponde ao "codigo" e não ao "seu_codigo".


		$url = "https://www.orendapay.com.br/api/v1/cobranca/100200/suspender_recorrencia";

		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);

		$headers = array();
		$headers[] = "x-ID:3566"; // Coloque seu ID aqui
		$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
		$headers[] = "Content-Type: application/json";

		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
		
		curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); // Definindo o PUT
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
		$response = curl_exec($curl);
		$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

		curl_close($curl);

		$retornoJSON = json_decode($response);
		

Caso a operação seja bem sucedida o retorno será um código 201.


PUT Reativar Recorrência / Reativa uma recorrência por cartão de crédito ou débito

O endpoint usado na API para realizar a operação de REATIVAR UMA RECORRÊNCIA é o PUT cobranca/{CODIGO}/reativar_recorrencia, onde CODIGO é o código da cobrança. Para obter o código da cobrança você poderá realizar consultas através dos métodos de consulta de GET cobrancas.

Atenção
Essa operação irá reativar a recorrência da cobrança informada, essa operação estará disponível para cobranças que possuem uma recorrência desativada, seja ela por cartão de crédito ou débito.

O "CODIGO" a ser enviado corresponde ao "codigo" e não ao "seu_codigo".


		$url = "https://www.orendapay.com.br/api/v1/cobranca/100200/reativar_recorrencia";

		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);

		$headers = array();
		$headers[] = "x-ID:3566"; // Coloque seu ID aqui
		$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
		$headers[] = "Content-Type: application/json";

		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
		
		curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); // Definindo o PUT
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
		$response = curl_exec($curl);
		$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

		curl_close($curl);

		$retornoJSON = json_decode($response);
		

Caso a operação seja bem sucedida o retorno será um código 201.


Clientes (Consulta Clientes)

O endpoint usado na API para realizar a operação de consultar todos seus clientes é a GET clientes, veja abaixo um exemplo desta operação.


		$url = "https://www.orendapay.com.br/api/v1/clientes";

		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);

		$headers = array();
		$headers[] = "x-ID:3566"; // Coloque seu ID aqui
		$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
		$headers[] = "Content-Type: application/json";

		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
		
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
		$response = curl_exec($curl);
		$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

		curl_close($curl);

		$retornoJSON = json_decode($response);
		

Caso a operação seja bem sucedida o retorno será um código 200 com o seguinte json no body:


{
"clientes":
	[
		{
		"cliente_nome":"Joaquim Morais de Sá",
		"cliente_cpf_cnpj":"07156698542",
		"cliente_telefone":"(71)3242-2929",
		"cliente_email":"joaquim@exemplo.com.br",
		"cliente_endereco":"Rua Omar Bastista, 10",
		"cliente_cidade":"Manaus",
		"cliente_uf":"AM",
		"cliente_cep":"69005015",
		"cliente_grupo":"Escola X"	
		}
	]
}

CallBack (Criar Cobrança)

O CallBack de situação das cobranças funcionará de forma individual (Vide Criar Cobrança) passando a sua URL de callback por cobrança. Havendo qualquer alteração da situação da cobrança o sistema emitirá um POST de JSON à URL de callback que deverá está preparada para recebe-lo.


/* Modelo de JSON de callback */

{
   "seu_codigo":"Pedido 26200",
   "numero":"94015",
   "situacao":"pago",
   "codigo_custom":"26200"
}
	
		


/* Modelo do arquivo que irá receber POST no seu lado */

$data = json_decode(file_get_contents('php://input'), true);

$seu_codigo = $data['seu_codigo']; // Seu código ou Referência Interna
$numero = $data['numero']; // Número da Cobrança
$situacao = $data['situacao']; // Possíveis Status: Ver tabela.
$codigo_custom = $data['codigo_custom']; // Código customizado informado na API

		
		

Importante! O campo de retorno "codigo_custom" do callback que deverá ser considerado como o "seu código" de controle, que foi indicado no campo seu_codigo do POST COBRANCA, ele é a sua referência.

Tabela de Retornos do Callback no campo situação

Situação Descrição
cancelado A cobrança foi cancelada.
aguardando A cobrança foi criada e está aguardando confirmação de pagamento ou outros status.
pago A cobrança foi paga.
vencido A cobrança venceu.
dispute O cliente pagador abriu uma disputa do pagamento realizado via cartão.
estorno_parcial Cobrança por cartão recebeu um estorno parcial.
estorno Cobrança por cartão recebeu um estorno total.
chargeback Cobrança por cartão foi contestada.
credito Cobrança por cartão créditada em extrato / Valor disponível

Testando Callbacks

A OrendaPay fornece uma alternativa para simular o envio de callbacks. Essa simulação é muito útil para testar callbacks de pagamentos que não são imediatos, como pagamentos por boletos bancários e Pix. Os testes visam atender exclusivamente as operações da API, com isso, os callbacks apresentados nas simulações não representam necessariamente os status reais das cobranças na sua conta OrendaPay utilizada na integração.

Para testar você precisa seguir os 3 passos abaixo:

  • Cadastrar uma cobrança via API com o CPF de cliente igual a 111.222.333-44
  • Informar uma URL válida no campo URL_CALLBACK na criação da cobrança via API.
  • Realizar a chamada à API abaixo, fornecendo o CODIGO da cobrança e o status do callback desejado.

Veja abaixo os métodos PUT para receber o callback da cobrança com CPF igual a 111.222.333-44:

- PUT  https://www.orendapay.com.br/api/v1/callback/{CODIGO}/cancelado
- PUT  https://www.orendapay.com.br/api/v1/callback/{CODIGO}/aguardando
- PUT  https://www.orendapay.com.br/api/v1/callback/{CODIGO}/pago
- PUT  https://www.orendapay.com.br/api/v1/callback/{CODIGO}/vencido
- PUT  https://www.orendapay.com.br/api/v1/callback/{CODIGO}/dispute
- PUT  https://www.orendapay.com.br/api/v1/callback/{CODIGO}/estorno_parcial
- PUT  https://www.orendapay.com.br/api/v1/callback/{CODIGO}/estorno
- PUT  https://www.orendapay.com.br/api/v1/callback/{CODIGO}/chargeback
- PUT  https://www.orendapay.com.br/api/v1/callback/{CODIGO}/credito
					

O "CODIGO" a ser enviado corresponde ao campo "codigo" do JSON da cobrança e não ao campo "seu_codigo".


Cartões para Testes

A OrendaPay fornece alguns números de cartões de crédito com a finalidade de testes e simulações dos variados retornos da API. Os testes visam atender exclusivamente as operações da API, com isso, os retornos e callbacks apresentados nas simulações não representam necessariamente os status reais das cobranças na sua conta OrendaPay utilizada na integração.

Com os cartões para testes, os desenvolvedores da API OrendaPay poderão executar testes de integração à API sem precisar adicionar cartões de crédito reais à Conta OrendaPay.

Para testes com Cartões

Número Cartão Tipo Parcela Nome Cartão CVC Validade Retorno "situacao_cartao"
1155901222281111
credit
1
TEST
123
12/29
OK
2155901222282222
credit
2 a 12
TEST
123
12/29
OK
3155901222283333
credit
1
TEST
123
12/29
erro
4155901222284444
credit
2 a 12
TEST
123
12/29
erro
5155901222285555
debit
1
TEST
123
12/29
OK
6155901222286666
debit
1
TEST
123
12/29
erro

Ao usar os cartões para testes acima, serão enviandos também callbacks conforme documentação


Codigos de Retorno e Descrição das Requisições (HTTP)

Codigo Descrição
495 Requisição não segura - SSL Certificate Error
Seu ambiente/servidor precisa está com protocolo HTTPS/SSL de segurança para comunicar com a API
200 A requisição foi bem sucedida
201 Recurso criado ou alterado com sucesso
400 Alguma informação enviada está incorreta. {Descrição do erro}
401 Problemas na autenticação. Verifique sua api key
403 Acesso a um recurso não permitido.
Pode ocorrer em virtude de endpoint errado, exemplo: "cobrancas" ao invés de "cobranca". Pode ocorrer também em caso de ações não permitidas, exemplo: cancelar uma cobrança já cancelada.
404 Método não existe ou tipo de chamada não aceita neste método
500 Erro interno do sistema. Comunique nossa equipe técnica.
501 A operação não foi concluída. Erro interno, comunique nossa equipe técnica.
407 A origem do acesso não é API. Não autorizado.
406 Token não existe.
409 Erro de conflito: {Descrição do erro}