mercadopago / DEPRECATED-sdk-php

DEPRECATED - MercadoPago PHP SDK
MIT License
1 stars 10 forks source link

Search payment con external_reference no muestra el collection result #80

Closed vousys closed 5 years ago

vousys commented 7 years ago

Chicos estoy teniendo un problema q aparecio ayer. Usamos el SDK viejo porque tenemos apps viejas, y siempre hacemos la busqueda via el external_reference.

EJ: /collections/search?external_reference=520-2964-9-2-NTIw&offset=0&limit=0&access_token=APP_USR-385260425320669-020206-b5b807e13f4794d6e6c63a123f18deb1__K_D__-43987228

pero ahora nos Devuelve: Array ( [status] => 200 [response] => Array ( [paging] => Array ( [total] => 1 [limit] => 0 [offset] => 0 )

        [results] => Array
            (
            )

    )

)

Y necesitamos todo el detalle de los pagos, es un error eso?

L​o postee en los foros, porq a otro tb le paso: http://es.stackoverflow.com/questions/47259/api-mercado-pago-inconsistencia-en-collections-search

estcap2 commented 7 years ago

En el mismo thread que mencionás ya figura una posible solución (que a mí me sirvió, ahora a mí me está andando bien) Pareciera que hay una inconsistencia de como toma el parametro limit dependiendo de como mandas los parámetros en search_payment();

Intenta mandándolo con sus tres parámetros explícitos. Por ejemplo:

//Ejemplo para buscar un pago individual según una referencia externa:
$filters = array(
                    "external_reference" => $referencia_mercadopago
                );
                $search_result = $mp->search_payment($filters); // Esto antes funcionaba, 
//ahora devuelve  un array vacío.
// Asume que limit = 0 es que no querés ningún resultado 

                $search_result = $mp->search_payment($filters, 0, 1); //Esto encuentra el pago,
// poniéndole explícitamente offset 0 y limit 1.

Saludos,

vousys commented 7 years ago

Sisi ya lo solucione con eso el otro dia, gracias!

[image: photo]

http://facebook.com/vousys http://us.linkedin.com/in/vosorio http://twitter.com/vousys http://instagram.com/vousys http://behance.net/vousys Vero Osorio CEO & Founder, VOUSYS +54 911 4481 3751 <+54+911+4481+3751> Skype: vousys <#UNIQUE_IDSafeHtmlFilter> http://www.vousys.com http://www.vousys.com vosorio@vousys.com vosorio@vousys.com

El 6 de febrero de 2017, 16:12, estcap2 notifications@github.com escribió:

Fijate en http://es.stackoverflow.com/questions/47259/api-mercado- pago-inconsistencia-en-collections-search

Pareciera que hay una inconsistencia de como toma el parametro limit dependiendo de como mandas los parámetros en search_payment();

Intenta mandándolo con sus tres parámetros explícitos. Por ejemplo:

//Ejemplo para buscar un pago individual según una referencia externa: $filters = array( "external_reference" => $referencia_mercadopago ); $search_result = $mp->search_payment($filters); // Esto antes funcionaba, //ahora devuelve un array vacío. // Asume que limit = 0 es que no querés ningún resultado

            $search_result = $mp->search_payment($filters, 0, 1); //Esto encuentra el pago,

// poniéndole explícitamente offset 0 y limit 1.

Saludos,

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mercadopago/sdk-php/issues/80#issuecomment-277781598, or mute the thread https://github.com/notifications/unsubscribe-auth/AMODpXXpbsXiu3k7_h_RDnRKctmvOSZ0ks5rZ3CagaJpZM4L0-XJ .

fgilio commented 7 years ago

Gracias! Me estaba pasando esto mismo

maurorpc commented 6 years ago

@estcap2 gracias, la verdad que un dolor de cabeza, lo del tema de limit 0, no lo dice ni en la documentación de la api, ni en los ejemplos de la misma.

fgilio commented 6 years ago

Es lo más contraintuitivo que hay

mauromm commented 6 years ago

Esta funcionando este servicio? Estoy haciendo lo mismo que comentar arriba con el offset y limit, pero siempre me viene vacio... no estoy encontrando manera de que me traiga resultados. Y son pagos que estan impactados correctamente en MP.

fgilio commented 6 years ago

Hola @mauromm! A ver, lo pruebo y actualizo acá el comment

EDIT: Pareciera estar funcionando, lo hice así:

$searchResult = $mp->search_payment([
    "external_reference" => "221345334234123"
], 0, 100);

* Ese external_reference es a modo de ejemplo

mauromm commented 6 years ago

Gracias @fgilio .Ya encontré cual era el problema. Tenia un token incorrecto...

danicode commented 6 years ago

Buenas.

No logre que funcioné la búsqueda por medio de search_payment, posiblemente en algo le este errando, pero logre obtener los pagos de la siguiente forma por si a alguien le sirve.

$mp = new \MP('ACCESS_TOKEN');
$payment = $mp->get("/v1/payments/search?range=date_created&begin_date=NOW-1MONTH&end_date=NOW&status=approved&operation_type=regular_payment");
return $payment;

Saludos, happy coding! :)

maurorpc commented 6 years ago

A mi lo del limit me funcionó 10 puntos, normalmente no tengo problemas, a veces lo que pasa el host de mercadolibre no responde pero no es seguido, normalmente anda todo bien.

pabloldeoliveira commented 6 years ago

Efectivamente ahora si no le indicamos el parámetro limit no devuelve las colecciones. La documentación de MP tampoco ayuda y realmente desorienta, así que bueno, vine a encontrar la respuesta acá.

fgilio commented 6 years ago

Efectivamente, esto es un garrón. De hecho la situación general de toda la experiencia de cara a developers es tan pobre que me gustaría no tener que soportar MercadoPago.

brianirvana commented 6 years ago

¿hay alguna forma de que el limit devuelva "X" cantidad de últimos limit?, osea si son 100 pagos, yo quiero consultar los últimos 10 nada más...