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:
Utilizar el servicio en los endpoints:
https://checkoutv2.greenpaysbx.me/createOrder
https://checkoutv2.greenpay.me/createOrder
Una orden de pago genera una respuesta en formato JSON que contiene un valor session, token, statusCode y message
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.
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.
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
Para realizar la creación de una orden de Pago GreenPay cuenta con ejemplos tanto en NodeJS como en Postman
"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"
}
}
}
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)
zip: String. Código postal de la dirección del usuario.
zip: String. Código postal de la dirección del usuario.
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
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