PSE

Cómo utilizar PSE para realizar un payin en Colombia.

Payin por PSE

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

Este endpoint te permite usar PSE para realizar un payin en Colombia.

Headers

Request Body

{
    "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"
    }
}

El merchant debe usar los datos en el response para redirigir a los usuarios a la página de pago

<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> 

Consejos de pago para el usuario

Cuando el usuario envia el pago en la página redirigida, el dinero se transferirá y el pago se confirmará al instante.

Ejemplo

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",
    }'

Nota: 162************38 es el test ID de pagsmile para prueba en sandbox, y MTYyNTgyOTIxNDUzMTY2Mzg6UGFnc21pbGVfc2tfZDUwMWQ1ZGNkNTI5OGQ5N2MwNmUzYjI4YjA2OWZjZmY3NDU5ZjY2NzNiMjFjMTFlYTY3NDM5MDgzOTZkOTYxNQ== es el token de autorización asociado con el app ID de prueba.

Favor utilizar tu propio app_id y genera tu propio authorization token al realizar pruebas.

Last updated