PSE
Transferencia Bancaria - PSE
PSE (Pagos Seguros en Línea) es un sistema de pago en línea muy utilizado en Colombia. Permite realizar transacciones electrónicas seguras al permitir a los usuarios efectuar pagos directamente desde sus cuentas bancarias. Existen dos flujos posibles para realizar pagos:
Primer flujo:
Se proporciona una URL al usuario, quien al acceder puede seleccionar su banco de preferencia para completar el pago. Posteriormente, será redirigido automáticamente al sitio web del banco seleccionado.Segundo flujo:
Inicialmente, se utiliza la operación obtener lista de bancos para obtener la lista de bancos disponibles. Esta lista puede ser desplegada en el proceso de checkout del comercio. Durante el procesamiento de la compra, se envían los datos necesarios para redirigir al usuario directamente al banco elegido, utilizando los campos adicionales en la solicitud.
Parámetros del Request - flujo URL selección de banco
Es necesario incluir campos específicos para que este método de pago funcione correctamente. Consulte el artículo operación de compra para obtener información detallada sobre la autenticación, los idiomas de la respuesta y los parámetros de compra básica como el monto y la moneda.
Propiedad | Tipo | ¿Obligatorio? | Descripción |
---|---|---|---|
PaymentMethod | string | Sí | Encuentre el valor en la tabla de Medios de pago. |
TargetCountryISO | string | Sí | Indica el país destino. |
Customer → Email | string | Sí | Correo electrónico del cliente. |
Customer → FirstName | string | No | Nombre del cliente. |
Customer → LastName | string | No | Apellido del cliente. |
Customer → DocumentType | string | Sí | Tipo de documento del cliente. Consulte la tabla de tipos de documento para ver los posibles valores. |
Customer → DocumentNumber | string | Sí | Número de documento del cliente. |
Customer → PhoneNumber | string | Sí | Número de teléfono del cliente. |
Customer → Address → Country | string | Sí | País del cliente. |
Customer → Address → State | string | Sí | Estado del cliente. |
Customer → Address → City | string | Sí | Ciudad del cliente. |
Customer → Address → AddressDetail | string | Sí | Detalle de la dirección del cliente. |
Customer → Address → PostalCode | string | No | Código postal del cliente. |
Redirection → Url_Approved | string | No | Se notifica a esta URL cuando el estado de la compra es Approved . |
Redirection → Url_Rejected | string | No | Se notifica a esta URL cuando el estado de la compra es Rejected . |
Redirection → Url_Canceled | string | No | Se notifica a esta URL cuando el estado de la compra es Canceled . |
Redirection → Url_Pending | string | No | Se notifica a esta URL cuando el estado de la compra es Pending . |
Redirection → Url_Notify | string | No | URL del Webhook de notificación. Se notifica a esta URL el estado de la compra una vez que el procesador del medio de pago notifica a Bamboo. La notificación a esta URL es un POST REST con payload en JSON y no una redirección. Puede ser también estática y configurada por el equipo de soporte. |
Parámetros adicionales - flujo URL directo al banco
Propiedad | Tipo | ¿Obligatorio? | Descripción |
---|---|---|---|
MetaDataIn → financialInstitutionCode | string | No | Código del banco donde se realizará la transacción. Este código debe ser obtenido previamente desde el endpoint de lista de bancos |
MetaDataIn → personType | string | No | Representa el tipo de persona que realiza la transacción. Valores posibles: 1 → Persona Natural (individuos).2 → Persona Jurídica (empresas). |
MetaDataIn → identificationType | string | No | Tipo de identificación del usuario que realiza la transacción. Valores posibles: RegistroCivilDeNacimiento TarjetaDeIdentidad CedulaDeCiudadania TarjetaDeExtranjeria CedulaDeExtranjeria Pasaporte DocumentoDeIdentificacionExtranjero NIT |
El estado de la compra para Medios de Pago Alternativos permanecerá en Pending hasta que el cliente complete el pago
Ejemplo del Request
{
"PaymentMethod": "PSE",
"Order": "CH2023-001",
"Amount": 100000,
"Currency": "COP",
"Description": "Purchase Test",
"TargetCountryISO": "CO",
"Customer": {
"Address": {
"Country": "COL",
"State": "Antioquia",
"City": "Medellin",
"AddressDetail": "Cra 45 # 76B Sur - 57"
},
"FirstName": "Miguel",
"LastName": "Moreno",
"DocumentNumber": "52960268",
"DocumentType": "CC.CO",
"PhoneNumber":"3188060418",
"Email": "mmoreno@mail.com"
},
"Redirection": {
"Url_Approved": "https://dummystore.com/checkout/response",
"Url_Rejected": "https://dummystore.com/checkout/response",
"Url_Canceled": "https://dummystore.com/checkout/response",
"Url_Pending": "https://dummystore.com/checkout/response"
}
}
Parámetros del Response
Retornamos la compra (Purchase
) con estado Pending for Redirection y un objeto Action
con Reason
como REDIRECTION_NEEDED_EXTERNAL_SERVICE
y el parámetro URL
con la URL del servicio externo. Debe redirigir al cliente a esta URL para finalizar el pago siguiendo el flujo PSE. En este flujo, su pagador selecciona su banco, elige si es una persona física o jurídica y su tipo de documento.
Si se envía el banco específico, obtenido y seleccionado desde la operación obtener lista de bancos, la redirección llevará directamente al sitio web del banco elegido.
Según el resultado de la transacción, el pagador será dirigido a la URL definida en el objeto Redirection
. Para más información sobre los parámetros del Response, consulte la sección de parámetros de la creación de la compra.
Ejemplo del Response
{
"TransactionId": "79632697147789184",
"Result": "ACTION_REQUIRED",
"Status": "PENDING",
"ErrorCode": null,
"ErrorDescription": null,
"Created": "2024-08-07T17:51:54.620",
"AuthorizationDate": null,
"AuthorizationCode": null,
"Amount": 100000,
"Currency": "COP",
"TaxableAmount": null,
"Tip": null,
"Url": "https://api.stage.bamboopayment.com/Purchase/79632697147789184",
"MetadataOut":null,
"Action": {
"SessionId": "CA_cc155768-74d9-4efd-8e55-42411b4dd3cf",
"URL": "https://redirect.stage.bamboopayment.com/CA_cc155768-74d9-4efd-8e55-42411b4dd3cf",
"Reason": "REDIRECTION_NEEDED_EXTERNAL_SERVICE"
},
"PaymentMethod": {
"Brand": "PseAvanza",
"CardOwner": null,
"Bin": null,
"IssuerBank": null,
"Type": "BankTransfer",
"Expiration": null,
"Last4": null
}
}
Endpoint de obtención de lista de bancos
- Producción:
https://pse.prod.bamboopayment.com/api/Bank/GetBanks
- Stage:
https://pse.stage.bamboopayment.com/api/Bank/GetBanks
Ejemplo del Response
[
{
"code": 0,
"name": "A continuación seleccione su banco"
}, {
"code": 1815,
"name": "ALIANZA FIDUCIARIA"
}, {
"code": 1558,
"name": "BAN100"
}, {
"code": 15580,
"name": "BAN100QA"
},
...
]
Ejemplo del Request para banco específico
{
"PaymentMethod": "PSE",
"Order": "CH2023-001",
"Amount": 100000,
"Currency": "COP",
"Description": "Purchase Test",
"TargetCountryISO": "CO",
"Customer": {
"Address": {
"Country": "COL",
"State": "Antioquia",
"City": "Medellin",
"AddressDetail": "Cra 45 # 76B Sur - 57"
},
"FirstName": "Miguel",
"LastName": "Moreno",
"DocumentNumber": "52960268",
"DocumentType": "CC.CO",
"PhoneNumber":"3188060418",
"Email": "mmoreno@mail.com"
},
"Redirection": {
"Url_Approved": "https://dummystore.com/checkout/response",
"Url_Rejected": "https://dummystore.com/checkout/response",
"Url_Canceled": "https://dummystore.com/checkout/response",
"Url_Pending": "https://dummystore.com/checkout/response"
},
"MetaDataIn": {
"financialInstitutionCode": "1077",
"personType": "1",
"identificationType": "DocumentoDeIdentificacionExtranjero"
}
}