Skip to main content

PSE payments in Colombia

You can make PSE payments in Colombia in Colombian pesos (COP).

COP has no minor currency units. To pay 10,000 COP, write 10000 in amount_details.amount.

No recurring payments are available.

Required sender parameters​

Check all the required parameters

NameTypeDescription
participant_detailsobjectInformation on the participants
  senderobjectSender details
    full_namestringSender's full name (3–50 characters)
    emailstringSender's email address (up to 64 characters before @)
    documentstringCC or NIT (6 to 11 digits)

Making a payment​

  1. Create a session using the session/create method.

    Alternatively, you can use the session/init/payment method. In this case, specify all the payment parameters right away and skip the next step.

  2. Send a session/start/payment request. Specify the following parameters:

    • country_ewallet_pse in internet_banking.type
    • CO in internet_banking.country_ewallet.country_iso2
    • the payer's full_name, email, and document in participant_details.sender
      Optionally, you can add a return URL to redirect the customer back after the payment (payment_options.return_url).
    Request example
    curl -X POST \
    https://demo.smart-glocal.com/api/v1/session/start/payment \
    -H 'content-type: application/json' \
    -H 'X-PARTNER-PROJECT: your_project_name' \
    -H 'X-PARTNER-SIGN: signature' \
    -d '{
    "session_id": "ps_12345",
    "payment_details": {
    "type": "internet_banking",
    "internet_banking": {
    "type": "country_ewallet_pse",
    "country_ewallet": {
    "country_iso2": "CO"
    }
    }
    },
    "amount_details": {
    "amount": 10000,
    "currency": "cop"
    },
    "customer": {
    "reference": "qwiqwi"
    },
    "participant_details": {
    "sender": {
    "full_name": "Name Surname",
    "email": "email@example.com",
    "document": "123456"
    }
    },
    "payment_options": {
    "return_url": "https://smart-glocal.com/",
    "recurrent": false
    }
    }'
    Response example
    curl -X POST \
    https://partner.com \
    -H 'content-type: application/json' \
    -H 'X-PARTNER-SIGN: signature' \
    -d '{
    "status": "ok",
    "session": {
    "id": "ps_12345",
    "status": "in_progress",
    "created_at": "2025-12-04T19:28:58.077701Z",
    "updated_at": "2025-12-04T19:29:23.216667Z",
    "acquiring_payments": [{
    "id": "pm_12354",
    "status": "in_progress",
    "created_at": "2025-12-04T19:29:23.217101Z",
    "customer": {
    "reference": "qwiqwi"
    },
    "payment_details": {
    "type": "internet_banking",
    "internet_banking": {
    "type": "country_ewallet_pse",
    "country_ewallet": {
    "country_iso2": "CO"
    }
    }
    },
    "amount_details": {
    "amount": 10000,
    "currency": "cop"
    },
    "participant_details": {
    "sender": {
    "full_name": "Name Surname",
    "email": "email@example.com",
    "document": "123456"
    }
    },
    "payment_options": {
    "return_url": "https://smart-glocal.com/",
    "recurrent": false
    }
    }]
    }
    }'
  3. Wait for a ready_to_confirm webhook. When you receive it, it means that Smart Glocal is ready to make the payment and is waiting for your confirmation.

    Webhook example
    curl -X POST \
    https://partner.com \
    -H 'content-type: application/json' \
    -H 'X-PARTNER-SIGN: signature' \
    -d '{
    "type": "ready_to_confirm",
    "status": "ok",
    "session": {
    "id": "ps_12345",
    "status": "in_progress",
    "created_at": "2025-12-04T19:28:58.077701Z",
    "updated_at": "2025-12-04T19:29:23.216667Z",
    "acquiring_payments": [{
    "id": "pm_12354",
    "status": "pending",
    "created_at": "2025-12-04T07:48:28.296138Z",
    "customer": {
    "reference": "qwiqwi"
    },
    "payment_details": {
    "type": "internet_banking",
    "internet_banking": {
    "type": "country_ewallet_pse",
    "country_ewallet": {
    "country_iso2": "CO"
    }
    }
    },
    "amount_details": {
    "amount": 10000,
    "currency": "cop"
    },
    "participant_details": {
    "sender": {
    "full_name": "Name Surname",
    "email": "email@example.com",
    "document": "123456"
    }
    },
    "payment_options": {
    "return_url": "https://smart-glocal.com/",
    "recurrent": false
    }
    }],
    "actions": {
    "confirm": "2025-12-04T07:48:28.275964Z"
    }
    }
    }'
  4. Send a session/confirm request to confirm the operation or a session/cancel request to cancel it.

    Request example
    curl -X POST \
    https://demo.smart-glocal.com/api/v1/session/confirm \
    -H 'content-type: application/json' \
    -H 'X-PARTNER-PROJECT: your_project_name' \
    -H 'X-PARTNER-SIGN: signature' \
    -d '{
    "session_id":"ps_12345"
    }'
  5. Wait for an action_required webhook. The customer_interaction.redirect.url parameter contains a link to the PSE payment page.

    Webhook example
    curl -X POST \
    https://partner.com \
    -H 'content-type: application/json' \
    -H 'X-PARTNER-SIGN: signature' \
    -d '{
    "type": "action_required",
    "status": "ok",
    "session": {
    "id": "ps_12345",
    "status": "in_progress",
    "created_at": "2025-12-04T07:48:28.275964Z",
    "updated_at": "2025-12-04T07:48:28.958891Z",
    "acquiring_payments": [{
    "id": "pm_12354",
    "status": "pending",
    "created_at": "2025-12-04T07:48:28.296138Z",
    "customer": {
    "reference": "qwiqwi"
    },
    "payment_details": {
    "type": "internet_banking",
    "internet_banking": {
    "type": "country_ewallet_pse",
    "country_ewallet": {
    "country_iso2": "CO"
    }
    }
    },
    "amount_details": {
    "amount": 10000,
    "currency": "cop"
    },
    "participant_details": {
    "sender": {
    "full_name": "Name Surname",
    "email": "email@example.com",
    "document": "123456"
    }
    },
    "customer_interaction": {
    "type": "redirect",
    "redirect": {
    "url": "https://redirect-url-example.com/12345",
    "base_url": "https://redirect-url-example.com/12345",
    "method": "GET",
    "params": {}
    }
    },
    "metadata": {
    "key": "value"
    },
    "payment_options": {
    "return_url": "https://smart-glocal.com/",
    "recurrent": false
    }
    }],
    "actions": {
    "confirm": "2025-12-04T07:48:28.327146Z"
    }
    }
    }'

    5.1 The customer redirected by the link from the webhook lands on a page where they select their bank.

    5.2 The customer confirms the details and accepts the terms and conditions.

    5.3 The customer is redirected to the bank app and confirms the payment.

    5.4 After the customer confirms the payment, a message on successful payment appears on the page.

  6. After the customer makes the payment, you will receive a payment_finished webhook containing the payment result from Smart Glocal. The succeeded status indicates a successful payment.

    Webhook example
    curl -X POST \
    https://partner.com \
    -H 'content-type: application/json' \
    -H 'X-PARTNER-SIGN: signature' \
    -d '{
    "type": "payment_finished",
    "status": "ok",
    "session": {
    "id": "ps_12345",
    "status": "accepted",
    "created_at": "2025-12-04T07:48:28.275964Z",
    "updated_at": "2025-12-04T07:49:43.022068Z",
    "acquiring_payments": [{
    "id": "pm_12354",
    "status": "succeeded",
    "created_at": "2025-12-04T07:48:28.296138Z",
    "finished_at": "2025-12-04T07:49:43.002789Z",
    "customer": {
    "reference": "qwiqwi"
    },
    "payment_details": {
    "type": "internet_banking",
    "internet_banking": {
    "type": "country_ewallet_pse",
    "country_ewallet": {
    "country_iso2": "CO"
    }
    }
    },
    "amount_details": {
    "amount": 10000,
    "currency": "cop"
    },
    "participant_details": {
    "sender": {
    "full_name": "Name Surname",
    "email": "email@example.com",
    "document": "123456"
    }
    },
    "metadata": {
    "key": "value"
    },
    "payment_options": {
    "return_url": "https://smart-glocal.com/",
    "recurrent": false
    }
    }],
    "actions": {
    "confirm": "2025-12-04T07:48:28.327146Z",
    "capture": "2025-12-04T07:49:42.965552Z"
    }
    }
    }'

Sequence diagram​