Fórum OpenCart Brasil

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

#69453
Substitua
Código: Selecionar todos
$this->model_checkout_order->addOrderHistory($order_id, $this->config->get('mercadopago_order_status_id'), date('d/m/Y h:i'));
por
Código: Selecionar todos
$order_id = isset($this->session->data['order_id']) ? $this->session->data['order_id'] : null;

if ($order_id != null) {
$this->model_checkout_order->addOrderHistory($order_id, $this->config->get('mercadopago_order_status_id'), date('d/m/Y h:i'));
} else {
$this->response->redirect($this->url->link('checkout/cart'));
}
#69682
Estou com um problema quase parecido no Mercado Pago que já o uso por muito tempo. Uso a versão O.C 1.5.5.1 e o cliente paga pelo Mercado Pago normalmente e nenhuma mensagem de erro aparece, porém, nem o cliente nem eu recebe a confirmação do pedido no site e tampouco existe algum histórico da compra no sistema do site. Sei que é um erro de IPN mas não estou sabendo onde e como atualizar a informação.

Poderiam me ajudar por favor?
#69684
Buscando a origem do erro de notificação através da URL de callback (http://meu site.com.br/index.php?route=payment/mercadopago/callback) cheguei no erro (public_html/catalog/controller/payment/mercadopago.php on line 126), na linha 126, onde o trecho do código é:
Código: Selecionar todos
if ($this->request->get['id']) {
			require_once(DIR_SYSTEM . 'library/mercadopago.php');

			$mp = new MP ($settings['client_id'], $settings['client_secret']);
			($settings['test_mode']) ? $mp->sandbox_mode(TRUE) : '';

			$payment_info = $mp->get_payment_info($this->request->get['id']);

			if ($payment_info['status'] == 200) {
				if ($settings['debug']) $this->log->write('MERCADOPAGO :: IPN CALLBACK REQUEST: ' . print_r($payment_info, true));
Mas não sei o que pode estar errado aqui, porque de acordo com o Mercado Pago IPN a URL de callback inserida dá o seguinte erro: "O URL digitado não responde a um status HTTP correto. Você deve responder 200 ou 201."
#71683
O problema pode ser vários mas os principais são :

Se tiver fazendo testes em sandbox vai ficar dando este erro mesmo de 200/201

ou problema e mais provável é que seu servidor bloqueou os seguintes ips, você deve entrar em contato com seu servidor de hospedagem e pedir para tirar os ips abaixo da lista de firewall espero ter ajudado :D


209.225.49.0 - 209.225.49.255
216.33.197.0 - 216.33.197.255
216.33.196.0 - 216.33.196.255
63.128.82.0 - 63.128.82.255
63.128.83.0 - 63.128.83.255
63.128.94.0 - 63.128.94.255

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 […]