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
Content-Type*
string
application/json; chartset=UTF-8
Authorization*
string
Basic Base($app_id:$security_key)
Request Body
app_id*
string
Id de app creado en dashboard
- Max. 32 chars -
customer.phone*
string
Teléfono de usuario
customer.email*
string
Correo de usuario
customer.identify.number*
string
Número de identificación de usuario
- 9 digitos -
method*
string
Valor fijo: PSE
out_trade_no*
string
ID dado por el merchant en su sistema
- Max. 64 chars -
notify_url*
string
Donde Pagsmile enviará la notificación
customer.identify.type*
string
Tipo de identificación de usuario
- NIT o CC -
customer.name*
string
Nombre de usuario
timestamp*
string
yyyy-MM-dd HH:mm:ss - Max. 19 chars -
subject*
string
Razón de pago o título
- Max. 128 chars -
order_amount*
string
Monto de pago
- 2,000~3,000,000 COP -
order_currency*
string
Valor fijo: COP
content
string
Detalle de razón de pago o título.
- Max. 255 chars -
buyer_id*
string
Usuario id de merchant
address.zip_code*
string
zip code
- 6 digitos -
website_url
string
URL de website de merchant
- Max. 128 chars -
address.street
string
calle
- Requerido si no hay zip_code -
address.street_number
string
número de calle
- Requerido si no hay zip_code -
address.city
string
ciudad
- Requerido si no hay zip_code -
address.state
string
provincia - Requerido si no hay zip_code -
return_url
string
Redirigir a la URL del merchant cuando el usuario haya terminado 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"
}
}
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>
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",
}'


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