PSE (Expired)

How to use PSE to submit a payin in Colombia.

Payin by PSE

POST https://gateway-test.pagsmile.com/trade/pay

This endpoint allows you to submit a payin by PSE in Colombia.

Headers

NameTypeDescription

Content-Type*

string

application/json; chartset=UTF-8

Authorization*

string

Basic Base($app_id:$security_key)

Request Body

NameTypeDescription

app_id*

string

created app's id at dashboard

- Max. 32 chars -

customer.phone*

string

User's phone

customer.email*

string

User's email

customer.identify.number*

string

User's identification number - 9 digits -

method*

string

Fixed value: PSE

out_trade_no*

string

ID given by the merchant in their system - Max. 64 chars -

notify_url*

string

Where Pagsmile will send notification to

customer.identify.type*

string

User's identification type

- NIT or CC -

customer.name*

string

User's name

timestamp*

string

yyyy-MM-dd HH:mm:ss - Max. 19 chars -

subject*

string

payment reason or item title

- Max. 128 chars -

order_amount*

string

payment amount - 2,000~3,000,000 COP -

order_currency*

string

Fixed value: COP

content

string

payment reason detail or item detail

- Max. 255 chars -

buyer_id*

string

merchant user's id

address.zip_code

string

zip code

- 6 digits -

website_url

string

merchant website URL

- Max. 128 chars -

address.street

string

street

address.street_number

string

street number

address.city

string

city

address.state

string

state

return_url

string

Redirect to Merchant's url when user finished checkout. Doesn't work on provider's page.

{
    "code": "10000",
    "msg": "Success",
    "trade_no": "2022010110293900083",
    "out_trade_no": "202201010354005",
    "web_url": "",
    "pay_url": "https://secure.payty.com/vads-payment/",
    "trade_status": "PROCESSING",
    "form_date": {
        "vads_payment_cards": "VISA;PSE",
        "signature": "tOqEo5HHvjnMk0Z+w2ROGNSKWY1uid5avqHoN6JF8MU=",
        "vads_trans_date": "20220101035405",
        "vads_ctx_mode": "TEST",
        "vads_action_mode": "INTERACTIVE",
        "vads_page_action": "PAYMENT",
        "vads_order_description": "trade pay test conent",
        "vads_order_id": "2022010110293900083",
        "vads_currency": "170",
        "vads_version": "V2",
        "vads_trans_id": "10rbcg",
        "vads_amount": 200000,
        "vads_payment_config": "SINGLE",
        "vads_site_id": "10454805"
    }
}

This integration process is expired. Please check the updated page.

Merchant need to use the data in the response to redirect users to payment page

<input type="button" id="button1" onclick="pay()" value="Test" />

<script type="text/javascript">
    function pay() {
        var pay_url = "https://secure.payty.com/vads-payment/";
        var form_date = {
            "vads_payment_cards": "VISA;PSE",
            "signature": "tOqEo5HHvjnMk0Z+w2ROGNSKWY1uid5avqHoN6JF8MU=",
            "vads_trans_date": "20220101035405",
            "vads_ctx_mode": "TEST",
            "vads_action_mode": "INTERACTIVE",
            "vads_page_action": "PAYMENT",
            "vads_order_description": "trade pay test conent",
            "vads_order_id": "2022010110293900083",
            "vads_currency": "170",
            "vads_version": "V2",
            "vads_trans_id": "10rbcg",
            "vads_amount": 200000,
            "vads_payment_config": "SINGLE",
            "vads_site_id": "10454805"
        }
        
        location.href = pay_url + "?" + Object.keys(form_date)?.map((k) => `${encodeURIComponent(k)}=${encodeURIComponent(form_date[k])}`).join("&");
    }
</script> 

User payment tips

When the user submitted the payment on the redirected page, the money will be transferred and the payment will be confirmed instantly.

Example

curl --location --request POST 'https://gateway-test.pagsmile.com/trade/pay' \
--header 'Authorization: Basic MTYyNTgyOTIxNDUzMTY2Mzg6UGFnc21pbGVfc2tfZDUwMWQ1ZGNkNTI5OGQ5N2MwNmUzYjI4YjA2OWZjZmY3NDU5ZjY2NzNiMjFjMTFlYTY3NDM5MDgzOTZkOTYxNQ==' \
--header 'Content-Type: application/json' \
--data-raw '{
    * "app_id": "162************38",
    * "out_trade_no": "202201010354005",
    * "method": "PSE",
    * "order_amount": "3000",
    * "order_currency": "COP",
    * "subject": "trade pay test",
      "content": "trade pay test conent",
    * "notify_url": "http://merchant/callback/success",
      "return_url": "https://www.merchant.com",
    * "buyer_id": "buyer_0101_0001",
    * "timestamp": "2022-01-01 03:54:01",
      "timeout_express":"1c",
    * "customer" : {
    *     "identify": {
    *         "type": "NIT",
    *         "number": "502844147"
          },
    *     "name": "Test User Name",
    *     "email": "test@pagsmile.com",
    *     "phone": "3007654321"
      },
      "address" : {
          "zip_code": "300760",
      }
      }'

Note: 162************38 is pagsmile's test app id for sandbox, and MTYyNTgyOTIxNDUzMTY2Mzg6UGFnc21pbGVfc2tfZDUwMWQ1ZGNkNTI5OGQ5N2MwNmUzYjI4YjA2OWZjZmY3NDU5ZjY2NzNiMjFjMTFlYTY3NDM5MDgzOTZkOTYxNQ== is authorization token associated with the test app id.

Please use your own app_id and generate your own authorization token when testing.

Last updated