Parámetros opcionales del JSON:
Si el comercio utilizará tokens de tarjeta el objeto JSON deberá tener la siguiente estructura:
Por razones de seguridad, tanto para GreenPay como para proteger su comercio se requiere que la información de la tarjeta o el token se envié encriptada. Para cifrar estos datos, se debe utilizar el algoritmo de encriptación “AES-CTR-128”, si esta información no se cifra con este algoritmo, el servicio de pagos rechazará la solicitud pago.
En https://gitlab.com/gp-examples/checkout/checkout_csharp se encuentran unos ejemplos de cifrado con AES-CTR-128 desarrollados en C#, uno se desarrolló sin librerías externas y otro utiliza la librería “BouncyCastle”. Además de otro desarrollado en NodeJS con la librería Aes JS .
A continuación, se muestran los pasos a seguir para cifrar la información de la tarjeta.
Se debe crear un objeto de tipo JSON que contenga los resultados del proceso de cifrado anterior (lk, ld) y la sesión obtenida en el articulo "Crear una orden de pago" , este JSON debe estar estructurado de la siguiente forma:
Parámetros del JSON:
Se debe enviar una solicitud HTTP de tipo POST al endpoint de pagos con el objeto json que contiene los datos cifrados y la sesión obtenida en el paso anterior, este JSON se envía en el cuerpo de la solicitud.
A esta solicitud se le debe agregar el header “liszt-token”, este header debe contener el token obtenido en la solicitud de creación de una orden de pago.
Una vez se ha enviado la solicitud de pago y esta se haya realizado con éxito, se obtiene un objeto de tipo JSON como respuesta.
Al recibir esta respuesta, el parámetro a obtener del objeto JSON es el “body”, ya que este contiene la respuesta del pago. En la siguiente imagen se muestra un ejemplo de la respuesta que se recibe después de enviar una solicitud de pago:
Con la respuesta obtenida, el comercio deberá actualizar la compra del cliente respectivo.