/**
  * Realiza a busca através do transaction id vindo do pagseguro via get ou post 
  * em sua URL de retorno
  * 
  * @param string $idTransacao
  * @return object
  * @since 2.1
  */
 public function obterInformacoesTransacao($idTransacao)
 {
     try {
         $this->consultaPorCodigo = PagSeguroTransactionSearchService::searchByCode($this->credenciais, $idTransacao);
         if ($this->consultaPorCodigo) {
             return true;
         }
     } catch (PagSeguroServiceException $e) {
         echo $e->getMessage();
         exit;
     }
 }
 public static function main()
 {
     $transaction_code = '59A13D84-52DA-4AB8-B365-1E7D893052B0';
     try {
         /*
          * #### Crendencials #####
          * Substitute the parameters below with your credentials (e-mail and token)
          * You can also get your credentails from a config file. See an example:
          * $credentials = PagSeguroConfig::getAccountCredentials();
          */
         $credentials = new PagSeguroAccountCredentials("*****@*****.**", "your_token_here");
         $transaction = PagSeguroTransactionSearchService::searchByCode($credentials, $transaction_code);
         self::printTransaction($transaction);
     } catch (PagSeguroServiceException $e) {
         die($e->getMessage());
     }
 }
예제 #3
0
 public static function main()
 {
     $transaction_code = '59A13D84-52DA-4AB8-B365-1E7D893052B0';
     try {
         /*
          * #### Credentials #####
          * Replace the parameters below with your credentials (e-mail and token)
          * You can also get your credentials from a config file. See an example:
          * $credentials = PagSeguroConfig::getAccountCredentials();
          */
         $credentials = new PagSeguroAccountCredentials("*****@*****.**", "E231B2C9BCC8474DA2E260B6C8CF60D3");
         $transaction = PagSeguroTransactionSearchService::searchByCode($credentials, $transaction_code);
         self::printTransaction($transaction);
     } catch (PagSeguroServiceException $e) {
         die($e->getMessage());
     }
 }
 public function get_transaction_detail($transaction_code = null)
 {
     if ($transaction_code) {
         $credentials = $this->get_credentials();
         $transaction = PagSeguroTransactionSearchService::searchByCode($credentials, $transaction_code);
         $data = array('status' => 'Não foi possível carregar', 'nome' => 'Não foi possível carregar', 'email' => 'Não foi possível carregar', 'date' => 'Não foi possível carregar', 'valor' => 'Não foi possível carregar', 'taxas' => 'Não foi possível carregar', 'valor_bruto' => 'Não foi possível carregar', 'telefone' => 'Não foi possível carregar', 'tipoPagamento' => 'Não foi possível carregar', 'cep' => 'Não foi possível carregar', 'rua' => 'Não foi possível carregar', 'numero' => 'Não foi possível carregar', 'cidade' => 'Não foi possível carregar', 'estado' => 'Não foi possível carregar', 'bairro' => 'Não foi possível carregar', 'produtos' => null);
         $statusType = array(1 => 'Aguardando pagamento', 2 => 'Em análise', 3 => 'Paga', 4 => 'Disponível', 5 => 'Em disputa', 6 => 'Devolvida', 7 => 'Cancelada');
         $paymentType = array(1 => 'Cartão de crédito', 2 => 'Boleto', 3 => 'Débito online (TEF)', 4 => 'Saldo PagSeguro', 7 => 'Depósito em conta');
         if ($transaction->getSender()) {
             $data['status'] = $statusType[$transaction->getStatus()->getValue()];
             $data['nome'] = trim($transaction->getSender()->getName());
             $data['email'] = $transaction->getSender()->getEmail();
             $data['date'] = date_format(date_create($transaction->getDate()), 'Y/m/d H:i:s');
             $data['valor'] = $transaction->getGrossAmount();
             $data['valor_bruto'] = $transaction->getNetAmount();
             $data['taxas'] = $transaction->getFeeAmount();
             $data['tipoPagamento'] = isset($paymentType[$transaction->getPaymentMethod()->getType()->getValue()]) ? $paymentType[$transaction->getPaymentMethod()->getType()->getValue()] : 'Tipo de pagamento desconhecido';
             if ($transaction->getSender()->getPhone()) {
                 $data['telefone'] = $transaction->getSender()->getPhone()->getAreaCode() . " - " . $transaction->getSender()->getPhone()->getNumber();
             }
             $data['cep'] = $transaction->getShipping()->getAddress()->getPostalCode();
             $data['rua'] = $transaction->getShipping()->getAddress()->getStreet();
             $data['numero'] = $transaction->getShipping()->getAddress()->getNumber();
             $data['complemento'] = $transaction->getShipping()->getAddress()->getComplement();
             $data['bairro'] = $transaction->getShipping()->getAddress()->getDistrict();
             $data['cidade'] = $transaction->getShipping()->getAddress()->getCity();
             $data['estado'] = $transaction->getShipping()->getAddress()->getState();
             if ($transaction->getItems()) {
                 if (is_array($transaction->getItems())) {
                     $produtos = array();
                     foreach ($transaction->getItems() as $key => $item) {
                         $produtos[] = array('id' => $item->getId(), 'descricao' => $item->getDescription(), 'qtde' => $item->getQuantity(), 'valor' => $item->getAmount(), 'valor_total' => $item->getAmount() * $item->getQuantity());
                     }
                     $data['produtos'] = $produtos;
                 }
             }
             return $data;
         } else {
             return false;
         }
     } else {
         return null;
     }
 }
 public static function main()
 {
     $transaction_code = 'FC138A0E-C734-44A8-A9B7-6A79E1E33292';
     try {
         /*
          * #### Credentials #####
          * Replace the parameters below with your credentials
          * You can also get your credentials from a config file. See an example:
          * $credentials = PagSeguroConfig::getAccountCredentials();
          */
         // seller authentication
         $credentials = new PagSeguroAccountCredentials("*****@*****.**", "E231B2C9BCC8474DA2E260B6C8CF60D3");
         // application authentication
         //$credentials = PagSeguroConfig::getApplicationCredentials();
         //$credentials->setAuthorizationCode("E231B2C9BCC8474DA2E260B6C8CF60D3");
         $transaction = PagSeguroTransactionSearchService::searchByCode($credentials, $transaction_code);
         self::printTransaction($transaction);
     } catch (PagSeguroServiceException $e) {
         die($e->getMessage());
     }
 }
예제 #6
0
파일: return.php 프로젝트: rborgesds/FluxCP
require_once Flux::config('PagSeguroLib');
$donateTable = Flux::config('FluxTables.DonateTable');
$tableBan = Flux::config('FluxTables.AccountBanTable');
$donatePromo = Flux::config('Promotion');
$initPromo = Flux::config('InitPromo');
$donateVar = Flux::config('PagSeguroVar');
$donateFlux = Flux::config('PagSeguroFlux');
$rate = Flux::config('rate');
$hercules = Flux::config('hercules');
if (count($_GET) && isset($_GET['transaction_id'])) {
    $transactionCode = str_replace(' ', '', strtoupper($_GET['transaction_id']));
    if (!preg_match('/^[A-Z 0-9]{8}[-]?[A-Z 0-9]{4}[-]?[A-Z 0-9]{4}[-]?[A-Z 0-9]{4}[-]?[A-Z 0-9]{12}$/', $transactionCode)) {
        $errorMessage = sprintf('Formato do código de transação incorreto! O formato deve ser: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.');
    } else {
        $transactionCredencial = new PagSeguroAccountCredentials(Flux::config('EmailPagSeguro'), Flux::config('TokenPagseguro'));
        $transactionPagseguro = PagSeguroTransactionSearchService::searchByCode($transactionCredencial, $transactionCode);
        $donateStatus = $transactionPagseguro->getStatus()->getValue();
        $donateRef = $transactionPagseguro->getReference();
        $sql = "SELECT * FROM {$server->loginDatabase}.{$donateTable} WHERE payment_id = ?";
        $sth = $server->connection->getStatement($sql);
        $sth->execute(array($donateRef));
        $donate = $sth->fetch();
        $account = $donate->account_id;
        $donateVal = $donate->payment;
        $status = $donate->payment_status_pagseguro;
        if ($donateStatus != $status) {
            switch ($donateStatus) {
                case 1:
                    $sql = "UPDATE {$server->loginDatabase}.{$donateTable} ";
                    $sql .= "SET payment_code = ?, payment_status_pagseguro = ?, payment_status = ? ";
                    $sql .= "WHERE payment_id = ?";
예제 #7
0
 public function hookPaymentReturn($params)
 {
     global $smarty, $cookie;
     require_once "vendor/PagSeguroLibrary/PagSeguroLibrary.php";
     $transaction_code = Tools::getValue('transaction_id');
     $id_order = Tools::getValue("id_order");
     if ($transaction_code) {
         Db::getInstance()->Execute("INSERT INTO `" . _DB_PREFIX_ . "pagseguro_order` VALUES (NULL, {$id_order}, '{$transaction_code}');");
     }
     $objOrder = new Order($id_order);
     //$transaction_code = Db::getInstance()->getValue("SELECT id_transaction FROM " . _DB_PREFIX_ . "pagseguro_order WHERE id_order = {$id_order} ");
     try {
         $credentials = new PagSeguroAccountCredentials(Configuration::get("PAGSEGURO_BUSINESS"), Configuration::get("PAGSEGURO_TOKEN"));
         $transaction = PagSeguroTransactionSearchService::searchByCode($credentials, $transaction_code);
         $statusValue = $transaction->getStatus()->getValue();
         $order_state = Configuration::get("PAGSEGURO_STATUS_{$statusValue}");
         $orderState = new OrderState($order_state);
         $status = $orderState->name[$cookie->id_lang];
         if ($objOrder->getCurrentState() !== intval($order_state)) {
             $customer = new Customer(intval($params['objOrder']->id_customer));
             $mailVars = array('{email}' => Configuration::get('PS_SHOP_EMAIL'), '{firstname}' => stripslashes($customer->firstname), '{lastname}' => stripslashes($customer->lastname), '{terceiro}' => stripslashes($this->displayName), '{id_order}' => stripslashes($id_order), '{status}' => stripslashes($status));
             $objOrderHistory = new OrderHistory();
             $objOrderHistory->id_order = intval($id_order);
             $objOrderHistory->changeIdOrderState($order_state, $id_order);
             $objOrderHistory->addWithemail(true, $mailVars);
         }
     } catch (PagSeguroServiceException $e) {
         return false;
         die($e->getMessage());
     }
     $cart = new Cart($params['objOrder']->id_cart);
     $smarty->assign(array("id_order" => $id_order, "total" => $params['total_to_pay'], "codigo_pagseguro" => $transaction->getCode(), "status" => $status));
     return $this->display(__FILE__, 'payment_return.tpl');
 }
 public function search($code)
 {
     try {
         $transaction = \PagSeguroTransactionSearchService::searchByCode(new \PagSeguroAccountCredentials($this->credentials['email'], $this->credentials['token']), $code);
         return ['status' => $transaction->getStatus()->getTypeFromValue()];
     } catch (\PagSeguroServiceException $e) {
         return $e->getMessage();
     }
 }
예제 #9
0
 public function getDados($transacao_id)
 {
     $credentials = $this->logar();
     /* C�digo identificador da transa��o  */
     $transaction_id = $transacao_id;
     /*
      Realizando uma consulta de transa��o a partir do c�digo identificador
     para obter o objeto PagSeguroTransaction
     */
     $transaction = PagSeguroTransactionSearchService::searchByCode($credentials, $transaction_id);
     return $transaction;
 }
 /**
  * Create Transaction
  */
 private function _createTransaction()
 {
     $this->obj_transaction = PagSeguroTransactionSearchService::searchByCode($this->obj_credential, $this->transaction_code);
 }
 public function callbackPagamento($id_integracao, $transaction_id)
 {
     //echo "<h1>$transaction_id</h1>";
     //?transaction_id=42E40F60-032A-4590-A357-D067CAA5858F
     // Validar o pagamento
     // Incluir PagSeguro
     include_once PLUGINPATH . '/vendor/PagSeguro/PagSeguroLibrary.php';
     // Obter a transação retornada
     // Verificar situação
     /* @var $integracao Integracao */
     $integracao = Integracoes::getInstance()->getById($id_integracao);
     $credentials = new PagSeguroAccountCredentials($integracao->client, $integracao->token);
     $transaction = PagSeguroTransactionSearchService::searchByCode($credentials, $transaction_id);
     $inscricao = Inscricoes::getInstance()->processarTransacaoPagSeguro($transaction);
     return $inscricao;
 }
예제 #12
0
 public function index()
 {
     $this->load->model('Order');
     $this->load->library('PagSeguroLibrary');
     $credentials = PagSeguroConfig::getAccountCredentials();
     if ($this->input->get('transaction_id')) {
         $id = $this->input->get('transaction_id');
         $transaction = PagSeguroTransactionSearchService::searchByCode($credentials, $id);
         $taxas_cobradas = $transaction->getFeeAmount();
         $vl_liquido_transacao = $transaction->getNetAmount();
         $vl_bruto_transacao = $transaction->getGrossAmount();
         $nr_parcelas = $transaction->getInstallmentCount();
         $nr_pedido_net = $transaction->getReference();
         $ultimo_evento = $transaction->getLastEventDate();
         $status = $transaction->getStatus()->getValue();
         $paymentMethod = $transaction->getPaymentMethod();
         $gross_amount = $transaction->getGrossAmount();
         $code = $paymentMethod->getCode()->getValue();
         $message = '';
         $payment = '';
         $status_crismetal = '';
         switch ($status) {
             case 1:
                 // crismetal : 1 - pendente
                 $message = "Aguardando pagamento.";
                 $status_crismetal = '1';
                 break;
             case 2:
                 // crismetal : 1 - pendente
                 $message = "Em análise.";
                 $status_crismetal = '1';
                 break;
             case 3:
                 // crismetal : 2 - aprovado
                 $message = "Pagamento aprovado.";
                 $status_crismetal = '2';
                 break;
             case 4:
                 // crismetal : 2 - aprovado
                 $message = "Disponível (Paga).";
                 $status_crismetal = '2';
                 break;
             case 5:
                 // crismetal : 9 - em disputa
                 $message = "Em disputa.";
                 $status_crismetal = '9';
                 break;
             case 6:
                 // crismetal : 6 - devolvida
                 $message = "Devolvida.";
                 $status_crismetal = '6';
                 break;
             case 7:
                 // crismetal : 7 - cancelada
                 $message = "Cancelada.";
                 $status_crismetal = '7';
                 break;
         }
         switch ($code) {
             case 101:
                 $payment = "Cartão de crédito Visa.";
                 break;
             case 102:
                 $payment = "Cartão de crédito MasterCard.";
                 break;
             case 103:
                 $payment = "Cartão de crédito American Express.";
                 break;
             case 104:
                 $payment = "Cartão de crédito Diners.";
                 break;
             case 105:
                 $payment = "Cartão de crédito Hipercard.";
                 break;
             case 106:
                 $payment = "Cartão de crédito Aura.";
                 break;
             case 107:
                 $payment = "Cartão de crédito Elo.";
                 break;
             case 108:
                 $payment = "Cartão de crédito PLENOCard.";
                 break;
             case 109:
                 $payment = "Cartão de crédito PersonalCard.";
                 break;
             case 110:
                 $payment = "Cartão de crédito JCB.";
                 break;
             case 111:
                 $payment = "Cartão de crédito Discover.";
                 break;
             case 112:
                 $payment = "Cartão de crédito BrasilCard.";
                 break;
             case 113:
                 $payment = "Cartão de crédito FORTBRASIL.";
                 break;
             case 114:
                 $payment = "Cartão de crédito CARDBAN.";
                 break;
             case 115:
                 $payment = "Cartão de crédito VALECARD.";
                 break;
             case 116:
                 $payment = "Cartão de crédito Cabal.";
                 break;
             case 117:
                 $payment = "Cartão de crédito Mais!.";
                 break;
             case 118:
                 $payment = "Cartão de crédito Avista.";
                 break;
             case 119:
                 $payment = "Cartão de crédito GRANDCARD.";
                 break;
             case 201:
                 $payment = "Boleto Bradesco.";
                 $vl_bruto_transacao += 1;
                 break;
             case 202:
                 $payment = "Boleto Santander.";
                 $vl_bruto_transacao += 1;
                 break;
             case 301:
                 $payment = "Débito online Bradesco.";
                 break;
             case 302:
                 $payment = "Débito online Itaú.";
                 break;
             case 303:
                 $payment = "Débito online Unibanco.";
                 break;
             case 304:
                 $payment = "Débito online Banco do Brasil.";
                 break;
             case 305:
                 $payment = "Débito online Banco Real.";
                 break;
             case 306:
                 $payment = "Débito online Banrisul.";
                 break;
             case 401:
                 $payment = "Saldo PagSeguro.";
                 break;
             case 501:
                 $payment = "Oi Paggo.";
                 break;
             case 701:
                 $payment = "Depósito em conta - Banco do Brasil.";
                 break;
         }
         // rotina para atualizar tabela pedido_venda no banco
         $data_db = array('tipo_pagto' => $payment, 'cond_pagto' => $nr_parcelas, 'cd_status' => $status_crismetal, 'desc_status' => $message, 'vl_liquido' => $vl_liquido_transacao, 'vl_pago_juros' => $vl_bruto_transacao, 'vl_taxas_cobradas' => $taxas_cobradas);
         $this->Order->updateOrder($nr_pedido_net, $data_db);
         // carrega view com os dados
         $data = array('id' => $id, 'message' => $message, 'payment' => $payment, 'amount' => $gross_amount);
         $this->load->view('open_header');
         $this->load->view('v_retorno', $data);
         $this->load->view('i_footer');
         $this->cart->destroy();
     } else {
         redirect('default_controller', 'location');
     }
 }
예제 #13
0
 public function verificaTransacao($transacao)
 {
     $this->credentials = new PagSeguroAccountCredentials($this->_email, $this->_token);
     $transaction = PagSeguroTransactionSearchService::searchByCode($this->credentials, $transacao);
     return $transaction;
 }