openapi: 3.0.3
info:
title: 'API - DOCUMENTACIÓN'
description: 'Utiliza nuestra API para procesar pagos de forma segura'
version: 1.0.0
servers:
-
url: 'https://app.bepay.com.co'
paths:
/api/v1/get-access-token:
post:
summary: 'Obtener token de autenticación'
operationId: obtenerTokenDeAutenticacin
description: "Este endpoint permite generar un token de acceso para\nautenticar al usuario y poder realizar otras solicitudes al API\n"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
data: 43|Twf760yNIOzPwU5TOsxqHg8dV6XsaOMkkRaeea8f
message: ''
properties:
success:
type: boolean
example: true
data:
type: string
example: 43|Twf760yNIOzPwU5TOsxqHg8dV6XsaOMkkRaeea8f
message:
type: string
example: ''
401:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
message: 'Invalid credentials'
properties:
success:
type: boolean
example: false
message:
type: string
example: 'Invalid credentials'
tags:
- Generales
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'Correo electrónico de un usuario con cuenta activa en ELP-LATAM
'
example: efren.pfannerstill@hotmail.com
nullable: false
password:
type: string
description: 'Contraseña de un usuario con cuenta activa en ELP-LATAM
'
example: test
nullable: false
required:
- email
- password
security: []
/api/v1/accounts:
get:
summary: 'Obtener listado de cuentas'
operationId: obtenerListadoDeCuentas
description: 'Este endpoint devuelve el listado de cuentas relacionado al usuario que realiza la solicitud'
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n\"success\": true,\n\"data\": [\n {\n \"id\": 2,\n \"platform\": \"DEVELOPMENT\",\n \"banks_account_number\": \"13616635935\",\n \"rsa_public_key\": \"-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsufUhXQlalV0swvLo8nM\nuZ3Poe3GZU+73+hbwVst+9C02Eu31JmPRXdCdDPsOtzJtxPC7xazlvT1+cVEOHNE\nUEvtirJE7tim6SIJIAqHpdAEdnvdwYLSADJ836ZSwFZMwqbySDgcjm5543E9rAQ/\nkg8z8uotIcJaWZl/PYkE0CePVAW4+nkqogaDb/aL6CaaNWzO5/PHejUfHsaHx9rP\n86AvSOPlNCI0noBcdUzpT4pgcuRJocf66eB9gBRTTh8EeU4oPpHD3QAfpBu68n7H\nxOPOATYxKyuHGrZAVFRsiLoLZDhRqM3W6ZiVz8Z6v+J08ebVjnHB97f2793NX9JD\nqxjoaNh4vNbSQpavHdZqzme6lJtYtCWaBdutn2p97zkNoeN2HjvpaYmqIqEHy1LJ\ngUh4VdC3+sxC8gY9uByJCss5UzU2jt5c6Ppm42ztVlrTLX/Rg9N7sDnPw3YRTZfb\nIUaqKZtEwIGJ3Nt25RZr/qiavV6R8EgQoE+t+CxXwtthBNhw5nUrCWVWpXqylV5W\n0o4rekq3cVmqxfomQXOusDcleoWppTDxuO00QmgTkebwB6b8ZirMf6ss5XJv273Y\nnUBFzoz5kOt0JCsC4muwx0SPp0V0SwVOt8+UsTP/E2Gf7kLxeYyTg1uy36ZFczh4\nzVk/Y+BEX6p7ODYEolV1yVkCAwEAAQ==\n-----END PUBLIC KEY-----\n\"\n }\n],\n\"message\": \"\"\n}"
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Generales
/api/v1/accounts/paymentmethods:
post:
summary: 'Obtener metodos de pago de una cuenta'
operationId: obtenerMetodosDePagoDeUnaCuenta
description: 'Este endpoint devuelve el listado de métodos de pago de una cuenta'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
data:
- TC
- PSE
- WALLETVISA
message: ''
properties:
success:
type: boolean
example: true
data:
type: array
example:
- TC
- PSE
- WALLETVISA
items:
type: string
message:
type: string
example: ''
400:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: null
message: 'No se ha especificado un id de cuenta válido'
properties:
success:
type: boolean
example: false
data:
type: string
example: null
message:
type: string
example: 'No se ha especificado un id de cuenta válido'
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
403:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: '1'
message: 'El usuario que está autenticado no tiene acceso a la cuenta seleccionada'
properties:
success:
type: boolean
example: false
data:
type: string
example: '1'
message:
type: string
example: 'El usuario que está autenticado no tiene acceso a la cuenta seleccionada'
tags:
- Generales
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_id:
type: integer
description: "Id de la cuenta con la que se generará el link Debe ser un valor devuelto por el endpoint\n Obtener listado de cuentas
"
example: 3
nullable: false
required:
- account_id
/api/v1/currencies:
get:
summary: 'Obtener monedas disponibles'
operationId: obtenerMonedasDisponibles
description: 'Este endpoint devuelve el listado de monedas disponibles'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
data:
-
iso_code: COP
symbol: $
decimal_separator: ','
thousand_separator: .
message: ''
properties:
success:
type: boolean
example: true
data:
type: array
example:
-
iso_code: COP
symbol: $
decimal_separator: ','
thousand_separator: .
items:
type: object
properties:
iso_code:
type: string
example: COP
symbol:
type: string
example: $
decimal_separator:
type: string
example: ','
thousand_separator:
type: string
example: .
message:
type: string
example: ''
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Generales
/api/v1/taxes:
get:
summary: 'Obtener los impuestos disponibles'
operationId: obtenerLosImpuestosDisponibles
description: 'Este endpoint devuelve el listado de impuestos disponibles'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
data:
-
type: IVA
value: '0.00'
-
type: IVA
value: '5.00'
-
type: IVA
value: '19.00'
message: ''
properties:
success:
type: boolean
example: true
data:
type: array
example:
-
type: IVA
value: '0.00'
-
type: IVA
value: '5.00'
-
type: IVA
value: '19.00'
items:
type: object
properties:
type:
type: string
example: IVA
value:
type: string
example: '0.00'
message:
type: string
example: ''
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Generales
/api/v1/countries:
get:
summary: 'Obtener paises'
operationId: obtenerPaises
description: 'Este endpoint devuelve el listado de paises disponibles'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
data:
-
id: 1
name: Colombia
code_country: 57
message: ''
properties:
success:
type: boolean
example: true
data:
type: array
example:
-
id: 1
name: Colombia
code_country: 57
items:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: Colombia
code_country:
type: integer
example: 57
message:
type: string
example: ''
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Generales
'/api/v1/regions/{countryId}':
get:
summary: 'Obtener regiones'
operationId: obtenerRegiones
description: 'Este endpoint devuelve el listado de regiones disponibles'
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"success\": true,\n \"data\": [\n {\n \"id\": 1,\n \"name\": \"Antioquia\",\n \"code\": \"ANT\",\n \"country_id\": 48,\n \"country_name\": \"Colombia\",\n \"country_code\": \"CO\",\n }\n\n {\n \"id\": 2,\n \"name\": \"Cundinamarca\",\n \"code\": \"CUN\",\n \"country_id\": 48,\n \"country_name\": \"Colombia\",\n \"country_code\": \"CO\",\n }\n ],\n \"message\": \"\"\n}"
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Generales
parameters:
-
in: path
name: countryId
description: "Optional parameter. Id del país del que se desean obtener las regiones Debe ser un valor devuelto por el endpoint\n Obtener paises
"
required: true
schema:
type: integer
examples:
omitted:
summary: 'When the value is omitted'
value: ''
present:
summary: 'When the value is present'
value: 48
'/api/v1/cities/{countryId}/{regionId}':
get:
summary: 'Obtener ciudades'
operationId: obtenerCiudades
description: 'Este endpoint devuelve el listado de ciudades disponibles'
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"success\": true,\n \"data\": [\n {\n \"id\": 1,\n \"name\": \"Medellín\",\n \"region_id\": 2,\n \"region_name\": \"Antioquia\",\n \"region_code\": \"ANT\",\n \"country_id\": 48,\n \"country_name\": \"Colombia\",\n \"country_code\": \"CO\",\n },\n {\n \"id\": 2,\n \"name\": \"Envigado\",\n \"region_id\": 2,\n \"region_name\": \"Antioquia\",\n \"region_code\": \"ANT\",\n \"country_id\": 48,\n \"country_name\": \"Colombia\",\n \"country_code\": \"CO\",\n }\n ],\n \"message\": \"\"\n}"
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Generales
parameters:
-
in: path
name: countryId
description: "Optional parameter. Id del país del que se desean obtener las ciudades Debe ser un valor devuelto por el endpoint\n Obtener paises
"
required: true
schema:
type: integer
examples:
omitted:
summary: 'When the value is omitted'
value: ''
present:
summary: 'When the value is present'
value: 48
-
in: path
name: regionId
description: "Optional parameter. Id de la región de la que se desean obtener las ciudades Debe ser un valor devuelto por el endpoint\n Obtener regiones
"
required: true
schema:
type: integer
examples:
omitted:
summary: 'When the value is omitted'
value: ''
present:
summary: 'When the value is present'
value: 2890
/api/v1/documentTypes:
get:
summary: 'Obtener tipos de documentos'
operationId: obtenerTiposDeDocumentos
description: 'Este endpoint devuelve el listado de tipos de documentos disponibles'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
data:
-
id: 1
name: NIT
short_name: NIT
-
id: 2
name: 'Cédula de ciudadanía'
short_name: CC
-
id: 3
name: 'Cédula de extranjería'
short_name: CE
-
id: 4
name: Pasaporte
short_name: PAS
-
id: 5
name: 'Tarjeta de identidad'
short_name: TI
-
id: 6
name: 'Registro civil de nacimiento'
short_name: RC
message: ''
properties:
success:
type: boolean
example: true
data:
type: array
example:
-
id: 1
name: NIT
short_name: NIT
-
id: 2
name: 'Cédula de ciudadanía'
short_name: CC
-
id: 3
name: 'Cédula de extranjería'
short_name: CE
-
id: 4
name: Pasaporte
short_name: PAS
-
id: 5
name: 'Tarjeta de identidad'
short_name: TI
-
id: 6
name: 'Registro civil de nacimiento'
short_name: RC
items:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: NIT
short_name:
type: string
example: NIT
message:
type: string
example: ''
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Generales
/api/v1/pseBanks:
get:
summary: 'Obtener bancos PSE'
operationId: obtenerBancosPSE
description: 'Este endpoint devuelve el listado de bancos disponibles en PSE'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
data:
-
name: 'BANCO PSE'
code: '1101'
-
name: 'BANCO UNION COLOMBIANO'
code: '1022'
message: ''
properties:
success:
type: boolean
example: true
data:
type: array
example:
-
name: 'BANCO PSE'
code: '1101'
-
name: 'BANCO UNION COLOMBIANO'
code: '1022'
items:
type: object
properties:
name:
type: string
example: 'BANCO PSE'
code:
type: string
example: '1101'
message:
type: string
example: ''
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Generales
/api/v1/Banks:
get:
summary: Bancos
operationId: bancos
description: ''
parameters:
-
in: query
name: per_page
description: 'records per page'
example: 20
required: false
schema:
type: integer
description: 'records per page'
example: 20
nullable: false
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: null
meta: []
message: Unauthenticated.
properties:
success:
type: boolean
example: false
data:
type: string
example: null
meta:
type: array
example: []
message:
type: string
example: Unauthenticated.
tags:
- Generales
/api/v1/ciiuCodes:
get:
summary: 'Códigos CIIU'
operationId: cdigosCIIU
description: ''
parameters:
-
in: query
name: per_page
description: 'records per page'
example: 20
required: false
schema:
type: integer
description: 'records per page'
example: 20
nullable: false
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: null
meta: []
message: Unauthenticated.
properties:
success:
type: boolean
example: false
data:
type: string
example: null
meta:
type: array
example: []
message:
type: string
example: Unauthenticated.
tags:
- Generales
/api/v1/account-balance:
post:
summary: 'Obtener balance'
operationId: obtenerBalance
description: 'Obtiene el balance en tiempo real de la cuenta indicada'
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"success\": true,\n \"message\": \"\",\n \"data\": {\n \"balance\": 1000.50\n}"
tags:
- Generales
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_id:
type: integer
description: "Id de la cuenta para la cual se obtendrá el balance en tiempo real.
Ejemplo: 1\n- Ejemplo: [{\"account_id\": 1}]"
example: 14
nullable: false
required:
- account_id
/api/v1/charges/link:
post:
summary: 'Generar un link de cobro'
operationId: generarUnLinkDeCobro
description: 'Este endpoint devuelve un link de cobro con el que se puede iniciar una transacción'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
data:
ide: NjM5N2QyZTkyZmY3Ng
total: '1000.00'
link: 'https://<
'
example: link
nullable: false
reference:
type: string
description: ''
example: REF001
nullable: false
currency_code:
type: string
description: "Código ISO de la moneda que se usará para generar el link de pago ver método \n /currency"
example: COP
nullable: false
tax_percentage:
type: decimal
description: "Porcentaje de impuestos con el que se calcularán los impuestos de la transacción\n "
example: '19.00'
nullable: false
total:
type: decimal
description: 'Valor total por el que se generará el link de cobro'
example: '1000'
nullable: false
description:
type: string
description: 'Descripción textual para identificar el cobro'
example: 'Compra ecommerce #645213'
nullable: false
redirect_url:
type: string
description: 'Url donde será redireccionado el usuario al finalizar la transacción'
example: 'https://elplatam.com'
nullable: false
split:
type: array
description: ''
example: null
items:
type: object
properties:
account_id:
type: string
description: 'The id of an existing record in the accounts table.'
example: null
nullable: false
enum:
- null
amount:
type: number
description: ''
example: 243.1
nullable: false
required:
- account_id
- amount
account_id:
type: integer
description: "Id de la cuenta con la que se generará el link Debe ser un valor devuelto por el endpoint\n Obtener listado de cuentas
"
example: 2
nullable: false
extra2:
type: string
description: 'extra 2'
example: REF741852
nullable: false
extra3:
type: string
description: 'extra 3'
example: REF875485
nullable: false
required:
- type
- reference
- currency_code
- tax_percentage
- total
- description
- account_id
/api/v1/charges/sms:
post:
summary: 'Envia un SMS de cobro'
operationId: enviaUnSMSDeCobro
description: 'Este endpoint envia un link de cobro por medio de SMS'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
data:
ide: NjM5N2QyZTkyZmY3Ng
total: '1000.00'
link: 'https://<
'
example: sms
nullable: false
reference:
type: string
description: ''
example: REF001
nullable: false
currency_code:
type: string
description: "Código ISO de la moneda que se usará para generar el link de pago ver método \n /currency"
example: COP
nullable: false
tax_percentage:
type: decimal
description: "Porcentaje de impuestos con el que se calcularán los impuestos de la transacción\n "
example: '19.00'
nullable: false
total:
type: decimal
description: 'Valor total por el que se generará el link de cobro'
example: '1000'
nullable: false
description:
type: string
description: 'Descripción textual para identificar el cobro'
example: 'Compra ecommerce #645213'
nullable: false
redirect_url:
type: string
description: 'Url donde será redireccionado el usuario al finalizar la transacción'
example: 'https://elplatam.com'
nullable: false
split:
type: array
description: ''
example: null
items:
type: object
properties:
account_id:
type: string
description: 'The id of an existing record in the accounts table.'
example: null
nullable: false
enum:
- null
amount:
type: number
description: ''
example: 4.8386
nullable: false
required:
- account_id
- amount
account_id:
type: integer
description: "Id de la cuenta con la que se generará el link Debe ser un valor devuelto por el endpoint\n Obtener listado de cuentas
"
example: 2
nullable: false
payer_country_code:
type: integer
description: 'código del pais `code_country`, devuelto por el endpoint `api/v1/country`'
example: 57
nullable: false
payer_language:
type: string
description: "Idioma en el que se enviará el SMS,
\n los valores soportados: es|en|fr|pr|it"
example: es
nullable: false
payer_mobile_number:
type: number
description: 'Número móvil al que se enviará el SMS'
example: 3215704751
nullable: false
extra2:
type: string
description: 'extra 2'
example: REF741852
nullable: false
extra3:
type: string
description: 'extra 3'
example: REF875485
nullable: false
required:
- type
- reference
- currency_code
- tax_percentage
- total
- description
- account_id
- payer_country_code
- payer_language
- payer_mobile_number
/api/v1/charges/whatsapp:
post:
summary: 'Envia un Whatsapp de cobro'
operationId: enviaUnWhatsappDeCobro
description: 'Este endpoint envia un link de cobro por medio de Whatsapp'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
data:
ide: NjM5N2QyZTkyZmY3Ng
total: '1000.00'
link: 'https://<
'
example: whatsapp
nullable: false
reference:
type: string
description: ''
example: REF001
nullable: false
currency_code:
type: string
description: "Código ISO de la moneda que se usará para generar el link de pago ver método \n /currency"
example: COP
nullable: false
tax_percentage:
type: decimal
description: "Porcentaje de impuestos con el que se calcularán los impuestos de la transacción\n "
example: '19.00'
nullable: false
total:
type: decimal
description: 'Valor total por el que se generará el link de cobro'
example: '1000'
nullable: false
description:
type: string
description: 'Descripción textual para identificar el cobro'
example: 'Compra ecommerce #645213'
nullable: false
redirect_url:
type: string
description: 'Url donde será redireccionado el usuario al finalizar la transacción'
example: 'https://elplatam.com'
nullable: false
split:
type: array
description: ''
example: null
items:
type: object
properties:
account_id:
type: string
description: 'The id of an existing record in the accounts table.'
example: null
nullable: false
enum:
- null
amount:
type: number
description: ''
example: 1143.6615
nullable: false
required:
- account_id
- amount
account_id:
type: integer
description: "Id de la cuenta con la que se generará el link Debe ser un valor devuelto por el endpoint\n Obtener listado de cuentas
"
example: 2
nullable: false
payer_country_code:
type: integer
description: 'código del pais `code_country`, devuelto por el endpoint `api/v1/country`'
example: 57
nullable: false
payer_language:
type: string
description: "Idioma en el que se enviará el SMS,
\n los valores soportados: es|en|fr|pr|it"
example: es
nullable: false
payer_mobile_number:
type: number
description: 'Número móvil al que se enviará el SMS'
example: 3215704751
nullable: false
extra2:
type: string
description: 'extra 2'
example: REF741852
nullable: false
extra3:
type: string
description: 'extra 3'
example: REF875485
nullable: false
required:
- type
- reference
- currency_code
- tax_percentage
- total
- description
- account_id
- payer_country_code
- payer_language
- payer_mobile_number
/api/v1/charges/email:
post:
summary: 'Envia un email de cobro'
operationId: enviaUnEmailDeCobro
description: 'Este endpoint envia un link de cobro por medio de correo electrónico'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
data:
ide: NjM5N2QyZTkyZmY3Ng
total: '1000.00'
link: 'https://<
'
example: email
nullable: false
reference:
type: string
description: ''
example: REF001
nullable: false
currency_code:
type: string
description: "Código ISO de la moneda que se usará para generar el link de pago ver método \n /currency"
example: COP
nullable: false
tax_percentage:
type: decimal
description: "Porcentaje de impuestos con el que se calcularán los impuestos de la transacción\n "
example: '19.00'
nullable: false
total:
type: decimal
description: 'Valor total por el que se generará el link de cobro'
example: '1000'
nullable: false
description:
type: string
description: 'Descripción textual para identificar el cobro'
example: 'Compra ecommerce #645213'
nullable: false
redirect_url:
type: string
description: 'Url donde será redireccionado el usuario al finalizar la transacción'
example: 'https://elplatam.com'
nullable: false
split:
type: array
description: ''
example: null
items:
type: object
properties:
account_id:
type: string
description: 'The id of an existing record in the accounts table.'
example: null
nullable: false
enum:
- null
amount:
type: number
description: ''
example: 62.0
nullable: false
required:
- account_id
- amount
account_id:
type: integer
description: "Id de la cuenta con la que se generará el link Debe ser un valor devuelto por el endpoint\n Obtener listado de cuentas
"
example: 2
nullable: false
payer_email:
type: string
description: 'Correo electrónico donde se enviará el link de pago'
example: bmaya@elplatam.com
nullable: false
extra2:
type: string
description: 'extra 2'
example: REF741852
nullable: false
extra3:
type: string
description: 'extra 3'
example: REF875485
nullable: false
required:
- type
- reference
- currency_code
- tax_percentage
- total
- description
- account_id
- payer_email
/api/v1/charges/qr:
post:
summary: 'Generar un QR de cobro'
operationId: generarUnQRDeCobro
description: 'Este endpoint devuelve un QR en base64 con el que se puede iniciar una transacción'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
data:
ide: NjM5N2RjMWZlMjU1NQ
total: '1000.00'
link: 'https://<
'
example: qr
nullable: false
reference:
type: string
description: ''
example: REF001
nullable: false
currency_code:
type: string
description: "Código ISO de la moneda que se usará para generar el link de pago ver método \n /currency"
example: COP
nullable: false
tax_percentage:
type: decimal
description: "Porcentaje de impuestos con el que se calcularán los impuestos de la transacción\n "
example: '19.00'
nullable: false
total:
type: decimal
description: 'Valor total por el que se generará el link de cobro'
example: '1000'
nullable: false
description:
type: string
description: 'Descripción textual para identificar el cobro'
example: 'Compra ecommerce #645213'
nullable: false
redirect_url:
type: string
description: 'Url donde será redireccionado el usuario al finalizar la transacción'
example: 'https://elplatam.com'
nullable: false
split:
type: array
description: ''
example: null
items:
type: object
properties:
account_id:
type: string
description: 'The id of an existing record in the accounts table.'
example: null
nullable: false
enum:
- null
amount:
type: number
description: ''
example: 139.239104
nullable: false
required:
- account_id
- amount
account_id:
type: integer
description: "Id de la cuenta con la que se generará el link Debe ser un valor devuelto por el endpoint\n Obtener listado de cuentas
"
example: 2
nullable: false
extra2:
type: string
description: 'extra 2'
example: REF741852
nullable: false
extra3:
type: string
description: 'extra 3'
example: REF875485
nullable: false
required:
- type
- reference
- currency_code
- tax_percentage
- total
- description
- account_id
/api/v1/Onboarding/signup:
post:
summary: Register
operationId: register
description: ''
parameters: []
responses: { }
tags:
- Onboarding
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
holder_person_type:
type: string
description: 'N = Natural Person
J = Juridical Person'
example: 'N'
nullable: false
holder_name:
type: string
description: ''
example: voluptas
nullable: false
holder_lastname:
type: string
description: ''
example: odio
nullable: false
holder_sex_id:
type: integer
description: '1 = F, 2 = M'
example: 1
nullable: false
holder_birthday:
type: string
description: 'Must be a valid date in the format Y-m-d.'
example: '2026-04-01'
nullable: false
holder_document_type_id:
type: integer
description: 'id from _documentTypes endpoint_'
example: 2
nullable: false
holder_document:
type: integer
description: ''
example: 5
nullable: false
holder_document_expedition:
type: date
description: 'Format: Y-m-d'
example: '1990-01-01'
nullable: false
holder_birthplace:
type: string
description: 'Max 120 characters'
example: Bogota
nullable: false
holder_phone:
type: string
description: ''
example: itaque
nullable: false
holder_email:
type: string
description: 'value no es un correo válido.'
example: felicita.romaguera@example.com
nullable: false
holder_address:
type: string
description: ''
example: reiciendis
nullable: false
holder_country_id:
type: integer
description: 'id from **countries endpoint**'
example: 48
nullable: false
holder_city_id:
type: integer
description: 'id from _cities endpoint_'
example: 21074
nullable: false
holder_pep:
type: string
description: ''
example: 'Y'
nullable: false
enum:
- 'Y'
- 'N'
holder_public_resources:
type: string
description: ''
example: 'Y'
nullable: false
enum:
- 'Y'
- 'N'
company_name:
type: string
description: ''
example: temporibus
nullable: false
company_service_description:
type: string
description: 'value no debe ser mayor que 256 caracteres.'
example: orsahmuynqqse
nullable: false
company_web:
type: string
description: 'Must be a valid URL.'
example: 'http://www.koss.info/dolores-corrupti-molestiae-enim-sed-numquam-voluptatem.html'
nullable: false
company_address:
type: string
description: ''
example: illo
nullable: false
company_warranty_description:
type: string
description: 'value no debe ser mayor que 512 caracteres.'
example: yciypgquqztmlxgho
nullable: false
company_document_type_id:
type: integer
description: 'id from _documentTypes endpoint_'
example: 1
nullable: false
company_document:
type: integer
description: ''
example: 16
nullable: false
company_income:
type: integer
description: "1 = Less than 1 SMLV
\n2 = Between 1 and 2 SMLV
\n3 = Between 2 and 3 SMLV
\n4 = Between 3 and 4 SMLV
\n5 = Between 5 and 6 SMLV
\n6 = Between 6 and 7 SMLV
\n7 = More than 7 SMLV"
example: 1
nullable: false
company_expenses:
type: integer
description: "1 = Less than 1 SMLV
\n2 = Between 1 and 2 SMLV
\n3 = Between 2 and 3 SMLV
\n4 = Between 3 and 4 SMLV
\n5 = Between 5 and 6 SMLV
\n6 = Between 6 and 7 SMLV
\n7 = More than 7 SMLV"
example: 1
nullable: false
company_assets:
type: integer
description: "1 = Less than 1 SMLV
\n2 = Between 1 and 2 SMLV
\n3 = Between 2 and 3 SMLV
\n4 = Between 3 and 4 SMLV
\n5 = Between 5 and 6 SMLV
\n6 = Between 6 and 7 SMLV
\n7 = More than 7 SMLV"
example: 1
nullable: false
company_liabilities:
type: integer
description: "1 = Less than 1 SMLV
\n2 = Between 1 and 2 SMLV
\n3 = Between 2 and 3 SMLV
\n4 = Between 3 and 4 SMLV
\n5 = Between 5 and 6 SMLV
\n6 = Between 6 and 7 SMLV
\n7 = More than 7 SMLV"
example: 1
nullable: false
company_bank_id:
type: integer
description: 'id from _Banks endpoint_'
example: 1
nullable: false
company_bank_account_type_id:
type: integer
description: '1 = Ahorros 2 = Corriente'
example: 1
nullable: false
company_account:
type: string
description: ''
example: deleniti
nullable: false
collect_mode:
type: string
description: 'A = Agregador, G = GATEWAY'
example: A
nullable: false
holder_photo:
type: string
description: 'A base64 string'
example: 'data:image/png;base64,iVBORw0KGgoAAAANS...'
nullable: false
holder_signature:
type: string
description: 'a base64 string'
example: 'data:image/png;base64,iVBORw0KGgoAAAANS...'
nullable: false
id_front_side:
type: string
format: binary
description: 'Must be a file.'
nullable: false
id_back_side:
type: string
format: binary
description: 'Must be a file.'
nullable: false
rut:
type: string
format: binary
description: 'Must be a file.'
nullable: false
commerce_chamber:
type: string
format: binary
description: 'Must be a file.'
nullable: false
tax_return:
type: string
format: binary
description: 'Must be a file.'
nullable: false
business_photo:
type: string
format: binary
description: 'Must be a file.'
nullable: false
financial_statements:
type: string
format: binary
description: 'Must be a file.'
nullable: true
shareholding_composition:
type: string
format: binary
description: 'Must be a file.'
nullable: true
professional_card:
type: string
format: binary
description: 'Must be a file.'
nullable: true
contract:
type: string
format: binary
description: 'Must be a file.'
nullable: false
bank_certification:
type: string
format: binary
description: 'Must be a file.'
nullable: false
ciiu_code_id:
type: integer
description: 'id from __ciiuCodes endpoint_'
example: 398
nullable: false
agreement:
type: string
description: ''
example: modi
nullable: true
major_contributor:
type: boolean
description: ''
example: true
nullable: true
self_retainer:
type: boolean
description: ''
example: false
nullable: true
iva_withholding_agent:
type: boolean
description: ''
example: true
nullable: true
simple_tax_regime:
type: boolean
description: ''
example: false
nullable: true
no_responsable:
type: boolean
description: ''
example: true
nullable: true
required:
- holder_person_type
- holder_name
- holder_lastname
- holder_sex_id
- holder_birthday
- holder_document_type_id
- holder_document
- holder_document_expedition
- holder_birthplace
- holder_phone
- holder_email
- holder_address
- holder_country_id
- holder_city_id
- holder_pep
- holder_public_resources
- company_name
- company_service_description
- company_web
- company_address
- company_warranty_description
- company_document_type_id
- company_document
- company_income
- company_expenses
- company_assets
- company_liabilities
- company_bank_id
- company_bank_account_type_id
- company_account
- collect_mode
- holder_photo
- holder_signature
- id_front_side
- id_back_side
- rut
- commerce_chamber
- tax_return
- business_photo
- bank_certification
- ciiu_code_id
/api/v1/payout/transfiya/onboarding:
post:
summary: 'Transfiya Onboarding'
operationId: transfiyaOnboarding
description: 'Inicia proceso de onboarding en Transfiya para uno o varios números de teléfono
'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
message: ''
data:
-
phone: '3001234567'
status: 'Onboarding iniciado'
-
phone: '3007654321'
status: 'Onboarding iniciado'
properties:
success:
type: boolean
example: true
message:
type: string
example: ''
data:
type: array
example:
-
phone: '3001234567'
status: 'Onboarding iniciado'
-
phone: '3007654321'
status: 'Onboarding iniciado'
items:
type: object
properties:
phone:
type: string
example: '3001234567'
status:
type: string
example: 'Onboarding iniciado'
tags:
- Payout
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_id:
type: integer
description: 'Id de la cuenta con la que se generará el onboarding.'
example: 1
nullable: false
phones:
type: array
description: 'Los números de teléfono del usuario.'
example:
- '3001234567'
- '3007654321'
items:
type: string
required:
- account_id
- phones
/api/v1/payout/transfiya/signers:
post:
summary: 'Obtener Signers Transfiya'
operationId: obtenerSignersTransfiya
description: 'Obtiene los signers de Transfiya para un número de teléfono y cuenta
(Si estas en ambiente de pruebas y el número de teléfono termina en número par la dispersión será APROBADA de lo contrario será RECHAZADA)'
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"success\": true,\n \"message\": \"\",\n \"data\": [\n {\n \"phone\": \"3001234567\",\n \"signers\": [\n {\n \"handle\": \"34ufyIJHuE54fdhahx\",\n \"bankName\": \"NEQUI\",\n \"bankCode\": \"BC004\",\n \"bankAccountNumber\": \"xxxxxxx6552\",\n }\n ]\n },\n {\n \"phone\": \"3007654321\",\n \"signers\": [\n {\n \"handle\": \"09ufyIJHuE54X8ahx\",\n \"bankName\": \"Bancolombia\",\n \"bankCode\": \"BC001\",\n \"bankAccountNumber\": \"xxxxxxx3454\",\n }\n ]\n }\n ]\n}"
tags:
- Payout
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_id:
type: integer
description: 'Id de la cuenta con la que se generará el signer. Ejemplo: 1'
example: 12
nullable: false
phones:
type: array
description: 'Los números de teléfono del usuario. Ejemplo: ["3001234567", "3007654321"]'
example:
- eius
items:
type: string
required:
- account_id
- phones
/api/v1/payout/transfiya/send:
post:
summary: 'Dispersiones transfiya'
operationId: dispersionesTransfiya
description: 'Este endpoint envía dinero a uno o varios signers de Transfiya.
(Si estas en ambiente de pruebas y el número de teléfono termina en número par la dispersión será APROBADA de lo contrario será RECHAZADA)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
message: ''
data:
id: 171
total_amount: 150000
status: STARTED
description: 'PAGO DE SERVICIOS'
processed_at: null
payouts:
-
id: '12345'
transfiya_handle: 34fyIJHuE54X8fgdhx
phone_number: '3024567586'
total_amount: '150000.00'
fixed_comission: '700.00'
percent_comission: '0.00'
status: PENDING
bank_status: null
bank_status_description: null
processed_at: null
properties:
success:
type: boolean
example: true
message:
type: string
example: ''
data:
type: object
properties:
id:
type: integer
example: 171
total_amount:
type: integer
example: 150000
status:
type: string
example: STARTED
description:
type: string
example: 'PAGO DE SERVICIOS'
processed_at:
type: string
example: null
payouts:
type: array
example:
-
id: '12345'
transfiya_handle: 34fyIJHuE54X8fgdhx
phone_number: '3024567586'
total_amount: '150000.00'
fixed_comission: '700.00'
percent_comission: '0.00'
status: PENDING
bank_status: null
bank_status_description: null
processed_at: null
items:
type: object
properties:
id:
type: string
example: '12345'
transfiya_handle:
type: string
example: 34fyIJHuE54X8fgdhx
phone_number:
type: string
example: '3024567586'
total_amount:
type: string
example: '150000.00'
fixed_comission:
type: string
example: '700.00'
percent_comission:
type: string
example: '0.00'
status:
type: string
example: PENDING
bank_status:
type: string
example: null
bank_status_description:
type: string
example: null
processed_at:
type: string
example: null
tags:
- Payout
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: 'Descripción de la dispersión.'
example: 'PAGO DE SERVICIOS'
nullable: false
account_id:
type: integer
description: 'Id de la cuenta con la que se generará el signer.'
example: 1
nullable: false
payouts:
type: array
description: 'Arreglo de objetos con los datos de cada dispersión.'
example:
-
phone_number: '3046576867'
handle: dsghfDSFD463
account_value: '235000'
items:
type: object
properties:
phone_number:
type: string
description: 'Número de teléfono del destinatario.'
example: '3046576867'
nullable: false
handle:
type: string
description: 'Identificador del destinatario, obtenido desde el endpoint payout/transfiya/signers.'
example: 09ufyIJHuE54X8ahx
nullable: false
account_value:
type: integer
description: 'Monto de la transacción.'
example: 150000
nullable: false
required:
- phone_number
- handle
- account_value
required:
- description
- account_id
- payouts
/api/v1/payout/breb/send:
post:
summary: 'Dispersiones Bre-b'
operationId: dispersionesBreB
description: 'Este endpoint envía dinero a uno o varios signers de Bre-b.
(Si estas en ambiente de pruebas y la llave de envío termina en número par la dispersión será APROBADA de lo contrario será RECHAZADA)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
message: ''
data:
id: 171
total_amount: 150000
status: STARTED
description: 'PAGO DE SERVICIOS'
processed_at: null
payouts:
-
id: '12345'
key_number: '@BE12345678'
total_amount: '150000.00'
fixed_comission: '700.00'
percent_comission: '0.00'
status: PENDING
bank_status: null
bank_status_description: null
processed_at: null
properties:
success:
type: boolean
example: true
message:
type: string
example: ''
data:
type: object
properties:
id:
type: integer
example: 171
total_amount:
type: integer
example: 150000
status:
type: string
example: STARTED
description:
type: string
example: 'PAGO DE SERVICIOS'
processed_at:
type: string
example: null
payouts:
type: array
example:
-
id: '12345'
key_number: '@BE12345678'
total_amount: '150000.00'
fixed_comission: '700.00'
percent_comission: '0.00'
status: PENDING
bank_status: null
bank_status_description: null
processed_at: null
items:
type: object
properties:
id:
type: string
example: '12345'
key_number:
type: string
example: '@BE12345678'
total_amount:
type: string
example: '150000.00'
fixed_comission:
type: string
example: '700.00'
percent_comission:
type: string
example: '0.00'
status:
type: string
example: PENDING
bank_status:
type: string
example: null
bank_status_description:
type: string
example: null
processed_at:
type: string
example: null
tags:
- Payout
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: 'Descripción de la dispersión.'
example: 'PAGO DE SERVICIOS'
nullable: false
account_id:
type: integer
description: 'Id de la cuenta con la que se generará el signer.'
example: 1
nullable: false
payouts:
type: array
description: 'Arreglo de objetos con los datos de cada dispersión.'
example:
-
key_number: '@BE12345678'
account_value: '235000'
items:
type: object
properties:
key_number:
type: string
description: 'llave del destinatario.'
example: '@BE12345678'
nullable: false
account_value:
type: integer
description: 'Monto de la transacción.'
example: 150000
nullable: false
required:
- key_number
- account_value
required:
- description
- account_id
- payouts
/api/v1/payout/bankCodes:
get:
summary: 'Obtener códigos de bancos'
operationId: obtenerCdigosDeBancos
description: 'Este endpoint consulta los códigos de bancos disponibles.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
message: ''
data:
'001': 'BANCO DE BOGOTA'
'002': 'BANCO POPULAR'
'006': ITAU
'007': BANCOLOMBIA
'009': 'CITIBANK COLOMBIA'
'012': 'BANCO GNB SUDAMERIS'
'013': 'BANCO BBVA'
'014': 'ITAU CORPBANCA COLOMBIA S.A'
'019': 'BANCO SCOTIABANK COLPATRIA'
'023': 'BANCO DE OCCIDENTE'
'031': 'BANCOLDEX S.A.'
'032': 'BANCO CAJA SOCIAL'
'036': MEGABANCO
'040': BANAGRARIO
properties:
success:
type: boolean
example: true
message:
type: string
example: ''
data:
type: object
properties:
'001':
type: string
example: 'BANCO DE BOGOTA'
'002':
type: string
example: 'BANCO POPULAR'
'006':
type: string
example: ITAU
'007':
type: string
example: BANCOLOMBIA
'009':
type: string
example: 'CITIBANK COLOMBIA'
'012':
type: string
example: 'BANCO GNB SUDAMERIS'
'013':
type: string
example: 'BANCO BBVA'
'014':
type: string
example: 'ITAU CORPBANCA COLOMBIA S.A'
'019':
type: string
example: 'BANCO SCOTIABANK COLPATRIA'
'023':
type: string
example: 'BANCO DE OCCIDENTE'
'031':
type: string
example: 'BANCOLDEX S.A.'
'032':
type: string
example: 'BANCO CAJA SOCIAL'
'036':
type: string
example: MEGABANCO
'040':
type: string
example: BANAGRARIO
tags:
- Payout
/api/v1/payout/ach/send:
post:
summary: 'Dispersiones ACH'
operationId: dispersionesACH
description: 'Este endpoint envía dinero a una o varias cuentas bancarias a traves de ACH.
(Si estas en ambiente de pruebas y el número de la cuenta termina en número par la dispersión será APROBADA de lo contrario será RECHAZADA)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
message: ''
data:
id: 172
total_amount: 62217.2
status: STARTED
description: 'Blanditiis est sequi tenetur sit molestiae.'
payouts:
-
id: '12345'
id_type: C
id_number: 108864536
beneficiary_name: PRUEBA
account_type: '2'
account_number: '115434556'
total_amount: '62217.20'
fixed_comission: '800.00'
percent_comission: '1555.43'
bank_code: '001'
status: PENDING
bank_status: null
bank_status_description: null
processed_at: null
properties:
success:
type: boolean
example: true
message:
type: string
example: ''
data:
type: object
properties:
id:
type: integer
example: 172
total_amount:
type: number
example: 62217.2
status:
type: string
example: STARTED
description:
type: string
example: 'Blanditiis est sequi tenetur sit molestiae.'
payouts:
type: array
example:
-
id: '12345'
id_type: C
id_number: 108864536
beneficiary_name: PRUEBA
account_type: '2'
account_number: '115434556'
total_amount: '62217.20'
fixed_comission: '800.00'
percent_comission: '1555.43'
bank_code: '001'
status: PENDING
bank_status: null
bank_status_description: null
processed_at: null
items:
type: object
properties:
id:
type: string
example: '12345'
id_type:
type: string
example: C
id_number:
type: integer
example: 108864536
beneficiary_name:
type: string
example: PRUEBA
account_type:
type: string
example: '2'
account_number:
type: string
example: '115434556'
total_amount:
type: string
example: '62217.20'
fixed_comission:
type: string
example: '800.00'
percent_comission:
type: string
example: '1555.43'
bank_code:
type: string
example: '001'
status:
type: string
example: PENDING
bank_status:
type: string
example: null
bank_status_description:
type: string
example: null
processed_at:
type: string
example: null
tags:
- Payout
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_id:
type: integer
description: 'Id de la cuenta con la que se generará la dispersión.
Ejemplo: 1'
example: 10
nullable: false
description:
type: string
description: 'Descripción de la dispersión.
Ejemplo: "PAGO DE SERVICIOS"'
example: 'Molestiae qui dignissimos molestias.'
nullable: false
payouts:
type: array
description: "Arreglo de objetos con los datos de cada dispersión. Cada objeto debe contener:\n- identification_type string required Tipo de identificación del destinatario.
C = CEDULA DE CIUDADANIA
N = N.I.T
T = TARJETA DE IDENTIDAD
E = CEDULA DE EXTRANJERIA
L = N.I.T PERSONA NATURAL
P = PASAPORTE
Ejemplo: \"C\"\n- identification_number integer required Número de identificación del beneficiario (máximo 11 caracteres).
Ejemplo: 123456789\n- beneficiary_name string required Nombre del beneficiario (máximo 40 caracteres).
Ejemplo: \"Juan Pérez\"\n- account_type integer required Tipo de cuenta del beneficiario.
1 = CUENTA CORRIENTE
2 = CUENTA DE AHORROS
5 = CREDITO ROTATIVO
9 = DEPOSITO ELECTRONICO
Ejemplo: \"1\"\n- account_number integer required Número de la cuenta del beneficiario (máximo 17 caracteres).
Ejemplo: 123456789\n- bank_code string required Código del banco del beneficiario (máximo 3 caracteres).
Ejemplo: 001\n- account_value decimal required Valor a consignar en la cuenta del beneficiario (máximo 16 caracteres).
Ejemplo: 1000.50\n- Ejemplo: [{\"identification_type\": \"C\", \"identification_number\": 123456789, \"beneficiary_name\": \"Juan Pérez\", \"account_type\": \"1\", \"account_number\": 123456789, \"bank_code\": \"001\", \"city_code\": \"0001\", \"account_value\": 1000.50}]"
example:
- []
items:
type: object
properties:
identification_type:
type: string
description: ''
example: E
nullable: false
enum:
- C
- 'N'
- T
- E
- L
- P
identification_number:
type: string
description: 'value no debe ser mayor que 11 caracteres.'
example: uapcpdmvh
nullable: false
beneficiary_name:
type: string
description: 'value no debe ser mayor que 40 caracteres.'
example: mbkrssorjwvzvsmedo
nullable: false
account_type:
type: number
description: ''
example: '2'
nullable: false
enum:
- '1'
- '2'
- '5'
- '9'
account_number:
type: string
description: 'value no debe ser mayor que 17 caracteres.'
example: dizqqkquapx
nullable: false
bank_code:
type: string
description: 'value no debe ser mayor que 3 caracteres.'
example: dim
nullable: false
account_value:
type: number
description: 'Must match the regex /^\d{1,14}(\.\d{1,2})?$/.'
example: '024.46'
nullable: false
required:
- identification_type
- identification_number
- beneficiary_name
- account_type
- account_number
- bank_code
- account_value
required:
- account_id
- description
- payouts
'/api/v1/payout/status/{id}/{account_id}':
get:
summary: 'Consultar estado de dispersión'
operationId: consultarEstadoDeDispersin
description: 'Este endpoint consulta el estado de una dispersión.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
message: ''
data:
id: 172
total_amount: 62217.2
status: STARTED
description: 'Blanditiis est sequi tenetur sit molestiae.'
payouts:
-
id: payout_68d2f99f4d98c0.99531219
id_type: C
id_number: 108864536
beneficiary_name: PRUEBA
account_type: '2'
account_number: '115434556'
total_amount: '62217.20'
fixed_comission: '800.00'
percent_comission: '1555.43'
bank_code: '001'
status: PENDING
bank_status: null
bank_status_description: null
processed_at: null
properties:
success:
type: boolean
example: true
message:
type: string
example: ''
data:
type: object
properties:
id:
type: integer
example: 172
total_amount:
type: number
example: 62217.2
status:
type: string
example: STARTED
description:
type: string
example: 'Blanditiis est sequi tenetur sit molestiae.'
payouts:
type: array
example:
-
id: payout_68d2f99f4d98c0.99531219
id_type: C
id_number: 108864536
beneficiary_name: PRUEBA
account_type: '2'
account_number: '115434556'
total_amount: '62217.20'
fixed_comission: '800.00'
percent_comission: '1555.43'
bank_code: '001'
status: PENDING
bank_status: null
bank_status_description: null
processed_at: null
items:
type: object
properties:
id:
type: string
example: payout_68d2f99f4d98c0.99531219
id_type:
type: string
example: C
id_number:
type: integer
example: 108864536
beneficiary_name:
type: string
example: PRUEBA
account_type:
type: string
example: '2'
account_number:
type: string
example: '115434556'
total_amount:
type: string
example: '62217.20'
fixed_comission:
type: string
example: '800.00'
percent_comission:
type: string
example: '1555.43'
bank_code:
type: string
example: '001'
status:
type: string
example: PENDING
bank_status:
type: string
example: null
bank_status_description:
type: string
example: null
processed_at:
type: string
example: null
tags:
- Payout
parameters:
-
in: path
name: id
description: 'Id de la dispersión a consultar. Ejemplo: 1'
example: 8
required: true
schema:
type: integer
-
in: path
name: account_id
description: 'Id de la cuenta a consultar. Ejemplo: 3'
example: 1
required: true
schema:
type: integer
'/api/v1/payout/get/{key}':
get:
summary: 'Consultar llave Bre-b'
operationId: consultarLlaveBreB
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: null
meta: []
message: Unauthenticated.
properties:
success:
type: boolean
example: false
data:
type: string
example: null
meta:
type: array
example: []
message:
type: string
example: Unauthenticated.
tags:
- Payout
parameters:
-
in: path
name: key
description: ''
example: blanditiis
required: true
schema:
type: string
/api/v1/checkout/transactions:
post:
summary: 'Crear una transacción'
operationId: crearUnaTransaccin
description: 'Este endpoint genera una nueva transacción'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
data:
ide: NjYxZDUzYWZjYWQyYjguNzE5NzgxNzQ
total: '10000.00'
link: 'https://<
'
example: link
nullable: false
reference:
type: string
description: ''
example: REF001
nullable: false
currency_code:
type: string
description: "Código ISO de la moneda que se usará para generar el link de pago ver método \n /currency"
example: COP
nullable: false
tax_percentage:
type: decimal
description: "Porcentaje de impuestos con el que se calcularán los impuestos de la transacción\n"
example: '19.00'
nullable: false
total:
type: decimal
description: 'Valor total por el que se generará el link de cobro'
example: '1000'
nullable: false
description:
type: string
description: 'Descripción textual para identificar el cobro'
example: 'Compra ecommerce #645213'
nullable: false
redirect_url:
type: string
description: 'Must be a valid URL.'
example: 'http://www.beer.com/'
nullable: true
split:
type: array
description: "\n"
example: []
items:
type: object
properties:
account_id:
type: integer
description: "Id de la cuenta a la que se dividirá la transacción\n"
example: 17
nullable: false
amount:
type: number
description: "Valor que se enviará a la cuenta\n"
example: 10000.15
nullable: false
account_id:
type: integer
description: "Id de la cuenta con la que se generará el link Debe ser un valor devuelto por el endpoint\n Obtener listado de cuentas
"
example: 1
nullable: false
extra2:
type: string
description: 'Descripción complementaria sobre la transacción'
example: 'Pago a través del API'
nullable: false
extra3:
type: string
description: 'Descripción complementaria sobre la transacción'
example: 'Pago a través del API'
nullable: false
required:
- type
- reference
- currency_code
- tax_percentage
- total
- description
- account_id
/api/v1/checkout/checkoutPse:
post:
summary: 'Procesar pago PSE'
operationId: procesarPagoPSE
description: "Este endpoint retorna un link para inicializar un pago através de PSE\n\n\n\n"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
data:
ide: NjM5YzYwZDAwOWFmMA
pseReturnCode: SUCCESS
link: 'https://registro.desarrollo.pse.com.co/PSENF/index.html?enc=847TD1HPg%2boElpGkHFzoBnI8rh2ya8TQgJktzZlvS04%3d'
trazabilityCode: '3012132'
message: ''
properties:
success:
type: boolean
example: true
data:
type: object
properties:
ide:
type: string
example: NjM5YzYwZDAwOWFmMA
pseReturnCode:
type: string
example: SUCCESS
link:
type: string
example: 'https://registro.desarrollo.pse.com.co/PSENF/index.html?enc=847TD1HPg%2boElpGkHFzoBnI8rh2ya8TQgJktzZlvS04%3d'
trazabilityCode:
type: string
example: '3012132'
message:
type: string
example: ''
400:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: null
message: 'No se ha especificado un id de cuenta válido'
properties:
success:
type: boolean
example: false
data:
type: string
example: null
message:
type: string
example: 'No se ha especificado un id de cuenta válido'
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
403:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: '1'
message: 'El usuario que está autenticado no tiene acceso a la cuenta seleccionada'
properties:
success:
type: boolean
example: false
data:
type: string
example: '1'
message:
type: string
example: 'El usuario que está autenticado no tiene acceso a la cuenta seleccionada'
tags:
- Transacciones
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
direccion:
type: string
description: 'Dirección del usuario que pagará la transacción'
example: 'P. Sherman 42 Wallaby Way Sydney'
nullable: false
apellidos:
type: string
description: 'Apellidos del usuario que pagará la transacción'
example: 'Maya Galeano'
nullable: false
ciudad:
type: integer
description: "Ciudad del usuario que pagará la transacción\n "
example: 1
nullable: false
pais:
type: integer
description: "Pais del usuario que pagará la transacción\n "
example: 1
nullable: false
company_terms:
type: string
description: 'Aceptación de términos y condiciones'
example: 'Y'
nullable: false
email:
type: string
description: 'Correo electrónico del usuario que pagará la transacción'
example: david@mayagaleano.com
nullable: false
nombres:
type: string
description: 'Nombres del usuario que pagará la transacción'
example: 'Juan David'
nullable: false
numero_documento:
type: string
description: ''
example: '1036636123'
nullable: false
telefono:
type: string
description: 'Teléfono del usuario que pagará la transacción'
example: '3215704751'
nullable: false
tipo_documento:
type: integer
description: "Tipo de documento del usuario que pagará la transacción\n "
example: 1
nullable: false
transaction_id:
type: string
description: 'The ide of an existing record in the transactions table.'
example: consequatur
nullable: false
transaction_ip:
type: string
description: 'value debe ser una dirección IP válida.'
example: 26.86.57.175
nullable: false
codigo_postal:
type: string
description: 'Código postal del usuario que pagará la transacción'
example: '055422'
nullable: false
metodopago:
type: string
description: 'Método de pago con el que se procesará la transacción'
example: PSE
nullable: false
Token:
type: string
description: 'Id de la transacción devuelto por el método `Crear una transacción` en el campo `ide`'
example: NjM5Nzc1YzAyOTY5ZA
nullable: false
account_id:
type: integer
description: "Id de la cuenta con la que se generará el link Debe ser un valor devuelto por el endpoint\n Obtener listado de cuentas
"
example: 2
nullable: false
typeuser:
type: string
description: 'Tipo de usuario que realizará el pago: person|company'
example: person
nullable: false
bank:
type: integer
description: 'Banco con el que se realizará el pago: id devuelto del método `Obtener bancos PSE`'
example: 1022
nullable: false
redirect_url:
type: string
description: "Url de redirección una vez procesada la transacción, \nNota: Luego consimir método `Estado de transacción` para obtener el resultado de la misma"
example: 'https://example.com/resume'
nullable: false
required:
- direccion
- apellidos
- ciudad
- pais
- company_terms
- email
- nombres
- numero_documento
- telefono
- tipo_documento
- transaction_id
- transaction_ip
- codigo_postal
- metodopago
- Token
- account_id
- typeuser
- bank
/api/v1/checkout/checkoutBancolombiaButton:
post:
summary: 'Procesar pago Botón Bancolombia'
operationId: procesarPagoBotnBancolombia
description: "Este endpoint retorna un link para inicializar un pago através de Botón Bancolombia\n\n\n\n"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
data:
ide: NjM5YzYwZDAwOWFmMA
pseReturnCode: SUCCESS
link: 'https://registro.desarrollo.pse.com.co/PSENF/index.html?enc=847TD1HPg%2boElpGkHFzoBnI8rh2ya8TQgJktzZlvS04%3d'
trazabilityCode: '3012132'
message: ''
properties:
success:
type: boolean
example: true
data:
type: object
properties:
ide:
type: string
example: NjM5YzYwZDAwOWFmMA
pseReturnCode:
type: string
example: SUCCESS
link:
type: string
example: 'https://registro.desarrollo.pse.com.co/PSENF/index.html?enc=847TD1HPg%2boElpGkHFzoBnI8rh2ya8TQgJktzZlvS04%3d'
trazabilityCode:
type: string
example: '3012132'
message:
type: string
example: ''
400:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: null
message: 'No se ha especificado un id de cuenta válido'
properties:
success:
type: boolean
example: false
data:
type: string
example: null
message:
type: string
example: 'No se ha especificado un id de cuenta válido'
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
403:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: '1'
message: 'El usuario que está autenticado no tiene acceso a la cuenta seleccionada'
properties:
success:
type: boolean
example: false
data:
type: string
example: '1'
message:
type: string
example: 'El usuario que está autenticado no tiene acceso a la cuenta seleccionada'
tags:
- Transacciones
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
direccion:
type: string
description: 'Dirección del usuario que pagará la transacción'
example: 'P. Sherman 42 Wallaby Way Sydney'
nullable: false
apellidos:
type: string
description: 'Apellidos del usuario que pagará la transacción'
example: 'Maya Galeano'
nullable: false
ciudad:
type: integer
description: "Ciudad del usuario que pagará la transacción\n "
example: 1
nullable: false
pais:
type: integer
description: "Pais del usuario que pagará la transacción\n "
example: 1
nullable: false
company_terms:
type: string
description: 'Aceptación de términos y condiciones'
example: 'Y'
nullable: false
email:
type: string
description: 'Correo electrónico del usuario que pagará la transacción'
example: david@mayagaleano.com
nullable: false
nombres:
type: string
description: 'Nombres del usuario que pagará la transacción'
example: 'Juan David'
nullable: false
numero_documento:
type: string
description: ''
example: '1036636123'
nullable: false
telefono:
type: string
description: 'Teléfono del usuario que pagará la transacción'
example: '3215704751'
nullable: false
tipo_documento:
type: integer
description: "Tipo de documento del usuario que pagará la transacción\n "
example: 1
nullable: false
transaction_id:
type: string
description: 'The ide of an existing record in the transactions table.'
example: omnis
nullable: false
transaction_ip:
type: string
description: 'value debe ser una dirección IP válida.'
example: 175.133.236.250
nullable: false
codigo_postal:
type: string
description: 'Código postal del usuario que pagará la transacción'
example: '055422'
nullable: false
metodopago:
type: string
description: 'Método de pago con el que se procesará la transacción'
example: BANCOLOMBIA_BUTTON_PAYMENT
nullable: false
Token:
type: string
description: 'Id de la transacción devuelto por el método `Crear una transacción` en el campo `ide`'
example: NjM5Nzc1YzAyOTY5ZA
nullable: false
account_id:
type: integer
description: "Id de la cuenta con la que se generará el link Debe ser un valor devuelto por el endpoint\n Obtener listado de cuentas
"
example: 2
nullable: false
redirect_url:
type: string
description: "Url de redirección una vez procesada la transacción, \nNota: Luego consimir método `Estado de transacción` para obtener el resultado de la misma"
example: 'https://example.com/resume'
nullable: false
required:
- direccion
- apellidos
- ciudad
- pais
- company_terms
- email
- nombres
- numero_documento
- telefono
- tipo_documento
- transaction_id
- transaction_ip
- codigo_postal
- metodopago
- Token
- account_id
/api/v1/checkout/checkoutCard:
post:
summary: 'Procesar pago tarjeta'
operationId: procesarPagoTarjeta
description: "Este endpoint permite procesar un pago por medio de tarjeta\n\n\n"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
data:
status: APPROVED
paymentmethod: TC
transaction_ide: NjYxZDUzYWZjYWQyYjguNzE5NzgxNzQ
transacton_ide: NjYxZDUzYWZjYWQyYjguNzE5NzgxNzQ
transaction_id: 79
transacton_id: 79
transaction_total: '100.00'
transacton_total: '100.00'
transaction_tax: '0.00'
transaction_description: 'Pago de preuba API'
transaction_extra1: null
transaction_extra2: null
transaction_extra3: null
transaction_extra4: null
transaction_extra5: null
traceability_code: '16966491'
started_at: '2024-04-12 00:43:02'
processed_at: '2024-04-12 00:43:02'
payer_name: 'Juan Perez'
payer_document: '2222222222'
payer_address: 'Cll 55 44 33'
payer_phone: '3215700000'
payer_email: fake@bemovil.net
payer_ip: 127.0.0.1
account_id: 1
financial_entity: N/A
details: { }
meta: []
message: ''
properties:
success:
type: boolean
example: true
data:
type: object
properties:
status:
type: string
example: APPROVED
paymentmethod:
type: string
example: TC
transaction_ide:
type: string
example: NjYxZDUzYWZjYWQyYjguNzE5NzgxNzQ
transacton_ide:
type: string
example: NjYxZDUzYWZjYWQyYjguNzE5NzgxNzQ
transaction_id:
type: integer
example: 79
transacton_id:
type: integer
example: 79
transaction_total:
type: string
example: '100.00'
transacton_total:
type: string
example: '100.00'
transaction_tax:
type: string
example: '0.00'
transaction_description:
type: string
example: 'Pago de preuba API'
transaction_extra1:
type: string
example: null
transaction_extra2:
type: string
example: null
transaction_extra3:
type: string
example: null
transaction_extra4:
type: string
example: null
transaction_extra5:
type: string
example: null
traceability_code:
type: string
example: '16966491'
started_at:
type: string
example: '2024-04-12 00:43:02'
processed_at:
type: string
example: '2024-04-12 00:43:02'
payer_name:
type: string
example: 'Juan Perez'
payer_document:
type: string
example: '2222222222'
payer_address:
type: string
example: 'Cll 55 44 33'
payer_phone:
type: string
example: '3215700000'
payer_email:
type: string
example: fake@bemovil.net
payer_ip:
type: string
example: 127.0.0.1
account_id:
type: integer
example: 1
financial_entity:
type: string
example: N/A
details:
type: object
properties: { }
meta:
type: array
example: []
message:
type: string
example: ''
400:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: null
message: 'No se ha especificado un id de cuenta válido'
properties:
success:
type: boolean
example: false
data:
type: string
example: null
message:
type: string
example: 'No se ha especificado un id de cuenta válido'
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
403:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: '1'
message: 'El usuario que está autenticado no tiene acceso a la cuenta seleccionada'
properties:
success:
type: boolean
example: false
data:
type: string
example: '1'
message:
type: string
example: 'El usuario que está autenticado no tiene acceso a la cuenta seleccionada'
tags:
- Transacciones
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
direccion:
type: string
description: 'Dirección del usuario que pagará la transacción'
example: 'P. Sherman 42 Wallaby Way Sydney'
nullable: false
apellidos:
type: string
description: 'Apellidos del usuario que pagará la transacción'
example: 'Maya Galeano'
nullable: false
ciudad:
type: integer
description: "Ciudad del usuario que pagará la transacción\n "
example: 1
nullable: false
pais:
type: integer
description: "Pais del usuario que pagará la transacción\n "
example: 1
nullable: false
company_terms:
type: string
description: 'Aceptación de términos y condiciones'
example: 'Y'
nullable: false
email:
type: string
description: 'Correo electrónico del usuario que pagará la transacción'
example: david@mayagaleano.com
nullable: false
nombres:
type: string
description: 'Nombres del usuario que pagará la transacción'
example: 'Juan David'
nullable: false
numero_documento:
type: string
description: ''
example: '1036636123'
nullable: false
telefono:
type: string
description: 'Teléfono del usuario que pagará la transacción'
example: '3215704751'
nullable: false
tipo_documento:
type: integer
description: "Tipo de documento del usuario que pagará la transacción\n "
example: 1
nullable: false
transaction_id:
type: string
description: 'The ide of an existing record in the transactions table.'
example: deserunt
nullable: false
transaction_ip:
type: string
description: 'value debe ser una dirección IP válida.'
example: 128.212.53.103
nullable: false
codigo_postal:
type: string
description: 'Código postal del usuario que pagará la transacción'
example: '055422'
nullable: false
metodopago:
type: string
description: 'Método de pago con el que se procesará la transacción'
example: TC
nullable: false
Token:
type: string
description: 'Id de la transacción devuelto por el método `Crear una transacción` en el campo `ide`'
example: NjM5Nzc1YzAyOTY5ZA
nullable: false
account_id:
type: integer
description: "Id de la cuenta con la que se generará el link Debe ser un valor devuelto por el endpoint\n Obtener listado de cuentas
"
example: 2
nullable: false
creditcard_name:
type: string
description: "Nombre del titular de la tarjeta (tarjetahabiente)\n "
example: 'David Maya'
nullable: false
creditcard_number:
type: string
description: "Número de la tarjeta
\nEjemplo antes de encriptar: 4564 0000 0000 0001
\nEjemplo encriptado:
\n\n
\n"
example: ''
nullable: false
creditcard_expirationdate:
type: string
description: "Fecha de expiración de la tarjeta
\nEjemplo antes de encriptar: 05/28
\nEjemplo encriptado:
\n\n"
example: ''
nullable: false
creditcard_securitycode:
type: string
description: "CVV de la tarjeta
\nEjemplo antes de encriptar: 123
\nEjemplo encriptado:
\n\n"
example: ''
nullable: false
tipo_tc:
type: string
description: 'Franquicia de la tarjeta valores aceptados: `AMERICAN EXPRESS`|`DISCOVER`|`DINERS`|`MASTERCARD`|`JCB15`|`JCB`|`MAESTRO`|`VISA`|`UNIONPAY`|`UNKNOWN`'
example: VISA
nullable: false
required:
- direccion
- apellidos
- ciudad
- pais
- company_terms
- email
- nombres
- numero_documento
- telefono
- tipo_documento
- transaction_id
- transaction_ip
- codigo_postal
- metodopago
- Token
- account_id
- creditcard_name
- creditcard_number
- creditcard_expirationdate
- creditcard_securitycode
- tipo_tc
/api/v1/checkout/checkoutNequiPush:
post:
summary: 'Procesar pago NEQUI PUSH'
operationId: procesarPagoNEQUIPUSH
description: "Este endpoint genera una solicitud de cobro al cliente en su aplicación Nequi\n\n\n\n"
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"success\": true,\n \"data\": {\n \"ide\": \"NjM5YzYwZDAwOWFmMA\",\n \"link\": \"https://{domain}/resume/NjM5YzYwZDAwOWFmMA\",\n },\n \"message\": \"\"\n}"
400:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: null
message: 'No se ha especificado un id de cuenta válido'
properties:
success:
type: boolean
example: false
data:
type: string
example: null
message:
type: string
example: 'No se ha especificado un id de cuenta válido'
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
403:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: '1'
message: 'El usuario que está autenticado no tiene acceso a la cuenta seleccionada'
properties:
success:
type: boolean
example: false
data:
type: string
example: '1'
message:
type: string
example: 'El usuario que está autenticado no tiene acceso a la cuenta seleccionada'
tags:
- Transacciones
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
direccion:
type: string
description: 'Dirección del usuario que pagará la transacción'
example: 'P. Sherman 42 Wallaby Way Sydney'
nullable: false
apellidos:
type: string
description: 'Apellidos del usuario que pagará la transacción'
example: 'Maya Galeano'
nullable: false
ciudad:
type: integer
description: "Ciudad del usuario que pagará la transacción\n "
example: 21704
nullable: false
pais:
type: integer
description: "Pais del usuario que pagará la transacción\n "
example: 48
nullable: false
company_terms:
type: string
description: 'Aceptación de términos y condiciones'
example: 'Y'
nullable: false
email:
type: string
description: 'Correo electrónico del usuario que pagará la transacción'
example: david@mayagaleano.com
nullable: false
nombres:
type: string
description: 'Nombres del usuario que pagará la transacción'
example: 'Juan David'
nullable: false
numero_documento:
type: string
description: ''
example: '1036636123'
nullable: false
telefono:
type: string
description: 'Teléfono del usuario que pagará la transacción'
example: '3215704751'
nullable: false
tipo_documento:
type: integer
description: "Tipo de documento del usuario que pagará la transacción\n "
example: 2
nullable: false
transaction_id:
type: string
description: 'The ide of an existing record in the transactions table.'
example: aliquam
nullable: false
transaction_ip:
type: string
description: 'value debe ser una dirección IP válida.'
example: 225.149.137.217
nullable: false
codigo_postal:
type: string
description: 'Código postal del usuario que pagará la transacción'
example: '055422'
nullable: false
metodopago:
type: string
description: 'Método de pago con el que se procesará la transacción'
example: NEQUI_PUSH
nullable: false
Token:
type: string
description: 'Id de la transacción devuelto por el método `Crear una transacción` en el campo `ide`'
example: NjM5Nzc1YzAyOTY5ZA
nullable: false
account_id:
type: integer
description: "Id de la cuenta con la que se generará el link Debe ser un valor devuelto por el endpoint\n Obtener listado de cuentas
"
example: 1
nullable: false
nequi_push_phone:
type: integer
description: 'Número de teléfono asociado a la cuenta Nequi'
example: '3215704751'
nullable: false
redirect_url:
type: string
description: "Url de redirección una vez procesada la transacción, \nNota: Luego consimir método `Estado de transacción` para obtener el resultado de la misma"
example: 'https://example.com/resume'
nullable: false
required:
- direccion
- apellidos
- ciudad
- pais
- company_terms
- email
- nombres
- numero_documento
- telefono
- tipo_documento
- transaction_id
- transaction_ip
- codigo_postal
- metodopago
- Token
- account_id
- nequi_push_phone
'/api/v1/checkout/transfiya/get-signers/{phone}/{account_id}':
get:
summary: 'Obtener signers'
operationId: obtenerSigners
description: 'Este endpoint devuelve los signers asociados a un número celular'
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: null
meta: []
message: Unauthenticated.
properties:
success:
type: boolean
example: false
data:
type: string
example: null
meta:
type: array
example: []
message:
type: string
example: Unauthenticated.
tags:
- Transacciones
parameters:
-
in: path
name: phone
description: 'número celular vinculado a Transfiya'
example: '3215704751'
required: true
schema:
type: integer
-
in: path
name: account_id
description: 'Id de su cuenta Bepay'
example: '1'
required: true
schema:
type: integer
/api/v1/checkout/checkout-transfiya:
post:
summary: 'Procesar pago Transfiya'
operationId: procesarPagoTransfiya
description: "Este endpoint permite realizar un pago usando Transfiya\n\n\n\n"
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"success\": true,\n \"data\": {\n \"ide\": \"NjM5YzYwZDAwOWFmMA\",\n \"link\": \"https://{domain}/resume/NjM5YzYwZDAwOWFmMA\",\n },\n \"message\": \"\"\n}"
400:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: null
message: 'No se ha especificado un id de cuenta válido'
properties:
success:
type: boolean
example: false
data:
type: string
example: null
message:
type: string
example: 'No se ha especificado un id de cuenta válido'
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
403:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: '1'
message: 'El usuario que está autenticado no tiene acceso a la cuenta seleccionada'
properties:
success:
type: boolean
example: false
data:
type: string
example: '1'
message:
type: string
example: 'El usuario que está autenticado no tiene acceso a la cuenta seleccionada'
tags:
- Transacciones
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
direccion:
type: string
description: 'Dirección del usuario que pagará la transacción'
example: 'P. Sherman 42 Wallaby Way Sydney'
nullable: false
apellidos:
type: string
description: 'Apellidos del usuario que pagará la transacción'
example: 'Maya Galeano'
nullable: false
ciudad:
type: integer
description: "Ciudad del usuario que pagará la transacción\n "
example: 21704
nullable: false
pais:
type: integer
description: "Pais del usuario que pagará la transacción\n "
example: 48
nullable: false
company_terms:
type: string
description: 'Aceptación de términos y condiciones'
example: 'Y'
nullable: false
email:
type: string
description: 'Correo electrónico del usuario que pagará la transacción'
example: david@mayagaleano.com
nullable: false
nombres:
type: string
description: 'Nombres del usuario que pagará la transacción'
example: 'Juan David'
nullable: false
numero_documento:
type: string
description: ''
example: '1036636123'
nullable: false
telefono:
type: string
description: 'Teléfono del usuario que pagará la transacción'
example: '3215704751'
nullable: false
tipo_documento:
type: integer
description: "Tipo de documento del usuario que pagará la transacción\n "
example: 2
nullable: false
transaction_id:
type: string
description: 'The ide of an existing record in the transactions table.'
example: repellendus
nullable: false
transaction_ip:
type: string
description: 'value debe ser una dirección IP válida.'
example: 111.115.46.103
nullable: false
codigo_postal:
type: string
description: ''
example: null
nullable: false
metodopago:
type: string
description: 'Método de pago con el que se procesará la transacción'
example: TRANSFIYA
nullable: false
Token:
type: string
description: 'Id de la transacción devuelto por el método `Crear una transacción` en el campo `ide`'
example: NjM5Nzc1YzAyOTY5ZA
nullable: false
account_id:
type: integer
description: "Id de la cuenta con la que se generará el cobro Debe ser un valor devuelto por el endpoint\n Obtener listado de cuentas
"
example: 1
nullable: false
redirect_url:
type: string
description: "Url de redirección una vez procesada la transacción, \nNota: Luego consimir método `Estado de transacción` para obtener el resultado de la misma"
example: 'https://example.com/resume'
nullable: false
transfiya_phone:
type: integer
description: 'Número móvil asociado a la cuenta de Transfiya'
example: '3215704751'
nullable: false
transfiya_signer:
type: string
description: "'Signer asociado asociado a la cuenta'\n'"
example: wVdBYsjNviaCrGXnHGtMDxwNVPgt8TxZcv
nullable: false
required:
- direccion
- apellidos
- ciudad
- pais
- company_terms
- email
- nombres
- numero_documento
- telefono
- tipo_documento
- transaction_id
- transaction_ip
- metodopago
- Token
- account_id
- transfiya_phone
/api/v1/checkout/transactionStatus:
get:
summary: 'Estado de transacción'
operationId: estadoDeTransaccin
description: 'Este endpoint devuelve el estado de una transacción'
parameters:
-
in: query
name: Token
description: 'Id de la transacción devuelto por el método `Crear una transacción` en el campo `ide`'
example: NjM5Nzc1YzAyOTY5ZA
required: true
schema:
type: string
description: 'Id de la transacción devuelto por el método `Crear una transacción` en el campo `ide`'
example: NjM5Nzc1YzAyOTY5ZA
nullable: false
-
in: query
name: account_id
description: "Id de la cuenta con la que se generará el link Debe ser un valor devuelto por el endpoint\n Obtener listado de cuentas
"
example: 2
required: true
schema:
type: integer
description: "Id de la cuenta con la que se generará el link Debe ser un valor devuelto por el endpoint\n Obtener listado de cuentas
"
example: 2
nullable: false
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
data:
status: APPROVED
paymentmethod: BANCOLOMBIA_QR
transaction_ide: edeb8e22-9d2d-4c96-bcd7-cc92c1c60458
transacton_ide: edeb8e22-9d2d-4c96-bcd7-cc92c1c60458
transaction_id: 79
transacton_id: 79
transaction_total: '100.00'
transacton_total: '100.00'
transaction_tax: '0.00'
transaction_description: 'Pago Qr Bancolombia multi-uso'
transaction_extra1: null
transaction_extra2: null
transaction_extra3: null
transaction_extra4: null
transaction_extra5: null
traceability_code: '16966491'
started_at: '2024-04-12 00:43:02'
processed_at: '2024-04-12 00:43:02'
payer_name: 'Juan Perez'
payer_document: '2222222222'
payer_address: 'Cll 55 44 33'
payer_phone: '3215700000'
payer_email: fake@bemovil.net
payer_ip: 127.0.0.1
account_id: 1
financial_entity: BANCOLOMBIA_QR
details: { }
meta: []
message: ''
properties:
success:
type: boolean
example: true
data:
type: object
properties:
status:
type: string
example: APPROVED
paymentmethod:
type: string
example: BANCOLOMBIA_QR
transaction_ide:
type: string
example: edeb8e22-9d2d-4c96-bcd7-cc92c1c60458
transacton_ide:
type: string
example: edeb8e22-9d2d-4c96-bcd7-cc92c1c60458
transaction_id:
type: integer
example: 79
transacton_id:
type: integer
example: 79
transaction_total:
type: string
example: '100.00'
transacton_total:
type: string
example: '100.00'
transaction_tax:
type: string
example: '0.00'
transaction_description:
type: string
example: 'Pago Qr Bancolombia multi-uso'
transaction_extra1:
type: string
example: null
transaction_extra2:
type: string
example: null
transaction_extra3:
type: string
example: null
transaction_extra4:
type: string
example: null
transaction_extra5:
type: string
example: null
traceability_code:
type: string
example: '16966491'
started_at:
type: string
example: '2024-04-12 00:43:02'
processed_at:
type: string
example: '2024-04-12 00:43:02'
payer_name:
type: string
example: 'Juan Perez'
payer_document:
type: string
example: '2222222222'
payer_address:
type: string
example: 'Cll 55 44 33'
payer_phone:
type: string
example: '3215700000'
payer_email:
type: string
example: fake@bemovil.net
payer_ip:
type: string
example: 127.0.0.1
account_id:
type: integer
example: 1
financial_entity:
type: string
example: BANCOLOMBIA_QR
details:
type: object
properties: { }
meta:
type: array
example: []
message:
type: string
example: ''
400:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: null
message: 'No se ha especificado un id de cuenta válido'
properties:
success:
type: boolean
example: false
data:
type: string
example: null
message:
type: string
example: 'No se ha especificado un id de cuenta válido'
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
403:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: '1'
message: 'El usuario que está autenticado no tiene acceso a la cuenta seleccionada'
properties:
success:
type: boolean
example: false
data:
type: string
example: '1'
message:
type: string
example: 'El usuario que está autenticado no tiene acceso a la cuenta seleccionada'
tags:
- Transacciones
'/api/v1/transactions/getTransactionsBy/{account_id}/{by}/{value}':
get:
summary: getTransactionsBy
operationId: getTransactionsBy
description: ''
parameters:
-
in: query
name: per_page
description: 'Número de registros por página,
por defecto: 15.
'
example: 10.0
required: false
schema:
type: number
description: 'Número de registros por página,
por defecto: 15.
'
example: 10.0
nullable: false
-
in: query
name: page
description: 'Página de resultados.'
example: 1.0
required: false
schema:
type: number
description: 'Página de resultados.'
example: 1.0
nullable: false
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: null
meta: []
message: Unauthenticated.
properties:
success:
type: boolean
example: false
data:
type: string
example: null
meta:
type: array
example: []
message:
type: string
example: Unauthenticated.
tags:
- Transacciones
parameters:
-
in: path
name: account_id
description: 'Id de la cuenta a la que pertence la transacción.'
example: 1
required: true
schema:
type: integer
-
in: path
name: by
description: 'Variable por la que se desea ubicar la transacción
extra_1|extra_2|extra_3|extra_4|transaction_date.
'
example: extra_1
required: true
schema:
type: string
-
in: path
name: value
description: 'Valor que se desea usar para encontrar una transacción .'
example: invoice-001
required: true
schema:
type: string
'/api/v1/transactions/disablePendingTransaction/{account_id}/{transaction_ide}':
put:
summary: disablePendingTransaction
operationId: disablePendingTransaction
description: ''
parameters: []
responses: { }
tags:
- Transacciones
parameters:
-
in: path
name: account_id
description: 'Id de la cuenta a la que pertence la transacción.'
example: 1
required: true
schema:
type: integer
-
in: path
name: transaction_ide
description: 'Token de la transacción.'
example: NjQ3N2UzMmRlOWE5YQ
required: true
schema:
type: string
/api/v1/bre-b/register:
post:
summary: 'Registro Bre-b'
operationId: registroBreB
description: 'Este endpoint permite registrarse en el ecosistema Bre-b y generar un QR estático asociado al comercio'
parameters: []
responses: { }
tags:
- Transacciones
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_id:
type: integer
description: ''
example: 20
nullable: false
reference:
type: string
description: 'Referencia (opcional) enviar en null o no enviar si no utiliza sub-comercios.'
example: null
nullable: true
party_type:
type: string
description: ''
example: COMMERCE
nullable: false
enum:
- COMMERCE
mobile_number:
type: integer
description: 'value tiene que estar entre 3000000000 - 3669999999.'
example: 3000000001
nullable: false
document_type:
type: string
description: ''
example: NUIP
nullable: false
enum:
- CC
- NIT
- CE
- PAS
- PEP
- PPT
- NUIP
document_number:
type: string
description: 'Número de documento del titular o representante legal.'
example: '43019226'
nullable: false
first_name:
type: string
description: 'Must contain only letters. value no debe ser mayor que 25 caracteres.'
example: g
nullable: false
middle_name:
type: string
description: 'Must contain only letters. value no debe ser mayor que 25 caracteres.'
example: gxjnjymosscztwqcdtk
nullable: true
first_surname:
type: string
description: 'Must contain only letters. value no debe ser mayor que 25 caracteres.'
example: dmxksboqruwnqqmygrs
nullable: false
middle_surname:
type: string
description: 'Must contain only letters. value no debe ser mayor que 25 caracteres.'
example: nrxeuwdl
nullable: true
dane_code:
type: string
description: 'código DANE de la ciudad del comercio.'
example: '05001'
nullable: false
commerce_name:
type: string
description: 'value no debe ser mayor que 45 caracteres.'
example: i
nullable: false
email:
type: string
description: 'value no es un correo válido.'
example: francis.hermiston@example.net
nullable: false
source:
type: string
description: ''
example: Web
nullable: false
enum:
- Android
- IOS
- Web
gender:
type: string
description: ''
example: Femenino
nullable: false
enum:
- Masculino
- Femenino
address:
type: string
description: 'value debe contener al menos 10 caracteres. value no debe ser mayor que 70 caracteres.'
example: upbgigjbuqipqwoqgah
nullable: false
birth_place:
type: string
description: 'value no debe ser mayor que 70 caracteres.'
example: mctdflhngtfdlnmddwxvqfap
nullable: false
dob:
type: date
description: 'Fecha de nacimiento del titular o representante legal.'
example: '1991-06-22'
nullable: false
issue_date:
type: date
description: 'Fecha de expedición del documento del titular o representante legal.'
example: '2008-06-22'
nullable: false
terms_and_conditions:
type: boolean
description: 'Must be accepted.'
example: true
nullable: false
use_wrapper:
type: string
description: ''
example: bepay
nullable: true
enum:
- bepay
- bemovil
force:
type: boolean
description: 'Forzar la generación de un nuevo QR y evita devolver el cacheado.'
example: false
nullable: true
required:
- account_id
- party_type
- mobile_number
- document_type
- document_number
- first_name
- first_surname
- dane_code
- commerce_name
- email
- source
- gender
- address
- birth_place
- dob
- issue_date
- terms_and_conditions
/api/v1/bre-b/static-qr:
post:
summary: 'QR estático Bre-b'
operationId: qREstticoBreB
description: ''
parameters: []
responses: { }
tags:
- Transacciones
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_id:
type: integer
description: ''
example: 18
nullable: false
reference:
type: string
description: 'Referencia (opcional) enviar en null o no enviar si no utiliza sub-comercios.'
example: null
nullable: true
use_wrapper:
type: string
description: ''
example: bemovil
nullable: true
enum:
- bepay
- bemovil
force:
type: boolean
description: 'Forzar la generación de un nuevo QR y evita devolver el cacheado.'
example: false
nullable: true
required:
- account_id
/api/v1/bre-b/dynamic-qr:
post:
summary: 'Qr Dinámico Bre-b'
operationId: qrDinmicoBreB
description: "Este endpoint permite realizar un pago usando un QR compatible con múltiples entidades financieras, cada solicitud genera nuevo QR el cual solo puede ser usado una única vez\n\n\n\n"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
success: true
data:
ide: NjM5YzYwZDAwOWFmMA
link: 'https://{domain}/resume/NjM5YzYwZDAwOWFmMA'
qr: iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbM...
message: ''
properties:
success:
type: boolean
example: true
data:
type: object
properties:
ide:
type: string
example: NjM5YzYwZDAwOWFmMA
link:
type: string
example: 'https://{domain}/resume/NjM5YzYwZDAwOWFmMA'
qr:
type: string
example: iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbM...
message:
type: string
example: ''
400:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: null
message: 'No se ha especificado un id de cuenta válido'
properties:
success:
type: boolean
example: false
data:
type: string
example: null
message:
type: string
example: 'No se ha especificado un id de cuenta válido'
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
403:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: '1'
message: 'El usuario que está autenticado no tiene acceso a la cuenta seleccionada'
properties:
success:
type: boolean
example: false
data:
type: string
example: '1'
message:
type: string
example: 'El usuario que está autenticado no tiene acceso a la cuenta seleccionada'
tags:
- Transacciones
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
direccion:
type: string
description: 'Dirección del usuario que pagará la transacción'
example: 'P. Sherman 42 Wallaby Way Sydney'
nullable: false
apellidos:
type: string
description: 'Apellidos del usuario que pagará la transacción'
example: 'Maya Galeano'
nullable: false
ciudad:
type: integer
description: "Ciudad del usuario que pagará la transacción\n "
example: 21704
nullable: false
pais:
type: integer
description: "Pais del usuario que pagará la transacción\n "
example: 48
nullable: false
company_terms:
type: string
description: 'Aceptación de términos y condiciones'
example: 'Y'
nullable: false
email:
type: string
description: 'Correo electrónico del usuario que pagará la transacción'
example: david@mayagaleano.com
nullable: false
nombres:
type: string
description: 'Nombres del usuario que pagará la transacción'
example: 'Juan David'
nullable: false
numero_documento:
type: string
description: ''
example: '1036636123'
nullable: false
telefono:
type: string
description: 'Teléfono del usuario que pagará la transacción'
example: '3215704751'
nullable: false
tipo_documento:
type: integer
description: "Tipo de documento del usuario que pagará la transacción\n "
example: 2
nullable: false
transaction_id:
type: string
description: 'The ide of an existing record in the transactions table.'
example: adipisci
nullable: false
transaction_ip:
type: string
description: 'value debe ser una dirección IP válida.'
example: 192.230.201.200
nullable: false
codigo_postal:
type: string
description: ''
example: null
nullable: false
metodopago:
type: string
description: 'Método de pago con el que se procesará la transacción'
example: MOVII_BREB_QR
nullable: false
Token:
type: string
description: 'Id de la transacción devuelto por el método `Crear una transacción` en el campo `ide`'
example: NjM5Nzc1YzAyOTY5ZA
nullable: false
account_id:
type: integer
description: "Id de la cuenta con la que se generará el cobro Debe ser un valor devuelto por el endpoint\n Obtener listado de cuentas
"
example: 1
nullable: false
redirect_url:
type: string
description: "Url de redirección una vez procesada la transacción, \nNota: Luego consimir método `Estado de transacción` para obtener el resultado de la misma"
example: 'https://example.com/resume'
nullable: false
use_wrapper:
type: string
description: 'Define si se devuelve el qr en formato plano o con diseño, opciones: bepay|bemovil'
example: bepay
nullable: false
reference:
type: string
description: 'Referencia (opcional) enviar en null o no enviar si no utiliza sub-comercios.'
example: null
nullable: false
required:
- direccion
- apellidos
- ciudad
- pais
- company_terms
- email
- nombres
- numero_documento
- telefono
- tipo_documento
- transaction_id
- transaction_ip
- metodopago
- Token
- account_id
/api/v1/bre-b/key/register:
post:
summary: 'Crear llave Bre-b'
operationId: crearLlaveBreB
description: 'Este endpoint permite generar llaves Bre-b para un comercio o subcuenta'
parameters: []
responses: { }
tags:
- Transacciones
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_id:
type: integer
description: ''
example: 10
nullable: false
reference:
type: string
description: 'Referencia de la sub-cuenta Bre-b.'
example: null
nullable: true
key_value:
type: string
description: 'Llave de la cuenta.'
example: minegocio
nullable: false
required:
- account_id
/api/v1/bre-b/key/get:
post:
summary: 'Mis llaves Bre-b'
operationId: misLlavesBreB
description: ''
parameters: []
responses: { }
tags:
- Transacciones
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_id:
type: integer
description: ''
example: 18
nullable: false
reference:
type: string
description: 'Referencia de la sub-cuenta Bre-b.'
example: null
nullable: true
required:
- account_id
'/api/v1/efecty/validate-reference/{reference}':
get:
summary: 'Validar referencia'
operationId: validarReferencia
description: 'Este endpoint valida que la referencia exista'
parameters: []
responses:
400:
description: ''
content:
application/json:
schema:
type: object
example:
success: false
data: null
meta: []
message:
reference:
- 'La referencia no existe.'
properties:
success:
type: boolean
example: false
data:
type: string
example: null
meta:
type: array
example: []
message:
type: object
properties:
reference:
type: array
example:
- 'La referencia no existe.'
items:
type: string
tags:
- Transacciones
security: []
parameters:
-
in: path
name: reference
description: 'Transaction ID'
example: '1234567890'
required: true
schema:
type: integer
/api/v1/webcheckout:
get:
summary: 'Webcheckout Widget'
operationId: webcheckoutWidget
description: "Esta documentación explica como integrar de manera simple nuestro plugin de webcheckout.\nEsta es la forma más rápida y sencilla de comenzar a procesar pagos sin necesidad de escribir mucho código.\n\n