Listar pagos de suscripciones

Listar pagos de suscripciones

Para este servicio se debe consumir el siguiente endpoint:

A continuación, se muestra el paso a paso para ejecutar un pago manual de una suscripción en nuestro API de forma exitosa:

1. Crear el objeto JSON a enviar

El objeto json debe tener la siguiente estructura:

  1. {
  2.     "subscriptionId": "f39a928e9c1f1fa32f30e1de1df35656",
  3.     "secret": "QUY5MzBEMkRDMzVCMDFCRDc2NzEwRjZCQjE3NjhFNkE0NjhEQ0MxRjkxQzkzMjAwNzVDNUVGNkY5RTc0N0M0NzkzNUEyQUZFQjczMEYyODEyRjJEMDc5Q0ExNTk1NTA0NjdCMkNBODg1N0Q4MzY2MjI0NEREMUVGQjk4NTcwMzg=",
  4.     "merchantId": "143b28c9-32ad-4635-8ed8-d6abfb6863a0",
  5.     "pageSize": 25,
  6.     "page": 1
  7. }

A continuación, se muestra la descripción de los parámetros:

  1. subscriptionId: Es el identificador que se recibe en la respuesta cuando se crea una suscripción
  2. secret: secret provisto por GreenPay.
  3. merchant: merchantId provisto por GreenPay.
  4. pageSize: Cantidad de registros que debe retornar el servicio
  5. page: Página que debe retornar el servicio.

Consideraciones

  • El parámetro “page” debe ser un error mayor que cero.
  • El parámetro “pageSize” debe ser un número entre uno y cien.

2. Enviar la solicitud 

Se debe enviar una solicitud HTTP de tipo POST al endpoint para ejecutar el listado con el objeto json que contiene los datos de la suscripción.

Una vez que se ha enviado la solicitud y esta se haya realizada con éxito, se obtiene un objeto de tipo JSON como respuesta.

Al recibir esta respuesta, el parámetro que se debe obtener del objeto JSON es el “body”, ya que este contiene el resultado del cambio del monto de la suscripción. En la siguiente imagen se muestra un ejemplo de la respuesta que se recibe:

  1. {
  2.     "status": "SUCCESS",
  3.     "code": 200,
  4.     "result": {
  5.         "entries": [
  6.             {
  7.                 "id": "7",
  8.                 "reference_number": "f88ae81b0d469f67d081b7f239c96305_1",
  9.                 "payment_date": "2018-12-27T22:22:32.868Z",
  10.                 "payment_result": null,
  11.                 "payment_retries": [
  12.                     {
  13.                         "attemp_date": "2018-12-27T22:32:32.837Z",
  14.                         "attemp_result": {
  15.                             "status": 500,
  16.                             "orderId": "f88ae81b0d469f67d081b7f239c96305_1",
  17.                             "authorization": null,
  18.                             "amount": 100,
  19.                             "currency": "CRC",
  20.                             "errors": [
  21.                                 "Error: Invalid card token"
  22.                             ],
  23.                             "_signature": "60d3dd83d1853ea1c697c0d338b5af9b87bd6398054076ebcbbcbf22dda6e36b5d38ea56aeb6a33db4ab27c6a56d750815b08a4fa813b1cc239ce59b5ae528eb52887bcab59dca06b7de80f726431b2bd973a1a4111b9d6e0fc7ab7bdd4408da0f9ba92031dfa3edabbf27b372a28cce6f587309c51848eb615c96cdba5c85b1"
  24.                         }
  25.                     }
  26.                 ]
  27.             }
  28.         ],
  29.         "page": 1,
  30.         "totalEntries": 1,
  31.         "totalPages": 1
  32.     },
  33.     "errors": []
  34. }

A continuación, se muestra un ejemplo en javascript del envío de la solicitud al endpoint de suscripciones para listar. Esta función también obtiene el “body” del objeto tipo JSON que se recibe como respuesta.

  1. var unirest = require("unirest");

  2. var req = unirest("POST", "https://dev-merchant.greenpay.me/subscriptions/list/payments");

  3. req.headers({
  4.  "Postman-Token": "fead6d4d-70ea-405f-a134-c51458bbed15",
  5.  "cache-control": "no-cache",
  6.  "Content-Type": "application/json"
  7. });

  8. req.type("json");
  9. req.send({
  10.  "subscriptionId": "f39a928e9c1f1fa32f30e1de1df35656",
  11.  "secret": "QUY5MzBEMkRDMzVCMDFCRDc2NzEwRjZCQjE3NjhFNkE0NjhEQ0MxRjkxQzkzMjAwNzVDNUVGNkY5RTc0N0M0NzkzNUEyQUZFQjczMEYyODEyRjJEMDc5Q0ExNTk1NTA0NjdCMkNBODg1N0Q4MzY2MjI0NEREMUVGQjk4NTcwMzg=",
  12.  "merchantId": "143b28c9-32ad-4635-8ed8-d6abfb6863a0",
  13.  "pageSize": 100,
  14.  "page" : 1
  15. });

  16. req.end(function (res) {
  17.  if (res.error) throw new Error(res.error);

  18.  console.log(res.body);
  19. });

3. Posibles errores a recibir

  • Merchant doesn't exist.

Si se intenta utilizar el servicio con credenciales incorrectas, la respuesta retornada será la siguiente.

  1. {
  2.   "code": 500,
  3.   "status": "FAIL",
  4.   "result": [],
  5.   "errors": [
  6.       ""Merchant doesn't exist"."
  7.   ]
  8. }
  • Bad request, check params

Si se intenta utilizar el servicio enviando valores no aceptados en los parámetros pageSize y page, la respuesta retornada será la siguiente.

  1. ​{
  2.    "status": "FAIL",
  3.    "code": 400,
  4.    "result": [],
  5.    "errors": [
  6.        "Bad request, check params"
  7.    ]
  8. }




    • Related Articles

    • Listar suscripciones

      Para este servicio se debe consumir el siguiente endpoint: https://sandbox-merchant.greenpay.me/subscriptions/list A continuación, se muestra el paso a paso para ejecutar un pago manual de una suscripción en nuestro API de forma exitosa: Crear el ...
    • Servicio de suscripciones - Información general

      Este servicio permite a los comercios utilizar la funcionalidad de suscribir a sus clientes a cobros automáticos recurrentes en una ventana de tiempo establecida. La funcionalidad actual, solo permite el pago mensual de las suscripciones creadas, es ...
    • Suscripciones del comercio

      Consideraciones Para utilizar la funcionalidad de suscripciones debe considerar lo siguiente: El comercio debe estar habilitado, si esta deshabilitado no podrá ingresar y utilizar la funcionalidades del dashboard. Si desconoce el estado de su ...
    • Enviar request de pagos en lote

      Consideraciones Para utilizar el servicio de pagos en lote se deben tomar en cuenta las siguientes consideraciones: Utilizar el servicio en los endpoints: Sandbox: https://sandbox-merchant.greenpay.me/bulk Producción: ...
    • Listar detalles de transacción

      Consideraciones Para hacer uso de este servicio se deben tener las siguientes consideraciones: Utilizar el servicio en el endpoint: En sandbox: https://sandbox-merchant.greenpay.me/transactions/get En producción: ...