Genera la información de un pago con los parámetros de la solicitud.
Nombre del campo | Descripción | Reglas |
---|---|---|
payment | Requerido | required, Object |
payment.description | Requerido. Debe ser una cadena y debe tener entre 4 y 191 caracteres | required, min:4, max:191, string |
payment.amount | Requerido. Debe ser un valor numérico, al menos 1, máximo de 2 decimales y entre 1 y 10 dígitos | required, numeric, min:1, decimal:0,2, regex:/^\d{1,10}(.\d{0,2})?\$/i |
payment.selected_taxes | Opcional, puede ser una matriz | nullable, array |
payment.selected_taxes. | Requerido, su valor es 19 y debe existir en la tabla de impuestos con estado activo | required, el ID existe en la tabla de impuestos activos |
payment.currency_type | Requerido. Debe ser una cadena y uno de los valores de la enumeración (COP, USD, EUR) | required, string, en enumeración (COP, USD, EUR) |
payment.checkout_type | Requerido. Debe ser una cadena y uno de los valores de la enumeración (redirect, api) | required, string, en enumeración (redirect, api) |
payment.checkout_template_id | Hace referencia al ID de tu plantilla de checkout. Puede ser nulo. | nullable, el ID existe en la tabla de Plantillas de Checkout |
office | Hace referencia al ID de tus sucursales | required, el ID existe en la tabla de Sucursales, filtra los resultados según usuario autenticado |
Descripción: Genera la información de un pago con los parámetros adicionales a la solicitud.
Nombre del campo | Descripción | Reglas |
---|---|---|
advanced_options | Objeto opcional con información adicional para customizar el pago a generar | nullable, Object |
advanced_options.picture | Muestra la imagen en el checkout del comprador | nullable, image, max:5120 |
advanced_options.limit_date | Limita el tiempo para recibir una transacción aprobada del pago generado | nullable, date, after_or_equal:today |
advanced_options.references | Contenedor para las referencias de pago | nullable, array, max:3 |
advanced_options.references.* | Referencia de pago para identificar la trx | required, string, max:50 |
advanced_options.result_urls | Contenedor para las Url de retorno | nullable, object |
advanced_options.result_urls.approved | URL activa para el retorno de una trx aprobada | required_with:result_urls, url, active_url |
advanced_options.result_urls.rejected | URL activa para el retorno de una trx rechazada | required_with:result_urls, url, active_url |
advanced_options.result_urls.pending | URL activa para el retorno de una trx pendiente | required_with:result_urls, url, active_url |
advanced_options.result_urls.webhook | URL activa para la notificación de cambio de estado de una trx via webhook, la url debe ser de tipo post ver mas | required_with:result_urls, url, active_url, tipo post |
advanced_options.delivery_service | Contenedor para agregar información de servicio de envio | nullable, Object |
advanced_options.delivery_service.type | Tipo de servicio de envio, peude ser gratis o con valor | nullable, enumeración (gratis, con valor) |
advanced_options.delivery_service.value | Indica el valor a cobrar sobre el monto actual cuando el tipo es "con valor" | nullable, required_if:advanced_options.delivery_service.type,Value, numeric, decimal:0,2 |
advanced_options.request_address_delivery | Indica si se debe solicitar dirección de envio en Colombia | nullable, boolean |
advanced_options.payment_methods | Contenedor para indicar los métodos de pago que estaran disponibles en el checkout | nullable, Object, métodos de pago disponibles |
advanced_options.payment_methods.credit | Indicar las tarjetas que se aceptaran en el checkout | sometimes, required_with:advanced_options.payment_methods, array |
advanced_options.payment_methods.pse | Indicar pse que se aceptaran en el checkout | sometimes, required_with:advanced_options.payment_methods, array |
advanced_options.payment_methods.cash | Indicar los efectivos que se aceptaran en el checkout | sometimes, required_with:advanced_options.payment_methods, array |
advanced_options.discount | Contenedor para indicar si aplica descuento sobre el monto | nullable, Object |
advanced_options.discount.before_on | Indica hasta que fecha aplica el descuento | nullable, date, after_or_equal:today |
advanced_options.discount.type | Indica el tipo del descuento que puede ser por "valor" o "porcentaje" | nullable, enumeración (value, percentage) |
advanced_options.discount.value | Indica el valor del descuento de acuerdo al tipo escogidó | nullable, numeric, decimal:0,2 |
advanced_options.cash_expired_period | Indica si se desea customizar el tiempo de expiración de un cupon en efectivo, se debe llenar tambien el campo cash_expired_interval | nullable, integer, min:1, max:31 |
advanced_options.cash_expired_interval | Indica si se desea customizar el tiempo de expiración de un cupon en efectivo, se debe llenar tambien el campo cash_expired_period | nullable, enumeración (hour, day, week, month, year) |
advanced_options.has_comments | Indica si se desean recibir comentarios en el checkout de la trx | required, boolean |
advanced_options.credibanco_gateway | Si deseas que la transacción sea agregadora y tienes tu propia terminal para Credibanco puedes poner tus codigos aquí | nullable, array |
advanced_options.credibanco_gateway.code | Aquí debes poner el código único correspondiente a Credibanco. | required_with:advanced_options.credibanco_gateway, string, min:3, max:15 |
advanced_options.credibanco_gateway.terminal | Aquí debes poner el código de terminal correspondiente a Credibanco. | required_with:advanced_options.credibanco_gateway, string, min:3, max:15 |
advanced_options.redeban_gateway | Si deseas que la transacción sea agregadora y tienes tu propia terminal para Redeban puedes poner tus codigos aquí. | nullable, array |
advanced_options.redeban_gateway.code | Aquí debes poner el código único correspondiente a Redeban. | required_with:advanced_options.redeban_gateway, string, min:3, max:15 |
advanced_options.redeban_gateway.terminal | Aquí debes poner el código de terminal correspondiente a Redeban. | required_with:advanced_options.redeban_gateway, string, min:3, max:15 |
advanced_options.pse_gateway | Si deseas que la transacción sea agregadora y tienes tu propia terminal para Pse puedes poner tus codigos aquí. | nullable, array |
advanced_options.pse_gateway.code | Aquí debes poner el código único correspondiente a Pse. | required_with:advanced_options.pse_gateway, string, min:3, max:15 |
advanced_options.pse_gateway.nit | Aquí debes poner el número Nit de tu comercio. | required_with:advanced_options.pse_gateway, string, min:8, max:11 |
Ejemplo de solicitud por redirect:
curl -X POST\
"/api/v1/payment/generate-payment"\
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H "Content-type: application/json" \
-d '{
"payment" : {
"description": "Prueba alltruismo 2",
"amount": 20000,
"currency_type": "COP",
"checkout_type": "redirect"
},
"advanced_options": {
"picture": "https://learn.g2.com/hubfs/G2CM_GI041_Checkout_process_V1b.png",
"limit_date": "2023-12-24",
"references": [
"123455678",
"1234556789",
"1234556780"
],
"result_urls": {
"approved": "https://www.ted.com/",
"rejected": "https://www.ted.com/",
"pending": "https://www.ted.com/"
},
"delivery_service": {
"type": "Con Valor",
"value": 2000
},
"request_address_delivery": true,
"discount": {
"before_on": "2023-12-07",
"type": "Valor",
"value": "2000"
},
"has_comments": true,
"comments_label": "Aqui tu comentario",
"redeban_gateway": {
"code": "12349876",
"terminal": "DRA12335"
}
},
"office": 1
}'
Ejemplo de solicitud por api:
curl -X POST\
"/api/v1/payment/generate-payment"\
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H "Content-type: application/json" \
-d '{
"payment" : {
"description": "Ejemplo generar payment",
"amount": 20000,
"currency_type": "COP",
"checkout_type": "api"
},
"advanced_options": {
"picture": "https://learn.g2.com/hubfs/G2CM_GI041_Checkout_process_V1b.png",
"limit_date": "2023-12-24",
"references": [
"123455678",
"1234556789",
"1234556780"
],
"result_urls": {
"approved": "https://www.ted.com/",
"rejected": "https://www.ted.com/",
"pending": "https://www.ted.com/"
},
"delivery_service": {
"type": "Con Valor",
"value": 2000
},
"request_address_delivery": true,
"discount": {
"before_on": "2023-12-07",
"type": "Valor",
"value": "2000"
},
"has_comments": true,
"comments_label": "Aqui tu comentario",
"redeban_gateway": {
"code": "12349876",
"terminal": "DRA12335"
}
},
"office": 1
}'
curl -X POST\
"/api/v1/payment/generate-payment"\
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H "Content-type: application/json" \
-d '{
"saved": true,
"payment_id": "9dc12b03-5833-496a-83e6-4dfb8eb2570b",
"url": "https://sag.efipay.co/Checkout/PaymentGateway/9dc12b03-5833-496a-83e6-4dfb8eb2570b?signature=e7e33380957f87b98dab2353ccb7b3c5aed4387c44297fdefe03594b2ae17d79"
}'
curl -X POST\
"/api/v1/payment/generate-payment"\
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H "Content-type: application/json" \
-d '{
"saved": true,
"payment_id": "9dc12b26-dc55-474c-8602-5d9e00af129e",
"token": "ZQZ82Ifn5fAuzKL"
}'