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

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:


{
	"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",
	"data_envio":"14/07/2019",
	"data_pagamento":"15/07/2019",
	"valor_pago":"230.10",
	"linha_digitavel":"23220504004149071713832002209202449560000012200",
	"url":"https://www.orendapay.com.br/pagar/301200",
	"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",
	"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 30 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 "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 nesta modalidade.
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 SMS de pagamento, Valor "1" para enviar SMS de pagamento.
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_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 "numero" e "situacao" (vide possíveis situações em "Tabela de Situação da Cobrança" 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.


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 na sua integração deve seguir algumas regras para ser considerado:

  • O parametro percentual deve ser informado em percentual (%).
  • O total dos percentuais NÃO deve totalizar 100%, pois o percentual restante do Split informado será da conta criadora (a sua).
  • 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:


		...
		"SPLIT" => array( 
			array('percentual'=>'25','email'=>'beneficiario1@email.com.br'),
			array('percentual'=>'25','email'=>'beneficiario2@email.com.br')
		),
		"SPLIT_TIPO" => "D",
		...
			
Então, vale a pena repetir!
  • O restante dos percentuais informados 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%


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);

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",
			"data_envio":"14/07/2019",
			"data_pagamento":"15/07/2019",
			"valor_pago":"230.10",
			"linha_digitavel":"23220504004149071713832002209202449560000012200",
			"url":"https://www.orendapay.com.br/pagar/301200",
			"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);
	

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",
			"data_pagamento":"15/07/2019",
			"valor_pago":"230.10",
			"linha_digitavel":"23220504004149071713832002209202449560000012200",
			"cliente_nome":"Joaquim Morais de Sá",
			"cliente_cpf_cnpj":"07156698542"	
		}
	]
}
		


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 "codigo" e não ao "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 por boleto bancário que ainda não foram pagas.

- 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.


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 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) e havendo qualquer alteração da situação da cobrança o sistema emitirá um POST à URL de callback que deverá está preparada para receber.


/* 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
$numero = $data['numero']; // Número da Cobrança
$situacao = $data['situacao']; // Possíveis Status: cancelado, aguardando, pago, vencido
$codigo_custom = $data['codigo_custom']; // Código customizado informado na API

		
		


Codigos de Retorno e Descrição

Codigo Descrição
495 Requisição não segura - SSL Certificate Error
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
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.