Skip to main content

Vietnam. Ewallet payments

You can make local ewallet payments in Vietnam in Vietnamese dongs (VND).

No recurring payments are available.

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 in internet_banking.type
    • country_iso2 in internet_banking.country_ewallet
    • the payer's full name and document in participant_details.sender
    • the payer's email in customer.reference.contacts
      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_5666",
    "payment_details": {
    "type": "internet_banking",
    "internet_banking": {
    "type": "country_ewallet",
    "country_ewallet": {
    "country_iso2": "VN"
    }
    }
    },
    "amount_details": {
    "amount": 100000,
    "currency": "VND"
    },
    "customer": {
    "reference": "qwiqwi",
    "contacts": [{
    "email": "email@example.com"
    }]
    },
    "participant_details": {
    "sender": {
    "full_name": "Name Surname",
    "document": "12333315123"
    }
    },
    "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_5666",
    "status": "in_progress",
    "created_at": "2025-12-04T19:28:58.077701Z",
    "updated_at": "2025-12-04T19:29:23.216667Z",
    "acquiring_payments": [{
    "id": "pm_566184419",
    "status": "in_progress",
    "created_at": "2025-12-04T19:29:23.217101Z",
    "customer": {
    "reference": "qwiqwi",
    "contacts": [{
    "email": "email@example.com"
    }]
    },
    "payment_details": {
    "type": "internet_banking",
    "internet_banking": {
    "type": "country_ewallet",
    "country_ewallet": {
    "country_iso2": "VN"
    }
    }
    },
    "amount_details": {
    "amount": 100000,
    "currency": "VND"
    },
    "participant_details": {
    "sender": {
    "full_name": "Name Surname",
    "document": "12333315123"
    }
    },
    "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_5666",
    "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",
    "contacts": [{
    "email": "email@example.com"
    }]
    },
    "payment_details": {
    "type": "internet_banking",
    "internet_banking": {
    "type": "country_ewallet",
    "country_ewallet": {
    "country_iso2": "VN"
    }
    }
    },
    "amount_details": {
    "amount": 100000,
    "currency": "VND"
    },
    "participant_details": {
    "sender": {
    "full_name": "Name Surname",
    "document": "12333315123"
    }
    },
    "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_5666"
    }'
  5. Wait for an action_required webhook. The customer_interaction.redirect.url parameter contains a deeplink to Pix QR.

    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_5666",
    "status": "in_progress",
    "created_at": "2025-12-04T07:48:28.296138Z",
    "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",
    "contacts": [{
    "email": "email@example.com"
    }]
    },
    "participant_details": {
    "sender": {
    "full_name": "Name Surname",
    "document": "12333315123"
    }
    },
    "payment_details": {
    "type": "internet_banking",
    "internet_banking": {
    "type": "country_ewallet",
    "country_ewallet": {
    "country_iso2": "VN"
    }
    }
    },
    "amount_details": {
    "amount": 100000,
    "currency": "VND"
    },
    "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"
    }
    }
    }'
  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_5666",
    "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",
    "contacts": [{
    "email": "email@example.com"
    }]
    },
    "participant_details": {
    "sender": {
    "full_name": "Name Surname",
    "document": "12333315123"
    }
    },
    "payment_details": {
    "type": "internet_banking",
    "internet_banking": {
    "type": "country_ewallet",
    "country_ewallet": {
    "country_iso2": "VN"
    }
    }
    },
    "amount_details": {
    "amount": 100000,
    "currency": "VND"
    },
    "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"
    }
    }
    }'

Example screens

Sequence diagram of QR code payments