Analisando propostas

Instalar sistema de pagamento (Pagar-me) em um site Php.

Publicado em 02 de Agosto de 2018 dias na TI e Programação

Sobre este projeto

Aberto

Um antigo site de e-commerce tem que trocar o seu sistema de pagamento. O site em PHP/Bootstrap3 já tem todas as funcionalidades e é necessário integrar a finalização de pagamentos com o checkout transparente do Pagar-me (conta já aberta e com toda a documentação). É Necessário desenvolver tanto a geração e envio de transação quanto o retorno de transação pelo Pagar.me.


Documentação do Pagar-me: https://docs.pagar.me/docs/overview-principal

NO lado do nosso site temos um código que envia as variáveis para o sistema de pagamento (antigo) e também trata o retorno  que deve ser alterado para o Pagar-Me:

if ($num_transc == 0) {

        // ----------->> transação cartão inicio
        
        $date_transacao = "inicio: ";
     
        $ur_return = utf8_encode('http://www.medjet.com.br/app/pagamento-ok.php');

        require '../Gw/LocawebGateway.php';
        //LocawebGatewayConfig::setEnvironment('production'); // production //sandbox
        $token = utf8_encode('5xxxxxxxxxxxxxxxxxxxxx353d2'); //produção
        //$token = utf8_encode('b53225xxxxxxxxxxxxxxxxxxxx7-1fe61c526cdd'); //testes
        LocawebGatewayConfig::setToken($token); // produção
        if (($dados = Erro::retornarDados())) {
            $requisicao = LocawebGateway::criar($dados);
        } else {
            $requisicao = LocawebGateway::criar(array(
                'url_retorno' => $ur_return,
                'capturar' => 'true',
                'pedido' => array(
                    'numero' => $pedido,
                    'total' => $tt_pd, // "100.00", //
                    'moeda' => "real",
                    'descricao' => "Produto para Saude"
                ),
                'pagamento' => array(
                    'meio_pagamento' => 'cielo', // cielo , redecard_web, redecard_ws, itau_shopline
                    'bandeira' => $bandeira,
                    'cartao_numero' => $num_card,
                    'cartao_cvv' => $cod_card,
                    'parcelas' => $parcelas,
                    'tipo_operacao' => $tipo_operacao, // “credito_a_vista” , “parcelado_loja” , “parcelado_administradora”
                    'cartao_validade' => $validade_card // 082016
                ),
                'comprador' => array(
                    'nome' => $nome_card
                    //        'documento' => $cpf_card,
                    //        'endereco' => "rua", // $res_end['endereco']
                    //        'numero' => 11, // $res_end['numero']
                    //        'cep' =>  88888888, // $cep_php
                    //        'bairro' => "bairro", //  $res_end['bairro']
                    //        'cidade' => "cidade", //  $res_end['nome_c']
                    //        'estado' => "sigla" //  $res_end['sigla']
                )
            )); //->sendRequest();
            //converte para utf
            function utf8_encode_deep(&$input) {
                if (is_string($input)) {
                    $input = utf8_encode($input);
                } else if (is_array($input)) {
                    foreach ($input as &$value) {
                        utf8_encode_deep($value);
                    }

                    unset($value);
                } else if (is_object($input)) {
                    $vars = array_keys(get_object_vars($input));

                    foreach ($vars as $var) {
                        utf8_encode_deep($input->$var);
                    }
                }
            }
            utf8_encode_deep($requisicao);
        }

        $transacao = $requisicao->sendRequest();
        (new Erro(15))->verificar($requisicao, $transacao);
        //echo json_last_error();
        //$transacao->Sendrequest();
        $id_transacao = $transacao->transacao->id;
        $codigo_erro = $transacao->transacao->erro->codigo;

        if (is_numeric($meio_pagamento)) {
            $cod_pag = $meio_pagamento;
        } else {
            $cod_pag = 0;
            $desconto = 0;
        }

        if ($id_transacao > 0) {
//adiciona a nova transação
            $status_tran = $transacao->transacao->status;
            $sql_add = "insert into transacoes ( id_transacao, status, meio_pagamento, pedido, total, url_acesso, seq, comprovante, autent, autoriz, url_comprovante, data_transacao, parcelas, card_inicio, card_final, nome_titular, cpf_titular) values (" . $Id_transacao . ", '" .
$Status_tran . "','" . $Transacao->transacao->meio_pagamento .
"', " . $Transacao->transacao->numero_pedido . ", " . $Transacao->transacao->total .
", '" . $Transacao->transacao->url_acesso . "', '" . $Transacao->transacao->detalhes->tid .
"'," . $Transacao->transacao->detalhes->nsu . ", '" . $Transacao->transacao->detalhes->pan .
"', '" . $Transacao->transacao->detalhes->arp . "','" . $Transacao->transacao->detalhes->lr .
"',  NOW(), '" . $Parcelas . "', '".Substr($num_card    ,0, 4)."
', '" . Substr($num_card,-4) . "', '".Trim($nome_card)."', '".$Cpf_card."')";
            $Exe_add = mysql_query($sql_add, $bd) or die(mysql_error());
            $sql_repeat = "select email from transacoes inner join pedido on (pedido = codigo_pedido) where codigo_pedido = ".$Transacao->transacao->numero_pedido . " AND transacoes.status = 'negada'";
            $exe_repeat = mysql_query($sql_repeat, $bd);
            $reg_repeat = mysql_fetch_assoc($exe_repeat);


Caso o desenvolvedor já tenha conhecimento em implantar outro serviço de gateway de pagamento, podemos estudar o troca do Pagar-me.

Por favor antes de enviar proposta leia a documentação do pagar-me para verificar se conseguirá cumprir o trabalho,

Categoria TI e Programação
Subcategoria Lojas Virtuais (e-commerce)
Qual é o alcance do projeto? Bug ou alteração pequena
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Integrações de API Payment Processor (Paypal, Stripe, etc)
Funções necessárias Desenvolvedor

Prazo de Entrega: 07 de Agosto de 2018

Habilidades necessárias