Cancelar suscripción

Cancelar suscripción

Para este servicio se debe consumir el siguiente endpoint:

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

1. Crear el objeto JSON a enviar

El objeto json debe tener la siguiente estructura:


Ejemplo de JSON a enviar en el request
  1. {
  2.    "subscriptionId": "id returned when subscription was created",
  3.    "merchantId": "your merchantid",
  4.    "secret": "your secret",
  5.    "user": "Some user name",
  6.    "reason": "Some reason to cancel subscription"
  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. user: Usuario que cancelará la suscripción.
  5. reason: Razón descriptiva de porqué se cancelará la suscripción.

Consideraciones

  1. Los parámetros “user” y “reason” son para llevar la auditoría de los usuarios que cancelan el servicio.

2. Enviar la solicitud de cancelación

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

Una vez que se ha enviado la solicitud de suscripción y esta se haya realizado 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 de la cancelación realizada. En la siguiente imagen se muestra un ejemplo de la respuesta que se recibe después de enviar una solicitud de suscripción:


Ejemplo de respuesta de una cancelación exitosa
  1. {
  2.     "code": 200,
  3.     "status": "SUCCESS",
  4.     "result": {
  5.         "id": "3",
  6.         "merchant_id": "143b28c9-32ad-4635-8ed8-d6abfb6863a0",
  7.         "status": "CANCELLED",
  8.         "user_id": "Aaron",
  9.         "user_type": 1,
  10.         "card_tokens": [
  11.             "57e3ea41-bdd4-4b51-b04b-cc3eeeb35ee2"
  12.         ],
  13.         "purchase_order": {
  14.             "secret": "QUY5MzBEMkRDMzVCMDFCRDc2NzEwRjZCQjE3NjhFNkE0NjhEQ0MxRjkxQzkzMjAwNzVDNUVGNkY5RTc0N0M0NzkzNUEyQUZFQjczMEYyODEyRjJEMDc5Q0ExNTk1NTA0NjdCMkNBODg1N0Q4MzY2MjI0NEREMUVGQjk4NTcwMzg=",
  15.             "currency": "CRC",
  16.             "optional": {
  17.                 "key": "value",
  18.                 "key1": "value1"
  19.             },
  20.             "terminal": "deKokoTest-eb29-BNCR-CRC",
  21.             "description": "subscription description",
  22.             "subscription": [{
  23.                 "amount": 10,
  24.                 "cadence": {
  25.                     "day": 15,
  26.                     "mode": "EVERY",
  27.                     "unit": "MONTH",
  28.                     "every": 1
  29.                 },
  30.                 "endDate": 1544853600000,
  31.                 "startDate": 1536991200000
  32.             }],
  33.             "initialPayment": {
  34.                 "amount": 300,
  35.                 "description": "some set up description"
  36.             }
  37.         },
  38.         "next_payment": null,
  39.         "enabled": true,
  40.         "inserted_at": "2018-12-21T20:55:06.299Z",
  41.         "updated_at": "2018-12-26T16:57:20.539Z",
  42.         "general_info": {
  43.             "user": "UserBot",
  44.             "reason": "I will no longer use the service"
  45.         }
  46.     },
  47.     "errors": []
  48. }
A continuación, se muestra un ejemplo en javascript del envío de la solicitud al endpoint de suscripciones. Esta función también obtiene el “body” del objeto tipo JSON que se recibe como respuesta.

Ejemplo de código para envío del POST request
  1. var url = "https://sandbox-merchant.greenpay.me/subscriptions/cancel"
  2.  
  3. var data = {
  4.    "subscriptionId": "b69cd5773eac06bf25a702bac02e8079",
  5.    "secret": "QUY5MzBEMkRDMzVCMDFCRDc2NzEwRjZCQjE3NjhFNkE0NjhEQ0MxRjkxQzkzMjAwNzVDNUVGNkY5RTc0N0M0NzkzNUEyQUZFQjczMEYyODEyRjJEMDc5Q0ExNTk1NTA0NjdCMkNBODg1N0Q4MzY2MjI0NEREMUVGQjk4NTcwMzg=",
  6.    "merchantId": "143b28c9-32ad-4635-8ed8-d6abfb6863a0",
  7.    "user": "UserBot",
  8.    "reason": "I will no longer use the service"
  9. }
  10.  
  11. var unirest = require("unirest");
  12.  
  13. var req = unirest("POST", url);
  14.  
  15. req.headers({
  16.    "cache-control": "no-cache",
  17.    "Content-Type": "application/json"
  18. });
  19.  
  20. req.type("json");
  21. req.send(data);
  22.  
  23. req.end(function (res) {
  24.    if (res.error) throw new Error(res.error);
  25.    console.log(res.body);
  26. });

3. Posibles errores a recibir

  • Inactive subscription

Si se intenta cancelar una suscripción inactiva o inexistente, la respuesta retornada será la siguiente.


Ejemplo de respuesta - Suscripción inactiva
  1. {
  2.   "code": 500,
  3.   "status": "FAIL",
  4.   "result": [],
  5.   "errors": [
  6.       "Inactive subscription"
  7.   ]
  8. }
  • Invalid credentials

Si se intenta cancelar una suscripción con credenciales incorrectas , la respuesta retornada será la siguiente.


Ejemplo de respuesta - Credenciales inválidas
  1. {
  2.    "code": 500,
  3.    "status": "FAIL",
  4.    "result": [],
  5.    "errors": [
  6.        "Invalid credentials"
  7.    ]
  8. }

    • Related Articles

    • Crear suscripción

      Consideraciones Para utilizar el servicio de suscripciones se deben tomar en cuenta las siguiente consideraciones: Utilizar el servicio en los endpoints: Sandbox: https://sandbox-merchant.greenpay.me/subscriptions ...
    • Servicio de suscripciones - Información general

      Este servicio permite a los comercios utilizar la funcionalidad de suscribir a sus clientes a cobros automáticos en una ventana de tiempo establecida. La funcionalidad actual, solo permite el pago mensual de las suscripciones creadas, es decir, se ...
    • Actualizar método de pago

      Para este servicio se debe consumir el siguiente endpoint: https://sandbox-merchant.greenpay.me/subscriptions/update/card_token A continuación, se muestra el paso a paso para cancelar  una suscripción en nuestro API de forma exitosa: 1. Crear el ...
    • 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 ...
    • Activar el comercio

      Consideraciones Para activar un comercio en Greenpay bajo el modelo Link de pago (Greenlink) se debe considerar los siguiente Haber hecho la solicitud al equipo de afiliación de Greenpay, con los requisitos que se hayan solicitado. Una vez que su ...