Getnet DocsGetnet Docs

PSE

pse logo

O PSE é um método de pagamento por transferência bancária online em tempo real na Colômbia. No checkout, o cliente seleciona o nome de seu banco e faz login em seu ambiente de internet banking. Ele revisa os detalhes do pagamento pré-preenchidos, autoriza o pagamento e, em seguida, simplesmente aguarda a chegada da compra.

Este guia fornece instruções para pagamentos PSE, incluindo exemplos de requisição, tratamento de redirecionamento e processamento de notificação.

Requisitos

Antes de integrar o PSE, você precisa:

  • Gerar um token de acesso através do endpoint de Autenticação.
  • Configurar uma callback_url HTTPS pública que recebe atualizações de status após os clientes concluírem a transação.
  • Recuperação da Lista de Bancos: Chamar o endpoint banklookup para obter a lista de bancos ativos para exibir ao cliente.

O PSE está disponível apenas na Colômbia e espera a moeda COP.

Especificidades de Casos de Uso

Ao integrar o PSE via Getnet, aplicam-se requisitos específicos do mercado. Para saber mais sobre os requisitos específicos da Colômbia, certifique-se de revisar os recursos abaixo antes de entrar em produção (go live):

Características

A tabela abaixo resume o comportamento e os requisitos para pagamentos PSE.

CapacidadeDetalhes
Interação com o clienteO cliente seleciona o banco, é redirecionado para o portal do PSE/Banco, faz login e autoriza o pagamento.
ConfirmaçãoAssíncrona: status inicial PENDING, depois APPROVED ou DECLINED via webhook.
NotificaçõesWebhooks são necessários para confirmar o status final da transação.

Funcionalidades disponíveis

Use a matriz abaixo para confirmar os cenários atualmente suportados para o PSE.

Fluxo de pagamentoPaíses suportadosComprasReembolsosReembolsos parciaisReembolsos múltiplosPré-autorizações
RedirectColômbia✅❌❌❌❌

Fluxo de Pagamento

Esta seção o guia através do processo completo de implementação de pagamentos PSE. O diagrama abaixo fornece uma visão geral do processo de pagamento PSE:

Fluxo Suportado

Este é o fluxo de pagamento atualmente suportado pela Getnet:

  • Transferência PSE (INSTANT_TRANSFER): O usuário seleciona seu banco e é redirecionado para autorizar o débito. O fluxo é baseado em redirecionamento.

Esta operação é assíncrona; o estado final é confirmado apenas quando a Getnet recebe o webhook.

1. Buscando a lista de bancos

Antes de iniciar o pagamento, você deve recuperar a lista atual de instituições financeiras participantes para exibir ao cliente.

Requisição para recuperar bancos disponíveis:


curl --location --request GET 'https://api.pre.globalgetnet.com/dpm/payments-gwproxy/v2/banklookup' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Content-Type: application/json'

Exemplo de resposta:

{
  "banks": [
    {
      "name": "BANCO DE BOGOTA",
      "code": "1039"
    },
    {
      "name": "BANCO DAVIVIENDA",
      "code": "1051"
    },
    {
      "name": "BANCO UNION COLOMBIANO",
      "code": "1022"
    }
  ]
}

Capture o code para o banco selecionado (por exemplo: 1022) para usar na requisição de pagamento subsequente.

2. Criar a requisição de pagamento

Para iniciar um pagamento, chame o endpoint Create - Authorize.

Você deve especificar WALLET como o método de pagamento e fornecer a brand como PSE. O código do banco selecionado pelo usuário deve ser passado em additional_data.

A tabela descreve os campos mínimos obrigatórios para um pagamento PSE.

AtributoDescriçãoValor obrigatório
payment_methodIdentificador do método de pagamentoWALLET
brandIdentificador da marcaPSE
amountValor da transação em centavosInteiro (ex.: 400 para $4.00)
currencyCódigo de moeda ISOCOP
payment.instant_transfer.bank_codeCódigo do Banco SelecionadoString (ex., 1022)
customer.document_typeTipo de Documento do ClienteCC, NIT, etc.
customer.document_numberNúmero do Documento do ClienteString
customer.emailE-mail do ClienteEndereço de e-mail válido

Exemplo de Requisição 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"
                }
            }
        }
    }
}'

A resposta contém a redirect_url, que deve ser usada para redirecionar o cliente para o portal do 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. Experiência do Usuário

  1. O usuário é redirecionado para a página do PSE.
pse redirect
  1. O usuário insere seu e-mail.
  2. O usuário é redirecionado para o seu banco para concluir o depósito. Uma notificação de pagamento é recebida.

3. Verificar status do pagamento

Quando o cliente conclui o pagamento, uma notificação de webhook é enviada para a sua callback_url configurada com o status atualizado do pagamento (APPROVED ou DECLINED).

Sempre dependa do webhook para o status final, pois o cliente pode fechar o navegador antes de retornar ao seu site.

Regras de Negócio

  • payment_method deve ser WALLET.
  • brand deve ser PSE.
  • Moedas suportadas: COP.
  • O pagamento é uma operação assíncrona.
  • Reembolsos: Não suportados para este método de pagamento.
  • Seleção de Banco: O bank_code é obrigatório e deve ter origem no endpoint banklookup.

Leia mais