Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Por favor, poste aqui todas as dúvidas que você está tendo sobre a instalação, atualização ou configuração do OpenCart v1.x
#39727
O problema está mesmo no pagseguro com o vale-presente, fiz um ajuste que funcionou, vou colocar aqui.

Dentro de /catalog/model/payment/pagseguro.php na linha 67 mais ou menos coloque o seguinte código:
Código: Selecionar todos
if(!isset($product_data)){
if (!empty($this->session->data['vouchers'])) {
                foreach ($this->session->data['vouchers'] as $voucher) {
                    $product_data[] = array(
                        'name' => $voucher['description'],
                        'product_id' => substr(md5(mt_rand()), 0, 10),
                        'model' => substr(md5(mt_rand()), 0, 10),
                        'price' => $voucher['amount'], 
			'quantity' => 1, 
			'total' => $voucher['amount'], 
			'option' => ''
                    );
                }
            }
		}
Isso deve resolver o problema.
#44090
olá.. boa tarde! o meu código tem menos de 67 linhas.. pode me dizer onde devo inserir?
segue como esta:
Código: Selecionar todos
<?php 
class ModelPaymentPagseguro extends Model {
  	public function getMethod($address, $total) {
		$this->load->language('payment/pagseguro');
		
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('pagseguro_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')");
		
	if ($this->config->get('pagseguro_total') > $total) {
			$status = false;
		} elseif (!$this->config->get('pagseguro_geo_zone_id')) {
			$status = true;
		} elseif ($query->num_rows) {
			$status = true;
		} else {
			$status = false;
		}	
		
		$method_data = array();
	
		if ($status) {  
      		$method_data = array( 
        		'code'       => 'pagseguro',
        		'title'      => $this->language->get('text_title'),
				'sort_order' => $this->config->get('pagseguro_sort_order')
      		);
    	}
   
    	return $method_data;
  	}
}
?>
Obrigado
#45856
junior.neves escreveu:olá.. boa tarde! o meu código tem menos de 67 linhas.. pode me dizer onde devo inserir?
segue como esta:
Código: Selecionar todos
<?php 
class ModelPaymentPagseguro extends Model {
  	public function getMethod($address, $total) {
		$this->load->language('payment/pagseguro');
		
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('pagseguro_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')");
		
	if ($this->config->get('pagseguro_total') > $total) {
			$status = false;
		} elseif (!$this->config->get('pagseguro_geo_zone_id')) {
			$status = true;
		} elseif ($query->num_rows) {
			$status = true;
		} else {
			$status = false;
		}	
		
		$method_data = array();
	
		if ($status) {  
      		$method_data = array( 
        		'code'       => 'pagseguro',
        		'title'      => $this->language->get('text_title'),
				'sort_order' => $this->config->get('pagseguro_sort_order')
      		);
    	}
   
    	return $method_data;
  	}
}
?>
Obrigado
No seu caso o problema pode não estar no pagseguro.
Insira na linha 75 do arquivo catalog/model/checkout/coupon.php o código abaixo:

if (empty($product_data) && $status == true) $product_data = '';

Deve resolver.
#71174
Gente preciso de um help, o meu problema: Opencart 1.5.5.1

Ops, problema no pagamento!
Ocorreu um erro ao processar o seu pagamento junto ao pagseguro!
SimpleXMLElement::__set_state(array( 'code' => '53033', 'message' => 'shipping address state is required.', ))

Gente preciso de ajuda urgente. Na migraç&a[…]

Caro @reds , muito obrigado pela resposta.

PHP 8+ incompatibilidade

Toda tradução para a versão 3[…]

Ola @alex3257 Se você precisa apenas ver […]