Página 1 de 1

Re: Erro função callback() MERCADO PAGO

Enviado: 21 Ago 2016, 07:01
por valdeir2000
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'));
}

Re: [Resolvido] Erro função callback() MERCADO PAGO

Enviado: 31 Ago 2016, 09:11
por Corpala
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?

Re: [Resolvido] Erro função callback() MERCADO PAGO

Enviado: 31 Ago 2016, 10:38
por Corpala
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."

Re: [Resolvido] Erro função callback() MERCADO PAGO

Enviado: 09 Jan 2017, 20:13
por nadielnadiel
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