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,
Delivery term: August 07, 2018