Crear orden de pago V2

Crear orden de pago V2

Consideraciones

Una orden de pago se crea para indicar al API de pago que se efectuará una transacción por el motivo de los datos indicados en la orden. Para esto se debe tener las siguientes consideraciones:


  1. Utilizar el servicio en los endpoints:




  1. Una orden de pago genera una respuesta en formato JSON que contiene un valor session, token, statusCode y message

  2. El valor session y el token tendrá una vigencia de 30 minutos a partir de la creación de la orden de pago. Una vez cumplido ese plazo no tendrán validez, si se quiere continuar con el proceso se debe crear otra orden.

  3. Se recomienda que este proceso se realice desde el backend del comercio, para proteger los datos de las credenciales y detalles de la orden de pago.

  1. La orden de pago aplica para el procesamiento de transacciones en los siguientes flujos

  • API V2

    • Autorización

    • Pre-Autorización

    • 3DS

      • Setup

      • Enrollment

      • Validate

  • CheckoutForm V2

    • Autorización

  • CheckoutForm V2 con 3DS

    • Autorización


Pasos para el uso del servicio

Para realizar la creación de una orden de Pago GreenPay cuenta con ejemplos tanto en NodeJS como en Postman

 

NodeJS
  1. greeenpay/checkout-v2-nodejs
Info
Este ejemplo contiene la creación de la orden y el pago por API


Postman

  1. GreenPay 2.0 API Services (Public)

1. Estructura de los datos

1.1 Orden de pago







Para consumir el servicio se debe hacer un request de tipo POST con la siguiente estructura:


{
    "secret": "secret provisto por GreenPay 2.0",
    "merchantId": "merchant provisto por GreenPay 2.0",
    "terminal": "terminalId (UUID) provisto por GreenPay 2.0",
    "amount": 0,
    "currency": "Códigos aceptados CRC | USD ",
    "description": "La descripción de la orden i.e Pago tiquete de parqueo",
    "orderReference": "Identificador único de la orden a crear",
    "callback": "https://yourhost.url/callback",
    "additional": {
        "customer": {
            "name": "User Example",
            "email": "user@example.com",
            "identification": "Unique user identification",
            "billingAddress": {
                "country": "ISO 3166-1 alpha-2",
                "province": "Nombre de la provincia",
                "city": "Ciudad",
                "street1": "Dirección Calle 1",
                "street2": "Dirección Calle 2",
                "zip": "código postal"
            },
            "shippingAddress": {
                "country": "ISO 3166-1 alpha-2",
                "province": "Nombre de la provincia",
                "city": "Ciudad",
                "street1": "Dirección Calle 1",
                "street2": "Dirección Calle 2",
                "zip": "código postal"
            }
        },
        "products": [
            {
                "description": "Descripción de producto",
                "skuId": "Identificador único en el comercio",
                "quantity": 1,
                "price": 100.5,
                "type": "Tipo de producto"
            }
        ],
        "details": {
            "description": "description",
            "seller": "seller",
            "other": "other details"
        }
    }
}

 

Info
Datos obligatorios para pago por API                                                                                      
  • secret : String, llave secreta provisto por GreenPay 2.0

  • merchantId: String del identificador único para el comercio,  provisto por GreenPay 2.0

  • terminal : UUID, provisto por GreenPay 2.0

  • amount : Number Monto a cobrar de la orden

  • currency : String del código del tipo de moneda configurado para el terminal, debe ser el valor correspondiente en el ISO 4217. Los únicos valores permitidos son: CRC o USD.

  • description : String de la descripción de la orden por ejemplo: Pago ticket de parqueo.

  • orderReference : String del Identificador único de la orden a crear.

  • name:  String del nombre del cliente 

  • email: String del email del cliente 

  • Identification:  String de la identificación del cliente (mínimo 5 máximo 20 caracteres) 

    1. billingAddress:


      1. country: StringCódigo del país según el ISO 3166-1 alpha-2.
      2. province: String Nombre de la provincia 

      3. street1: StringDirección exacta del cliente.
      4. zip: String. Código postal de la dirección del usuario.




    1. shippingAddress:



      1. country: StringCódigo del país según el ISO 3166-1 alpha-2
      2. province: String Nombre de la provincia 

      3. street1: StringDirección  del cliente.
      4. zip: String. Código postal de la dirección del usuario.



2. Realizar POST para crear la orden de pago.

Se debe enviar una solicitud HTTP de tipo POST al endpoint de creación de órdenes de pago con el objeto JSON creado en el paso anterior en el cuerpo de la solicitud. La respuesta será proporcionada en formato JSON con un valor session y un token necesarios para efectuar el pago.







Se debe enviar una solicitud HTTP de tipo POST al endpoint de creación de órdenes de pago con el objeto JSON creado en el paso anterior en el cuerpo de la solicitud. La respuesta será proporcionada en formato JSON con un valor session y un token necesarios para efectuar el pago.

MERCHANT_ENDPOINT_V2 = https://checkoutv2.greenpaysbx.me/createOrder

Info
Si la orden se crea correctamente el HTTP Code será 200, si falla se obtendrá un HTTP Code 400
InfoRecomendación: Enviar todos los datos que estén disponibles en su integración según la estructura de creación de la orden. Con esto se puede dar mayor trazabilidad a la transacción una vez procesada.





Respuesta de la orden

  • Solicitud exitosa (HTTP Code 200)

{ 
 "statusCode":200,
 "message":"SUCCESS",
 "session":"2eae115f-501d-4a9f-833f-2f313c9d1d64",
 "token":"7ab23973-9167-4990-bba0-9ea09d809631"
 }

  • Solicitud Fallida (HTTP Code 400)

{ 
  "status": "String razón solicitud rechazada",
  "message":"String mensaje solicitud rechazada",
 }


Datos importantes

La session y el token se utilizan en los siguientes procesos de pago

  • Pago por API V2

    • Autorización

    • Preautorización

  • CheckoutForm V2

    • Autorización 

    • Related Articles

    • Crear orden de pago

      Consideraciones La orden de pago se genera para indicar al API de pago que se realizará una transacción, basándose en los datos proporcionados en la orden. Para esto, se debe considerar lo siguiente: Utilizar el servicio en los endpoints: En sandbox: ...
    • Crear orden de tokenización

      Consideraciones Una orden de tokenización se crea para indicar al API de Greenpay que se creará un token a partir de los datos de una tarjeta de crédito o débito. Para esto se debe tener las siguientes consideraciones: Endpoints para crear la orden ...
    • Crear orden de tokenización

      Consideraciones Una orden de tokenizar se crea para indicar al API de tokenización, que se efectuará una tokenización con los datos de la tarjeta ingresados en el formulario. Para esto se debe tener las siguientes consideraciones: Utilizar los ...
    • Invocar API de pago

      Consideraciones Para invocar el Api de pagos se debe considerar lo siguiente: Utilizar el servicio en los endpoints: Sandbox: https://sandbox-checkout.greenpay.me/kount Producción: https://checkout.greenpay.me/kount Tener una session y token de una ...
    • Proceso de pago con Widget

      Consideraciones Al utilizar el widget de pago de Greenpay, es importante tener en cuenta lo siguiente: Es necesario disponer de una cuenta de sandbox o de producción. Para obtener esta cuenta, visite la sección Sobre cuenta de pruebas o sandbox. El ...