Cancelar suscripción

Cancelar suscripción

Consideraciones

Para utilizar 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


Ejemplo de la estructura del JSON a enviar en el request 
  1. {
        "subscriptionId": "id returned when subscription was created",
        "merchantId": "your merchantid",
        "secret": "your secret",
        "user": "Some user name",
        "reason": "Some reason to cancel subscription"
     
      }

 

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

Los parámetros “user” y “reason” se utilizan 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 es el “body”, ya que este contiene el resultado de la cancelación realizada.


Ejemplo de respuesta de una cancelación exitosa
  1. {
        "code": 200,
        "status": "SUCCESS",
        "result": {
            "id": "3",
            "merchant_id": "143b28c9-32ad-4635-8ed8-d6abfb6863a0",
            "status": "CANCELLED",
            "user_id": "Aaron",
            "user_type": 1,
            "card_tokens": [
                "57e3ea41-bdd4-4b51-b04b-cc3eeeb35ee2"
            ],
            "purchase_order": {
                "secret": "QUY5MzBEMkRDMzVCMDFCRDc2NzEwRjZCQjE3NjhFNkE0NjhEQ0MxRjkxQzkzMjAwNzVDNUVGNkY5RTc0N0M0NzkzNUEyQUZFQjczMEYyODEyRjJEMDc5Q0ExNTk1NTA0NjdCMkNBODg1N0Q4MzY2MjI0NEREMUVGQjk4NTcwMzg=",
                "currency": "CRC",
                "optional": {
                    "key": "value",
                    "key1": "value1"
                },
                "terminal": "deKokoTest-eb29-BNCR-CRC",
                "description": "subscription description",
                "subscription": [{
                    "amount": 10,
                    "cadence": {
                        "day": 15,
                        "mode": "EVERY",
                        "unit": "MONTH",
                        "every": 1
                    },
                    "endDate": 1544853600000,
                    "startDate": 1536991200000
                }],
                "initialPayment": {
                    "amount": 300,
                    "description": "some set up description"
                }
            },
            "next_payment": null,
            "enabled": true,
            "inserted_at": "2018-12-21T20:55:06.299Z",
            "updated_at": "2018-12-26T16:57:20.539Z",
            "general_info": {
                "user": "UserBot",
                "reason": "I will no longer use the service"
            }
        },
        "errors": []
      }

El siguiente fragmento de código en JavaScript muestra cómo enviar la solicitud al endpoint de suscripciones, así como cómo obtener el "body" del objeto JSON de respuesta:

Ejemplo de código para envío del POST request
  1.  
    var data = {
       "subscriptionId": "b69cd5773eac06bf25a702bac02e8079",
       "secret": "QUY5MzBEMkRDMzVCMDFCRDc2NzEwRjZCQjE3NjhFNkE0NjhEQ0MxRjkxQzkzMjAwNzVDNUVGNkY5RTc0N0M0NzkzNUEyQUZFQjczMEYyODEyRjJEMDc5Q0ExNTk1NTA0NjdCMkNBODg1N0Q4MzY2MjI0NEREMUVGQjk4NTcwMzg=",
       "merchantId": "143b28c9-32ad-4635-8ed8-d6abfb6863a0",
       "user": "UserBot",
       "reason": "I will no longer use the service"
    }
     
    var unirest = require("unirest");
     
    var req = unirest("POST", url);
     
    req.headers({
       "cache-control": "no-cache",
       "Content-Type": "application/json"
    });
     
    req.type("json");
    req.send(data);
     
    req.end(function (res) {
       if (res.error) throw new Error(res.error);
       console.log(res.body);
    });
3. Posibles errores a recibir
  • Inactive subscription

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


Ejemplo de respuesta - Suscripción inactiva
  1. {
        "code": 500,
        "status": "FAIL",
        "result": [],
        "errors": [
            "Inactive subscription"
        ]
      }

  • Invalid credentials

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


Ejemplo de respuesta - Credenciales inválidas
  1. {
        "code": 500,
        "status": "FAIL",
        "result": [],
        "errors": [
            "Invalid credentials"
        ]
      }

    • 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 Producción: ...
    • 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 ...
    • 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 ...
    • Actualizar monto

      Consideraciones Para este servicio se debe consumir el siguiente endpoint: https://sandbox-merchant.greenpay.me/subscriptions/update A continuación, se muestra el paso a paso para actualizar el monto de una suscripción en nuestro API de forma ...
    • Pago Manual

      Para este servicio se debe consumir el siguiente endpoint: https://sandbox-merchant.greenpay.me/subscriptions/pay 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 ...