JSON e PHP existe alguma integração entre as linguagens?

09/03/2015

0

gente eu to criando uma loja em PHP e agora me vi com um probleminha, para gerar os boletos do usando o https://www.boletobancario.com/boletofacil/ e a API deles é JSON e não faço a mínima de como integrar ao meu sistema :(
Cleyton Caetano

Cleyton Caetano

Responder

Posts

09/03/2015

Ronaldo Lanhellas

Primeiro você deve estudar JSON para então entender como entregar.

Primeiro passo: https://www.devmedia.com.br/introducao-json/23166
Segundo passo: integrando com php - http://php.net/manual/pt_BR/book.json.php
Responder

09/03/2015

Ronaldo Lanhellas

Primeiro você deve estudar JSON para então entender como entregar.

Primeiro passo: https://www.devmedia.com.br/introducao-json/23166
Segundo passo: integrando com php - http://php.net/manual/pt_BR/book.json.php
Responder

09/03/2015

Ronaldo Lanhellas

Primeiro você deve estudar JSON para então entender como entregar.

Primeiro passo: https://www.devmedia.com.br/introducao-json/23166
Segundo passo: integrando com php - http://php.net/manual/pt_BR/book.json.php
Responder

09/03/2015

Thiago Santana

Prefiro desenvolver o próprio boleto e homologar junto ao banco!
No seu caso melhor entender como enviar e receber JSON
Responder

09/03/2015

Cleyton Caetano

Prefiro desenvolver o próprio boleto e homologar junto ao banco!
No seu caso melhor entender como enviar e receber JSON


já pensei em fazer isso mas não sei como fazer, tem como gerar um boleto meu mesmo e quando o cliente efetuar o pagamento o dinheiro cair direto na minha conta?
Responder

09/03/2015

Ronaldo Lanhellas

Prefiro desenvolver o próprio boleto e homologar junto ao banco!
No seu caso melhor entender como enviar e receber JSON


já pensei em fazer isso mas não sei como fazer, tem como gerar um boleto meu mesmo e quando o cliente efetuar o pagamento o dinheiro cair direto na minha conta?


Você teria que solicitar ao banco a liberação de boletos para sua conta, não há simplesmente como você gerar um boleto e esperar que caia na sua conta. Outra alternativa é utilizar o PAGSEGURO, ele possibilita que você gere boletos e o dinheiro caia na conta do pagseguro e posteriormente você solicite o saque.
Responder

09/03/2015

Cleyton Caetano

Prefiro desenvolver o próprio boleto e homologar junto ao banco!
No seu caso melhor entender como enviar e receber JSON


já pensei em fazer isso mas não sei como fazer, tem como gerar um boleto meu mesmo e quando o cliente efetuar o pagamento o dinheiro cair direto na minha conta?


Você teria que solicitar ao banco a liberação de boletos para sua conta, não há simplesmente como você gerar um boleto e esperar que caia na sua conta. Outra alternativa é utilizar o PAGSEGURO, ele possibilita que você gere boletos e o dinheiro caia na conta do pagseguro e posteriormente você solicite o saque.


Já pensei no PAGSEGURO mas é uma opção que não quero usar, prefiro a idéia de que o boleto vai ser gerado e vai pra minha conta....
Responder

09/03/2015

Ronaldo Lanhellas

Então nesse caso, apenas conversando com o seu gerente do banco para ver a possibilidade de gerar boletos para sua conta.
Responder

09/03/2015

Thiago Santana

Existe a documentação dos bancos para desenvolver os boletos. Já desenvolvi boletos de vários bancos!
Você precisa fazer uma atualização a sua conta para poder receber títulos. Isso é feito junto ao banco!
Após o banco liberar, você desenvolve o boleto e envia para homologação...
Responder

09/03/2015

William

Cleyton fiz um cadastro rápido nesse site que você indicou só para ver se eles disponibilizam a documentação e como já era de se esperar eles fornecem todos os passos nesse link, é super tranquilo escrever integrações com jSON ainda mais usando PHP.

Pelo menos 2 vezes por mês tenho que montar alguma integração maluca com JSON, basta você saber utilizar a ferramenta cURL do PHP e pronto seus problemas estão resolvidos, com ela você pode enviar tanto requisições GET como POST, se for necessário enviar parâmetros basta montar uma array e passar para cURL enviar, depois é só capturar o retorno.

Não me leve a mau, mas vou deixar um conselho, se quer ser programador mesmo aprenda a "devorar" qualquer documentação de API!
Responder

10/03/2015

Cleyton Caetano

Cleyton fiz um cadastro rápido nesse site que você indicou só para ver se eles disponibilizam a documentação e como já era de se esperar eles fornecem todos os passos nesse link, é super tranquilo escrever integrações com jSON ainda mais usando PHP.

Pelo menos 2 vezes por mês tenho que montar alguma integração maluca com JSON, basta você saber utilizar a ferramenta cURL do PHP e pronto seus problemas estão resolvidos, com ela você pode enviar tanto requisições GET como POST, se for necessário enviar parâmetros basta montar uma array e passar para cURL enviar, depois é só capturar o retorno.

Não me leve a mau, mas vou deixar um conselho, se quer ser programador mesmo aprenda a "devorar" qualquer documentação de API!

Eu já tinha visto a API deles só não Manjo muito de jSON mas to me aprofundando a cada dia nos conteúdos relacionados à programação...
Responder

11/03/2015

Cleyton Caetano

William muito obrigada pela luz que me destes, passei horas lendo aqui e já posso dizer que estou me achando nesse mapa! como na página oficial do site explica estou fazendo alguns teste, mas me resta uma dúvida, estou fazendo uma requisição com metodo GET, quando acesso a URL gerada recebo o JSON, por exemplo.

URL de teste.
https://www.boletobancario.com/boletofacil/integration/api/v1/issue-charge?token=MEUTOKEN&description=Compra%20no%20site%20Marra%20Shopping&amount=800&payerName=Cleyton%20Caetano&payerCpfCnpj=94648945123&test=true&charge=link


recebo o JSON que é

{"data":{"charges":[]},"success":true}


isso segundo o que a documentação API informa diz que está tudo funcionando.

agora segue minha dúvida, da pra ver que existe uma ARRAY chamada charges que está vazia, segundo eles é assim mesmo que ocorre quendo estamos fazendo testes, quando eu estiver faturando normalmente o JSON virá mais ou menos assim.
{
    "success":true,
    "data":{
        "charges":[
            {
                "code":101,
                "dueDate":"19/02/2013",
                "link":"https://boletofacil/boleto?token=23:m:3454"
            },
            {
                "code":102,
                "dueDate":"19/03/2013",
                "link":"https://boletofacil/boleto?token=23:m:3454"
            }
        ]
    }
}


minha dúvida é de como faço para mostrar isso para meu cliente de forma legível.

melhor dizendo, pelo que entendi até agora vou ter que criar uma pagina e nela vou acessar essa URL com CURL e pegar esses dados e exibir eles para meu cliente?

tipo assim:

	$curl = curl_init("URL");
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
	$json = curl_exec($curl);
	curl_close($curl);


	$encoded = json_decode($json);

	$teste = $encoded->{'charges'});
        echo $teste['link'];


nesse exemplo acima deveria mostrar o link do boleto, seria assim? ou estou errando em algo? uma luz please.
Responder

11/03/2015

Cleyton Caetano

Bom pessoal, após efetuar uma compra acessando o LINK eu recebi o código JSON da forma que vou precisar processalo.

segue.
{"data":{"charges":[{"code":10041323,"dueDate":"14/03/2015","link":"https://www.boletobancario.com/boletofacil/charge/boleto.json?token=10041323:0f8ea603b9cdfca0c06f07be4ce47c72315ad4e9985adffc731050cbc88b2804"}]},"success":true}


mas não estou conseguindo ler esse código com PHP.

a forma que estou tentando ler é esta.

	$curl = curl_init("URL");
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
	$json = curl_exec($curl);
	curl_close($curl);
	
	$encoded = json_decode($json);

	print_r($encoded->{'code'}); //codigo da transacao
	print_r($encoded->{'dueDate'}); //data da transacao
	print_r($encoded->{'link'}); //link do boleto


mas eu recebo os seguintes erros.
Notice: Undefined property: stdClass::$code in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\loja\faturamento\recebe.php on line 10

Notice: Undefined property: stdClass::$dueDate in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\loja\faturamento\recebe.php on line 11

Notice: Undefined property: stdClass::$link in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\loja\faturamento\recebe.php on line 12


se eu uso ´código assim pra poder dar um var_dump() ainda não consigo, segue o código e resultado.

	$curl = curl_init("http://localhost/loja/faturamento/envia.php");
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
	$json = curl_exec($curl);
	curl_close($curl);
	
	$encoded = json_decode($json);

	$res = $encoded->data;

	var_dump($res);

// resultado do var_dump();

object(stdClass)#2 (1) { ["charges"]=> array(1) { [0]=> object(stdClass)#3 (3) { ["code"]=> int(10041323) ["dueDate"]=> string(10) "14/03/2015" ["link"]=> string(141) "https://www.boletobancario.com/boletofacil/charge/boleto.json?token=10041323:0f8ea603b9cdfca0c06f07be4ce47c72315ad4e9985adffc731050cbc88b2804" } } } 



esse ai foi o lugar mais longe que consegui ir.
Responder

11/03/2015

Cleyton Caetano

Posso não estar certo, mas acho que estou indo no caminho :)

	$curl = curl_init("http://localhost/loja/faturamento/envia.php");
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
	$json = curl_exec($curl);
	curl_close($curl);
	
	$encoded = json_decode($json);

	$res = $encoded->data;
	$res = $res->charges;

	var_dump($res);
	echo "<br><br><br>";
	print_r($res->{'code'}); //codigo da transacao
	print_r($res->{'dueDate'}); //data da transacao
	print_r($res->{'link'}); //link do boleto



resultado
array(1) { [0]=> object(stdClass)#3 (3) { ["code"]=> int(10041323) ["dueDate"]=> string(10) "14/03/2015" ["link"]=> string(141) "https://www.boletobancario.com/boletofacil/charge/boleto.json?token=10041323:0f8ea603b9cdfca0c06f07be4ce47c72315ad4e9985adffc731050cbc88b2804" } }



Notice: Trying to get property of non-object in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\loja\faturamento\recebe.php on line 17

Notice: Trying to get property of non-object in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\loja\faturamento\recebe.php on line 18

Notice: Trying to get property of non-object in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\loja\faturamento\recebe.php on line 19
Responder

11/03/2015

Cleyton Caetano

Bom pessoal, depois de muito quebrar a cabeça finalmente consegue resolver a parada, vejam aqui como ficou meu código.

	$curl = curl_init("http://localhost/loja/faturamento/envia.php");
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
	$json = curl_exec($curl);
	curl_close($curl);
	$encoded = json_decode($json);
	$res = $encoded->data;
	$res = $res->charges;
	foreach ($res as $key => $value) {
		echo $value->{'code'}."<br>";
		echo $value->{'dueDate'}."<br>";
		echo $value->{'link'}."<br>";

	}


resultado final
10041323
14/03/2015
https://www.boletobancario.com/boletofacil/charge/boleto.json?token=10041323:0f8ea603b9cdfca0c06f07be4ce47c72315ad4e9985adffc731050cbc88b2804
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar