Transacciones

Overview

Genera la información de un pago con los parámetros de la solicitud.

Ejemplo

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
}'

Respuesta redirect

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"
}'

Respuesta Full API

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"
}'