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