Skip to content

Pagos, Devoluciones y Listado

Agustin Fernandez edited this page Mar 6, 2021 · 3 revisions

Mercado Pago permite realizar una consulta de la venta mas intensa a través de la API Payments, así como también la devolución total o parcial de la transacción realizada y listar los movimientos de una cuenta.

Tengamos en cuenta que desde IPN, inicialmente, uno puede recibir la información acerca de un nuevo pago donde llegamos a recibir hasta 4 Datos que en muchos de los casos (Como las suscripciones) puede ser mas que suficientes, estos datos son:

  • Tipo de Transacción (recurring_payment, pos_payment, regular_payment)
  • Medio de Pago (Tarjeta, Transferencia, Efectivo)
  • Pagador
  • Comprador

Sin embargo mediante Payment uno puede ver el total de la información de la transacción como si estuvieramos en el panel de Mercado Pago.

Quiero aclarar esto, ya que es util desde el lado de desarrollo; Nos responde cuanto nos queda de la venta, datos como net_received_amount (Neto recibido) y installment_amount | total_paid_amount (Total de la Transacción), no por menos importante.

También podremos consultar compras, por ejemplo, que realizamos por medio de nuestra cuenta.

Consultar un movimiento

Por medio de este, vamos a consultar un pago puntual. Teniendo el ID de la transacción es suficiente.

	
	$MP->PaymentView('12187150203', TOKEN);

Listar movimientos

Utilizando la función search de SAPIDK podremos listar todos los movimientos que tengamos realizados en un nuestra cuenta. Sean compras o ventas como Depositos. Esto lo podremos realizar de la siguiente forma:

 
 	$MP->PaymentList(30, 0, TOKEN);

Entendamos que podemos ubicarnos en la busqueda con Limit y Offset. Tan solo debemos indicarlos el llamado a la clase indicando cada uno respectivamente. En este caso 30 y 0.

Devoluciones

Las devoluciones funcionan de una forma sencilla, mediante una función POST la ejecutamos siempre que tengamos el ID de la Transacción, ya que sera a esa ID a la que le ejecutamos la Devolución.

Esta se ejecuta de la siguiente Forma

 
     $MP->PaymentRefound('12187150203', TOKEN);

Dándonos la siguiente Respuesta:

Array
(
    [id] => 468072699
    [payment_id] => 5943814791
    [amount] => 35
    [metadata] => Array
        (
        )

    [source] => Array
        (
            [id] => 297284950
            [name] => Agustin Fernandez
            [type] => collector
        )

    [date_created] => 2019-09-24T09:41:15.665-04:00
    [unique_sequence_number] => 
    [status] => approved
)

En esa respuesta ya sabemos que el pago 5236314791 fue devuelto porque el status dio approved