Genera la información de un pago con los parámetros de la solicitud.
Nombre del campo | Descripción | Reglas |
---|---|---|
payment | Requerido | required |
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) |
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.picture | El campo picture dentro de advanced_options puede ser nulo, debe ser una imagen y su tamaño máximo es de 5120 kilobytes. | nullable, image, max:5120 |
advanced_options.limit_date | Puede ser nulo, debe ser una fecha y debe ser igual o posterior al día actual. | nullable, date, after_or_equal:today |
advanced_options.references | Puede ser nulo, debe ser un array y su longitud máxima es de 3 elementos. | nullable, array, max:3 |
advanced_options.references.* | Todos los elementos dentro de references son requeridos, deben ser una string y tener una longitud máxima de 50 caracteres. | required, string, max:50 |
advanced_options.result_urls | El campo result_urls dentro de advanced_options puede ser nulo. | nullable |
advanced_options.result_urls.approved | Dentro de result_urls es requerido si result_urls está presente, debe ser una URL activa. | required_with:result_urls, url, active_url |
advanced_options.result_urls.rejected | rejected dentro de result_urls es requerido si result_urls está presente, debe ser una URL activa. | required_with:result_urls, url, active_url |
advanced_options.result_urls.pending | Pending dentro de result_urls es requerido si result_urls está presente, debe ser una URL activa. | required_with:result_urls, url, active_url |
advanced_options.result_urls.webhook | Webhook dentro de result_urls es requerido si result_urls está presente, debe ser una URL activa. y de tipo post, sera usada para enviar via webhook el cambio del estado de la transaccion | required_with:result_urls, url, active_url, tipo post |
advanced_options.delivery_service | El campo delivery_service dentro de advanced_options puede ser nulo. | nullable |
advanced_options.delivery_service.type | Puede ser nulo y debe ser un valor permitido según la enumeración (gratis, con valor). | nullable, en enumeración (gratis, con valor) |
advanced_options.delivery_service.value | Puede ser nulo, pero si type es 'Value', entonces es requerido; debe ser un número decimal con un máximo de 2 decimales. | nullable, required_if:advanced_options.delivery_service.type,Value, numeric, decimal:0,2 |
advanced_options.request_address_delivery | Puede ser nulo y debe ser un booleano. | nullable, boolean |
advanced_options.payment_methods | El campo payment_methods dentro de advanced_options puede ser nulo. | nullable, métodos de pago disponibles |
advanced_options.payment_methods.credit | A veces es requerido si payment_methods está presente y debe ser un array. | sometimes, required_with:advanced_options.payment_methods, array |
advanced_options.payment_methods.pse | A veces es requerido si payment_methods está presente y debe ser un array. | sometimes, required_with:advanced_options.payment_methods, array |
advanced_options.payment_methods.cash | A veces es requerido si payment_methods está presente y debe ser un array. | sometimes, required_with:advanced_options.payment_methods, array |
advanced_options.discount.before_on | Puede ser nulo, debe ser una fecha y debe ser igual o posterior al día actual. | nullable, date, after_or_equal:today |
advanced_options.discount.type | Puede ser nulo y debe ser un valor permitido según la enumeración (Value, Percentage). | nullable, en enumeración (value, percentage) |
advanced_options.discount.value | Puede ser nulo, debe ser un número decimal con un máximo de 2 decimales. | nullable, numeric, decimal:0,2 |
advanced_options.has_comments | Dentro de advanced_options es requerido si advanced_options está presente y debe ser un booleano. | |
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\
'{{ URL::to('/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\
'{{ URL::to('/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": "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
}'