Пример #1
0
 public function saveInteracao($data)
 {
     $modelItenracao = new InteracaoModel();
     try {
         if ($data['id_plano'] == 1) {
             $time = date('Y-m-d', strtotime("+30 days", strtotime(date('Y-m-d'))));
             $data['data_validade'] = $time;
             $modelItenracao->insert($data);
         } else {
             $modelItenracao->insert($data);
         }
         return true;
     } catch (Exception $e) {
         print_r($e->getMessage());
         die;
         throw $e;
     }
 }
Пример #2
0
 public function retornoPagamentoAction()
 {
     if (isset($_POST['notificationType']) && $_POST['notificationType'] == 'transaction') {
         //Todo resto do código iremos inserir aqui.
         $email = '*****@*****.**';
         //$token = '256E9F0B507E4F328AF0BDD12883B054';
         $token = '3118ED043B2C40C584F52B2733CBBCB3';
         //$url = 'https://ws.pagseguro.uol.com.br/v2/transactions/notifications/' . $_POST['notificationCode'] . '?email=' . $email . '&token=' . $token;
         $url = 'https://ws.sandbox.pagseguro.uol.com.br/v2/transactions/notifications/' . $_POST['notificationCode'] . '?email=' . $email . '&token=' . $token;
         $curl = curl_init($url);
         curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
         curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
         $transaction = curl_exec($curl);
         curl_close($curl);
         if ($transaction == 'Unauthorized') {
             $html = new Zend_View();
             $html->setScriptPath(APPLICATION_PATH . '/modules/default/layouts/scripts/');
             $title = 'erro | Instag';
             $to = '*****@*****.**';
             //$cc = '*****@*****.**';
             $html->assign('title', $title);
             $html->assign('nome', 'erro transacao');
             $html->assign('assunto', $_POST['notificationCode']);
             $mail = new Zend_Mail('utf-8');
             $bodyText = $html->render('contato.phtml');
             $config = array('ssl' => 'tls', 'port' => 587, 'auth' => 'login', 'username' => '*****@*****.**', 'password' => 'Inndeia123');
             $transport = new Zend_Mail_Transport_Smtp('127.0.0.1', $config);
             $mail->addTo($to);
             //$mail->addCc($cc);
             $mail->setSubject($title);
             $mail->setFrom($to, 'Paulo');
             $mail->setBodyHtml($bodyText);
             $send = $mail->send($transport);
             exit;
             //Mantenha essa linha
         }
         $transaction = simplexml_load_string($transaction);
         $dados = array();
         $dados['status'] = $transaction->status;
         if ($dados['status'] == 3) {
             $dados['data_validade'] = date('Y-m-d', strtotime("+30 days", strtotime(date('Y-m-d'))));
         }
         $modelItenracao = new InteracaoModel();
         $where = $modelItenracao->getAdapter()->quoteInto('referencia_pagamento = ?', $transaction->reference);
         $return = $modelItenracao->update($dados, $where);
     }
 }
Пример #3
0
 public function gerarUrlPagseguroEsalvar(array $dados = null)
 {
     if ($dados != null) {
         $modelItenracao = new InteracaoModel();
         //$url = 'https://ws.pagseguro.uol.com.br/v2/checkout';
         $url = 'https://ws.sandbox.pagseguro.uol.com.br/v2/checkout';
         $dadosEnvio = array();
         $dadosEnvio['email'] = '*****@*****.**';
         //$dadosEnvio['token'] = '256E9F0B507E4F328AF0BDD12883B054';
         $dadosEnvio['token'] = '3118ED043B2C40C584F52B2733CBBCB3';
         $dadosEnvio['currency'] = 'BRL';
         if ($dados['plano'] == 2) {
             $dadosEnvio['itemId1'] = '01';
             $dadosEnvio['itemDescription1'] = 'Plano Especial 50';
             $dadosEnvio['itemAmount1'] = '400.00';
             $dadosEnvio['itemQuantity1'] = '01';
         } else {
             if ($dados['plano'] == 3) {
                 $dadosEnvio['itemId1'] = '02';
                 $dadosEnvio['itemDescription1'] = 'Plano Master 500';
                 $dadosEnvio['itemAmount1'] = '1300.00';
                 $dadosEnvio['itemQuantity1'] = '01';
             }
         }
         $ref = $dadosEnvio['reference'] = 'REF-' . date('dmYHis');
         $codTel = explode('(', $dados['telefone']);
         $codTel = explode(')', $codTel[1]);
         $extTel = explode('-', trim($codTel[1]));
         $codTel = $codTel[0];
         $extTel = $extTel[0] . $extTel[1];
         $dadosEnvio['senderName'] = $dados['nome'] . " " . $dados['sobrenome'];
         $dadosEnvio['senderAreaCode'] = $codTel;
         $dadosEnvio['senderPhone'] = $extTel;
         $dadosEnvio['senderEmail'] = $dados['email'];
         //$dadosEnvio['notificationURL'] = 'http://www.instag.com.br/acesso/retorno-pagamento';
         $dadosEnvio['redirectURL'] = $dados['redirect'];
         $dadosEnvio = http_build_query($dadosEnvio);
         $curl = curl_init($url);
         curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
         curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
         curl_setopt($curl, CURLOPT_POST, true);
         curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
         curl_setopt($curl, CURLOPT_POSTFIELDS, $dadosEnvio);
         $xml = curl_exec($curl);
         if ($xml == 'Unauthorized') {
             die('1');
             return false;
         }
         curl_close($curl);
         $xml = simplexml_load_string($xml);
         if (count($xml->error) > 0) {
             echo '<pre>';
             var_dump($xml);
             die;
             return false;
         }
         $modelItenracao->insert(array("id_cliente" => $dados['id'], "id_plano" => $dados['plano'], "code" => $xml->code, "data_code" => $xml->date, "referencia_pagamento" => $ref, "status" => 1));
         //return 'Location: https://pagseguro.uol.com.br/v2/checkout/payment.html?code=' . $xml->code;
         return 'https://sandbox.pagseguro.uol.com.br/v2/checkout/payment.html?code=' . $xml->code;
     }
     die('3');
     return false;
 }