Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Messhias

Dúvida API CIELO 3.0

Recommended Posts

Bom dia galera,

Estou com um problema e umas dúvidas sobre a API 3.0 da CIELO, estou tentando fazer uma requisição de venda no ambiente de testes da sandbox e mesmo assim não consigo ter nenhum tipo de retorno.

Estou usando o framework codeigniter e to tentando fazer através de uma controller, algo basico e a aplicação ainda está no inicio de seu desenvolvimento.

Tentei tanto com PHP como Javascript:

Script PHP da controller (na minha tentativa com o PHP)

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Pagamento extends CI_Controller {

    public function index()
    {
        $url = 'https://apiquerysandbox.cieloecommerce.cielo.com.br/1/sales/';
        $headers = array(
            'MerchantId'     => 'XXXXX-XXX-XXX-XXX-XXX',
            'MerchantKey'     =>    'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
            'Content-Type'    =>    'Content-Type: application/json',
            'RequestId'        =>    rand(10,1000)
        );

        $data = array(
            "MerchantOrderId"=>rand(0,99999),
            "Customer"=>array(
                "Name"=>"Comprador Teste"
         ),
        );


        print_r($this->curl->submit_data($url,$data,$headers));

    }

}

/* End of file Checkout.php */
/* Location: ./application/controllers/Checkout.php */

Aqui está o script da library que eu criei para ler cURL:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Curl
{
    private $response;

    protected $ci;

    public function __construct()
    {
$this->ci =& get_instance();
    }


    public function submit_data($url = '', $data = array(),$headers = array()){
        ini_set('max_execution_time', 300);
        $ch = curl_init();
        $timeout = 500000;
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data,true));
        $this->response = curl_exec($ch);
        curl_close($ch);

        return $this->response;
    }

    public function setResponse($response = ""){
        $this->response = $response;
    }

    public function getResponse(){
        return $this->response;
    }

}

/* End of file Curl_library.php */
/* Location: ./application/libraries/Curl_library.php */

Achando que era um possivel problema de implementação minha no PHP eu criei uma uma requisição também com JQuery, porém, não obtive sucesso;

Javascript/JQuery:

<script type="text/javascript">
        $(document).ready(function() {

            $.ajaxSetup({
             beforeSend: function(xhr) {
             xhr.setRequestHeader("MerchantId", 'XXXXXXX-XXXX-XXXX-XXX-XXXXXXXXXXXXX');
             xhr.setRequestHeader('MerchantKey', "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
             xhr.setRequestHeader('X-Requested-With','XMLHttpRequest')
             }
            });

            $.ajax({
                url: 'https://apiquerysandbox.cieloecommerce.cielo.com.br/1/sales/',
                type: 'POST',
                dataType: 'json',
        contentType: 'application/json',
        crossDomain:false,
                data: {
                },
                error:function(e,text,xhr) {
                    console.log(e);    
                },
                complete:function(e,text,xhr){
                    console.log(e);    
                }
            });
        });
    </script>

Link da documentação da API: https://developercielo.github.io/Webservice-3.0/

Link para criação do MerchantID e Key e chave para utilizar o sandbox: https://cadastrosandbox.cieloecommerce.cielo.com.br/

Estou a uns 3 dias encalhado nisso e não to conseguindo entender ainda onde foi que cometi algum erro ou se algo na doc não está claro ou se estou fazendo o procedimento errado.

Espero que possam me ajudar.

Com o uso da cURL o php me retorna em branco, não tenho retorno de nada.

No javascript / jquery meu retorno é apenas "error".

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

$headers[] = 'Content-Type: application/json';

$headers[] = 'MerchantId: '.$MerchantId;

$headers[] = 'MerchantKey: '.$MerchantKey;

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Andre Cunha
      Olá pessoal!
       
      Estou há algumas semanas tentando fazer a integração de um botão de doação visacheckout para uma ONG porém sem sucesso, escolhi a Cielo como a gateway de pagamento e merchant provider, no entanto estou enfrentando algumas dificuldades na implementação pois o site de ONG é em WooCommerce. Também com dificuldade devido a uma falta de entendimento entre a Cielo e Visa, pois requisitei as chaves de produção faz algumas semanas para a Visa e a mesma ainda não me retornou, conforme abaixo, as chaves continuam em progresso
       

       
      Solicitei as chaves para Visa e a mesma me disse para contatar diretamente a Cielo, pois ela que seria responsável por fazer essa integração. Quando contatei a Cielo, esta me disse que não poderia prosseguir com a integração sem as chaves, e agora estou contatando novamente a Visa para ver se consigo as chaves. 
       
      Algum de vocês já conseguiu implementar o botão de doação? Utilizaram a Cielo ou outro meio? Estou realmente precisando terminar isso pois a ONG está perdendo várias doações e está complicado!
       
      Obrigado a quem puder dar uma luz.
    • Por joaovrbarreto
      Como que posso pegar a URL de um retorno de JSON e redirecionar o usuário, estou utilizando a API Checkout Cielo e preciso redirecionar o cliente para a URL fornecida por eles,só que não sei como fazer isso
    • Por joaovrbarreto
      Estou tentando configurar a API 3.0 da cielo e o PHP está me trazendo esse erro ( Fatal error: Uncaught Error: Class 'Cielo\API30\Ecommerce\Environment' not found in C:\xampp\htdocs\api-cielo\credit-card.php:14 Stack trace: #0 {main} thrown in C:\xampp\htdocs\api-cielo\credit-card.php on line 14 ) ,alguém pode me auxiliar dizendo onde estou errando ?
       
       
    • Por joaovrbarreto
      Como que eu posso criar uma requisição pela API da Cielo 3.0 pelo Postman?
       
      Estou começando aprender integração entre meios de pagamento agora e estou muito perdido.Alguém poderia me dar 
      Step One Step para começar e aprender de maneira fácil integrar.
    • Por Good
      Estou desenvolvendo um programa básico de compras, e no final é preciso selecionar o método de pagamento... 
       
      No caso estou com uma máquina cielo de modelo iwl251. Eu preciso fazer a conexão da máquina com o programa (em java), já dei uma olhada na api no github da cielo, mas não entendi muito. E queria saber se vocês não tem um programa com o mesmo em funcionamento para que eu possa me basear e finalizar.
       
      ------
       
      E o que seria esse MERCHANT ID e MERCHANT KEY que pede na api..? Onde consigo? Veio com a máquina?
       
      Agradeço!
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.