Actualizar monto

Actualizar monto

Consideraciones

Para este servicio se debe consumir el siguiente endpoint:

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

1. Crear el objeto JSON a enviar

Ejemplo de la estrctura 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",
        "amount": 100
      }

Descripción de los parámetros:

  1. subscriptionId: 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 actualizará la suscripción.
  5. amount: Monto por el que se actualizará la suscripción.

Consideraciones

El parámetro “user”  se utiliza para llevar la auditoría de los usuarios que cambian el método de pago.


2. Enviar la solicitud de actualización del monto

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

Una vez que se ha enviado la solicitud  y  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 del cambio del monto de la suscripción.


Ejemplo de respuesta exitosa
  1. {
        "status": "SUCCESS",
        "code": 200,
        "result": {
            "id": "3",
            "merchant_id": "143b28c9-32ad-4635-8ed8-d6abfb6863a0",
            "status": "ACTIVE",
            "user_id": "Aaron",
            "user_type": 1,
            "card_tokens": [
                "bf0bd94a-a4e7-4ef6-96c6-2350f3963f93"
            ],
            "purchase_order": {
                "secret": "QUY5MzBEMkRDMzVCMDFCRDc2NzEwRjZCQjE3NjhFNkE0NjhEQ0MxRjkxQzkzMjAwNzVDNUVGNkY5RTc0N0M0NzkzNUEyQUZFQjczMEYyODEyRjJEMDc5Q0ExNTk1NTA0NjdCMkNBODg1N0Q4MzY2MjI0NEREMUVGQjk4NTcwMzg=",
                "currency": "CRC",
                "optional": {
                    "key": "value",
                    "key1": "value1"
                },
                "terminal": "deKokoTest-eb29-BNCR-CRC",
                "description": "subscription description",
                "subscription": [
                    {
                        "amount": 5500.99,
                        "cadence": {
                            "day": 15,
                            "mode": "EVERY",
                            "unit": "MONTH",
                            "every": 1
                        },
                        "endDate": 1544853600000,
                        "startDate": 1536991200000
                    }
                ],
                "initialPayment": {
                    "amount": 100,
                    "description": "some set up description"
                }
            },
            "next_payment": null,
            "enabled": true,
            "inserted_at": "2018-12-21T20:55:06.299Z",
            "updated_at": "2018-12-21T22:01:11.341Z",
            "general_info": {
                "user": "UserBot"
            }
        },
        "errors": []
      }

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

Ejemplo de código para envío del request
  1. var unirest = require("unirest");


    req.headers({
       "Postman-Token": "bc6f3d94-d5b0-4b76-afc8-4e13b08f576f",
       "cache-control": "no-cache",
       "Content-Type": "application/json"
    });

    req.type("json");
    req.send({
       "subscriptionId": "f39a928e9c1f1fa32f30e1de1df35656",
       "secret": "QUY5MzBEMkRDMzVCMDFCRDc2NzEwRjZCQjE3NjhFNkE0NjhEQ0MxRjkxQzkzMjAwNzVDNUVGNkY5RTc0N0M0NzkzNUEyQUZFQjczMEYyODEyRjJEMDc5Q0ExNTk1NTA0NjdCMkNBODg1N0Q4MzY2MjI0NEREMUVGQjk4NTcwMzg=",
       "merchantId": "143b28c9-32ad-4635-8ed8-d6abfb6863a0",
       "user": "User Bot",
       "amount": 5500.99
    });

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

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

3. Posibles errores a recibir

  • Merchant doesn't exist.

Si se intenta actualizar el monto de una suscripción con credenciales incorrectas, la respuesta retornada será:

Ejemplo de respuesta - Credenciales inválidas
  1. {
        "code": 500,
        "status": "FAIL",
        "result": [],
        "errors": [
            ""Merchant doesn't exist"."
        ]
      }

  • Subscription not found. Impossible to change amount.

Si se intenta actualizar una suscripción inactiva o pendiente de pago, la respuesta retornada será:


Ejemplo de respuesta - Suscripción no encontrada
  1. {
        "code": 500,
        "status": "FAIL",
        "result": [],
        "errors": [
            "Subscription not found. Impossible to pay manually."
        ]
      }




    • Related Articles

    • 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 token de tarjeta

      Consideraciones Para utilizar el servicio de tokenización se debe tomar en cuenta los siguiente: Utilizar el servicio en los endpoints: Sandbox: https://sandbox-checkout.greenpay.me/tokenize/update Producción: ...
    • Proceso para actualizar token con formulario

      Consideraciones Para utilizar el formulario de tokenización de tarjetas se debe considerar los siguiente: El formulario está disponible en: Sandbox: http://sandbox-tokenizeform.greenpay.me/ Producción: https://tokenizeform.greenpay.me/ Tener una ...
    • 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 ...
    • 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 ...