PSE

Como utilizar o PSE para apresentar um payin na Colômbia.

Payin por PSE

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

Este endpoint permite submeter um pagamento por PSE na Colômbia.

Headers

NameTypeDescription

Content-Type*

string

application/json; chartset=UTF-8

Authorization*

string

Basic Base($app_id:$security_key)

Request Body

NameTypeDescription

app_id*

string

App Id criado no dashboard

- Max. 32 chars -

customer.phone*

string

Telefone do usuário

customer.email*

string

E-mail do usuário

customer.identify.number*

string

Número de identificação do usuário - 9 digits -

method*

string

valor fixo: PSE

out_trade_no*

string

ID fornecido pelo merchant em seu sistema - Max. 64 chars -

notify_url*

string

Para onde a Pagsmile enviará a notificação

customer.identify.type*

string

Tipo de identificação do usuário

- NIT or CC -

customer.name*

string

Nome do usuário

timestamp*

string

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

subject*

string

motivo do pagamento ou título do item

- Max. 128 chars -

order_amount*

string

montante do pagamento - 2,000~3,000,000 COP -

order_currency*

string

valor fixo: COP

content

string

detalhes do motivo do pagamento ou detalhes do item.

- Max. 255 chars -

buyer_id*

string

ID do usuário do merchant

address.zip_code*

string

código postal

- 6 digits -

website_url

string

URL do site do comerciante

- Max. 128 chars -

address.street

string

rua

- Necessário se o código postal não for fornecido -

address.street_number

string

número da rua

- Necessário se o código postal não for fornecido -

address.city

string

cidade

- Necessário se o código postal não for fornecido -

address.state

string

estado - Necessário se o código postal não for fornecido -

return_url

string

Redirecionar para a url do Merchant quando o usuário terminar o checkout

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

O comerciante precisa usar os dados na resposta para redirecionar os usuários para a página de pagamento

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

Dicas de pagamento

Quando o usuário submeteu o pagamento na página redirecionada, o dinheiro será transferido e o pagamento será confirmado instantaneamente.

Exemplo

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 é o aplicativo de teste da pagsmile para sandbox, e MTYyNTgyOTIxNDUzMTY2Mzg6UGFnc21pbGVfc2tfZDUwMWQ1ZGNkNTI5OGQ5N2MwNmUzYjI4YjA2OWZjZjZmY3NDU5ZjY2NzNiMjFjMTFlYTY3NDM5MDgzOTZkOTZkOTYxNQ== é um token de autorização associado ao aplicativo de teste id.

Use seu próprio app_id e gere seu próprio token de autorização ao testar.

Last updated