PSE
PSE es un método de pago por transferencia bancaria online en tiempo real en Colombia. En el momento de pago, el cliente selecciona el nombre de su banco e inicia sesión en su entorno de banca online. Revisa los detalles de pago precompletados, autoriza el pago y luego simplemente espera a que llegue la compra.
Esta guía proporciona instrucciones para los pagos con PSE, incluyendo ejemplos de peticiones, gestión de redirecciones y procesamiento de notificaciones.
Requisitos
Antes de integrar PSE debe:
- Generar un token de acceso a través del endpoint de Autenticación.
- Configurar una
callback_urlHTTPS pública que reciba actualizaciones de estado una vez que los clientes completen la transacción. - Recuperación de la lista de bancos: Llame al endpoint banklookup para obtener la lista de bancos activos y mostrarla al cliente.
PSE solo está disponible en Colombia y espera la moneda COP.
Especificidades de Casos de Uso
Al integrar PSE a través de Getnet, se aplican requisitos específicos del mercado. Para obtener más información sobre los requisitos específicos de Colombia, asegúrese de revisar los siguientes recursos antes de pasar a producción (go live):
Características
La siguiente tabla resume el comportamiento y los requisitos de los pagos con PSE.
| Capacidad | Detalles |
|---|---|
| Interacción con el cliente | El cliente selecciona el banco, es redirigido al portal de PSE/Banco, inicia sesión y autoriza el pago. |
| Confirmación | Asíncrona: estado inicial PENDING, luego APPROVED o DECLINED mediante webhook. |
| Notificaciones | Los webhooks son necesarios para confirmar el estado final de la transacción. |
Funcionalidades disponibles
Utilice la siguiente matriz para confirmar los escenarios actualmente soportados para PSE.
| Flujo de pago | Países soportados | Compras | Reembolsos | Reembolsos parciales | Reembolsos múltiples | Preautorizaciones |
|---|---|---|---|---|---|---|
| Redirect | Colombia | ✅ | ❌ | ❌ | ❌ | ❌ |
Flujo de Pago
Esta sección le guía a través del proceso completo de implementación de pagos con PSE. El siguiente diagrama ofrece una visión general del proceso de pago con PSE:

Flujo Soportado
Este es el flujo de pago actualmente soportado por Getnet:
- Transferencia PSE (
INSTANT_TRANSFER): El usuario selecciona su banco y es redirigido para autorizar el cargo. El flujo se basa en redirección.
Esta operación es asíncrona; el estado final solo se confirma cuando Getnet recibe el webhook.
1. Recuperar la lista de bancos
Antes de iniciar el pago, debe recuperar la lista actual de instituciones financieras participantes para mostrarla al cliente.
Petición para recuperar los bancos disponibles:
curl --location --request GET 'https://api.pre.globalgetnet.com/dpm/payments-gwproxy/v2/banklookup' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Content-Type: application/json'
Ejemplo de respuesta:
{
"banks": [
{
"name": "BANCO DE BOGOTA",
"code": "1039"
},
{
"name": "BANCO DAVIVIENDA",
"code": "1051"
},
{
"name": "BANCO UNION COLOMBIANO",
"code": "1022"
}
]
}Capture el code del banco seleccionado (por ejemplo: 1022) para utilizarlo en la petición de pago posterior.
2. Crear la petición de pago
Para iniciar un pago, llame al endpoint Create - Authorize.
Debe especificar WALLET como método de pago y proporcionar la brand como PSE. El código bancario seleccionado por el usuario debe pasarse en additional_data.
La tabla resume los campos mínimos obligatorios para un pago con PSE.
| Atributo | Descripción | Valor obligatorio |
|---|---|---|
payment_method | Identificador del método de pago | WALLET |
brand | Identificador de la marca | PSE |
amount | Importe de la transacción en céntimos | Entero (ej. 400 para 4,00 $) |
currency | Código de moneda ISO | COP |
payment.instant_transfer.bank_code | Código del Banco Seleccionado | Cadena (ej., 1022) |
customer.document_type | Tipo de Documento del Cliente | CC, NIT, etc. |
customer.document_number | Número de Documento del Cliente | Cadena |
customer.email | Email del Cliente | Dirección de email válida |
Ejemplo de Petición PSE
curl --location --request POST 'https://api.pre.globalgetnet.com/dpm/payments-gwproxy/v2/payments' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--data-raw '{
"idempotency_key": "uuid-pse-v2-unique",
"request_id": "req-id-v2-unique",
"order_id": "1234123423128",
"data": {
"amount": 400,
"currency": "COP",
"customer_id": "customer-uuid",
"payment": {
"instant_transfer": {
"bank_code": "1022"
},
"payment_id": "payment-uuid",
"payment_method": "WALLET",
"brand": "PSE",
"soft_descriptor": "PSE TEST"
},
"additional_data": {
"callback_url": "https://your-store.com/webhooks/pse",
"customer": {
"email": "[email protected]",
"document_number": "50506468",
"document_type": "NIT",
"name": "Jose da Silva",
"phone_number": "34700000000",
"billing_address": {
"street": "Avenida Siempre Viva",
"number": "123",
"city": "Bogota",
"state": "DC",
"country": "CO",
"postal_code": "110111"
}
}
}
}
}'La respuesta contiene la redirect_url, que debe utilizarse para redirigir al cliente al portal de PSE.
{
"payment_id": "47b9163c-64f3-41d1-8bd2-69512b9c1419",
"status": "PENDING",
"payment_method": "WALLET",
"redirect_url": "https://gateway.pse.com.co/redirect/token-xyz",
"reason_message": "Waiting for bank authorization."
}2. Experiencia del Usuario
- El usuario es redirigido a la página de PSE.
- El usuario introduce su email.
- El usuario es redirigido a su banco para completar el depósito. Se recibe una notificación de pago.
3. Verificar el estado del pago
Cuando el cliente completa el pago, se envía una notificación de webhook a su callback_url configurada con el estado actualizado del pago (APPROVED o DECLINED).
Confíe siempre en el webhook para conocer el estado final, ya que el cliente podría cerrar el navegador antes de volver a su sitio web.
Reglas de Negocio
payment_methoddebe serWALLET.branddebe serPSE.- Monedas soportadas:
COP. - El pago es una operación asíncrona.
- Reembolsos: No soportados para este método de pago.
- Selección de Banco: El
bank_codees obligatorio y debe obtenerse del endpoint banklookup.
Más información
- Autenticación para la gestión de tokens.