Checkout


Overview

Descripción: A través de está opción podrás realizar la transacción de un pago que hayas generado desde nuestro generador de pagos todo por medio de conexión API, dándote la libertad de usar el diseño que tu tengas para tu aplicación, solo ten en cuenta que necesitaremos la siguiente información en el body de la petición en formato JSON:

Payment Parameters

Nombre del campo Descripción Reglas
payment Información de pago generado tipo api requerido
payment.id Id del pago generado requerido
payment.token Token generado requerido

Customer Parameters

Nombre del campo Descripción Reglas
customer_payer Información para el cliente requerido
customer_payer.name Nombre del usuario a realizar el pago requerido
customer_payer.address_1 Dirección principal del usuario requerido, string, min:5, max:100
customer_payer.address_2 Dirección secundaria del usuario requerido, string, min:1, max:100
customer_payer.city Ciudad del usuario requerido, string, min:1, max:100
customer_payer.state Estado/Región del usuario requerido, string, min:1, max:100
customer_payer.zip_code Código postal requerido, string, numérico
customer_payer.country País del usuario correspondiente al ISO3 requerido, countries iso3_code

Delivery Address Parameters

Si el pago generado se configuró con "advance_options" y existe request_address_delivery se requerirá la siguiente información, de lo contrario no necesita enviarse.

Nombre del campo Descripción Reglas
delivery_address Información de dirección de envió requerido
delivery_address.address Dirección del usuario Debe ser una cadena entre 5 y 100 caracteres. requerido, cadena entre 5 y 100
delivery_address.department_id Id de la lista de departamentos. requerido, id departamento valido
delivery_address.city_id Id del la lista de ciudades requerido, id ciudad valido
delivery_address.observations Es opcional, puede ser nulo. puede ser nulo

Checkout Tarjetas

Parametros Tarjeta

Adicional a los parámetros anteriores se deben agregar los siguientes:

Nombre del campo Descripción Reglas
payment_card Información para los datos de la tarjeta requerido
payment_card.token El token correspondiente a una tarjeta generado con el tokenizador Este campo no debe ir acompañado de otro dentro de paymet_card
payment_card.number Numero de la tarjeta crédito o débito del usuario requerido sin:payment_card.token, numérico, dígitos entre:14,16, ausente con:payment_card.token
payment_card.name Nombre que aparece en la tarjeta del usuario requerido sin:payment_card.token, solo letras ,ausente con:payment_card.token
payment_card.expiration_date Número de expiración de la tarjeta del usuario requerido sin:payment_card.token, fecha después o igual:yyyy-mm, formato:yyyy-mm, ausente con:payment_card.token
payment_card.cvv Numero de 3 o 4 dígitos de la parte de atrás de la tarjeta requerido sin:payment_card.token, entero, dígitos entre:3,4, ausente con:payment_card.token
payment_card.identification_type Identificación del usuario requerido
payment_card.id_number Número de identidad del usuario requerido, entre 5 y 20 dígitos
payment_card.installments Numero de cuotas requerido, entero, Entre 1 y 60
payment_card.dialling_code Código del país para teléfono requerido, Formato +123
payment_card.cellphone Numero de celular del usuario requerido, numérico, dígitos entre 5 y 15

Ejemplo para tarjetas

Ejemplo de solicitud sin token:

curl -X POST\
'{{ URL::to('/api/v1/payment/transaction-checkout') }}'\
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H "Content-type: application/json" \
-d '{
    "payment": {
        "id": "9a6f8166-644e-4680-bc37-66535e591ea5",
        "token": "1rV9zc9DApoOw3a"
    },
    "customer_payer": {
        "name": "Efipay",
        "email": "efipay@gmail.com"
    },
    "payment_card": {
        "number": "5249314023340339",
        "name": "efipay",
        "expiration_date": "2025-05",
        "cvv": "478",
        "identification_type": "CC",
        "id_number": "342343243",
        "installments": "1",
        "dialling_code": "57",
        "cellphone": "3004564884"
    }
}'

Ejemplo de solicitud con token:

curl -X POST\
'{{ URL::to('/api/v1/payment/transaction-checkout') }}'\
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H "Content-type: application/json" \
-d '{
    "payment": {
        "id": "9abca90d-978d-4722-891f-b41b6ebbae1e",
        "token": "quSOdCbSljI31wT"
    },
    "customer_payer": {
        "name": "Efipay",
        "email": "email@email.com"
    },
    "payment_card": {
        "token": "eyJpdiI6IkdzaG44RFV5dE5GNlE2MWRSM2lBTGc9PSIsInZhbHVlIjoiZWxyRzkyYTE4THNtY2VseCs5VzlKbW5pa0NicCtiRWhGNWQ5ZTBwTGM1VXF0UXlEemtVWEJyY21ueVIwZ2U5cHNGS2FvdFg1SHVTcmtiQ0phQWNia1JsTUZtQjU3OFpCR0p3bVVlTy9OVVMwM3hJNnJOWGZTbitwL3dlVmtmRStRN2xBZ3paWHI4bDFS
                        N0lBVHhRa2hBPT0iLCJtYWMiOiJlNDY0NmM4YThhNWMzMDYyOGMxNDAxMjA5MmVlMjNjYjNiYWEyMjczNjA5ZGNkMzM0NmMxMzg0YjZhYjgyY2ZhIiwidGFnIjoiIn0=",
        "identification_type": "CC",
        "id_number": "342343243",
        "installments": "1",
        "dialling_code": "57",
        "cellphone": "3004564884"
    }
}'

Checkout PSE

Parametros pse

Cuando realizes la petición recibirás una url a la cual deberás redireccionar al usuario para que pueda realizar el pago, cuando el usuario realize el pago en su banco y regrese al comercio sera redireccionado a uno de las siguientes opciones; a la url si agregaste el custom_redirect_url en este checkout si no al checkout de respuesta de efipay.

La validación del pago lo podrás hacer a través de nuestro webhook o consultando el status al ser redireccionado a una de tus url personalizadas de redirección.

Consulta la lista de bancos disponibles aquí. Consulta la lista de datos del formulario para pse aquí.

Adicional a los parámetros anteriores se deben agregar los siguientes:

Nombre del campo Descripción Reglas
pse Objeto requerido. requerido
pse.financialInstitutionCode Código numérico de la lista de bancos
pse.userType Hace referencia al tipo de usuario de la lista con las opciones disponibles. requerido
pse.identificationType Hace referencia al tipo de usuario de la lista con las opciones disponibles. requerido
pse.identificationNumber Numero de identificación del usuario a pagar requerido, dígitos entre 5 y 15
pse.fullName Nombre del usuario a pagar requerido
pse.cellphoneNumber Celular del usuario a pagar requerido
pse.address Dirección del usuario a pagar requerido
pse.email Email del usuario a pagar requerido, email
pse.redirect Url para redirigir al usuario después del pago opcional, url valida

Ejemplo para pse

curl -X POST\
'{{ URL::to('/api/v1/payment/transaction-checkout/pse') }}'\
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H "Content-type: application/json" \
-d '{
    "payment": {
        "id": "generated_payment_id", //9a6f8166-644e-4680-bc37-66535e591ea5
        "token": "token_payment" //1rV9zc9DApoOw3a
    },
    "customer_payer": {
        "name": "Pepito perez",
        "email": "pepito@email.com"
    },
    "pse": {
        "financialInstitutionCode": "0000",
        "userType": "person",
        "identificationType": "CedulaDeCiudadania",
        "identificationNumber": "123456789",
        "fullName": "Pepito Perez",
        "cellphoneNumber": "3123456789",
        "address": "calle 93 # 32",
        "email": "pepito@email.com",
        "redirect": "https://efipay.co/"
    }
}'

Checkout Efectivos

Parametros Tarjeta

Ten presente que al usar este checkout para pagos en efectivos al realizar la petición todas las transacciones darán como respuesta el estado por pagar, y la información del cupón para que tu usuario realize el pago en la sucursal de efectivo correspondiente.

Para poder validar el pago de este tipo de transacciones te ofrecemos dos opciones; la primera y más sencilla usar nuestro webhook para notificarte la nueva información sobre las transacciones y la segunda es que realizes una consulta del estado del pago después del tiempo de expiración que también te proporcionamos en la respuesta.

Podrás consultar la lista de efectivos disponibles para ti aquí

Adicional a los parámetros anteriores se deben agregar los siguientes:

Nombre del campo Descripción Reglas
cash Objeto requerido requerido

| cash.franchise | Hace referencia al nombre de la sucursal del efectivo.| requerido| | cash.cellphone_number | Requerido.| requerido, Máximo 10 dígitos| | payment_card.identification_number | Numero de identificación de la persona a pagar | requerido, numérico, dígitos entre 5 y 15 |

Ejemplo para efectivos

curl -X POST\
'{{ URL::to('/api/v1/payment/transaction-checkout/cash') }}'\
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H "Content-type: application/json" \
-d '{
    'payment': {
        'id': 'generated_payment_id', //9a6f8166-644e-4680-bc37-66535e591ea5
        'token': 'token_payment' //1rV9zc9DApoOw3a
    },
    'customer_payer': {
        'name': 'Pepito peres',
        'email': 'pepito@gmail.com'
    },
    "cash" : {
        "franchise": "Efecty",
        "cellphone_number": "3123456789",
        "identification_number": "123456789"
    }
}'