Primera transacción
Ahora que nos hemos registrado en SyPago y sabemos cómo obtener nuestro token de autenticación
, podemos realizar nuestra primera transacción.
Para demostrar la facilidad de nuestra API, haremos el envío de un enlace de pago por correo.
1. Access Token
El token de acceso es fundamental a la hora de realizar una solicitud a nuestra API, ya que sin él la solicitud no será válida. El token de acceso debe incluirse en el encabezado (header) de la solicitud y recuerda, el esquema de autenticación que utilizamos es de tipo Bearer.
Aquí te explicamos con más detalle cómo obtener tu token de acceso.
const transaction = await fetch('https://pruebas.api.sypago.net/endpoint', {
method: metodo,
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer token_de_acceso`,
},
});
2. Endpoint de la transacción
En este ejemplo, usaremos el endpoint /api/v1/transaction/paylink con el método POST para enviar un enlace de pago por correo electrónico.
Este es solo uno de los métodos de cobro disponibles, pero para esta demostración, nos enfocaremos en Paylink.
Recuerda que para este ejercicio, realizaremos la solicitud al ambiente de certificación, y el puerto correspondiente es el 8086.
const transaction = await fetch('https://pruebas.api.sypago.net/api/v1/transaction/paylink', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer token_de_acceso`,
},
});
3. Mensaje del request
Dependiendo del método de cobro seleccionado, ciertas etiquetas son obligatorias en el mensaje de pago. En este caso, al utilizar el método de Paylink, el único campo obligatorio, de los datos del receptor, es el correo electrónico del cliente. Para conocer en detalle las etiquetas requeridas para cada método de cobro y visualizar ejemplos de mensajes de pago, a continuación te presentamos un fragmento de código que ilustra el proceso con Paylink:
const transaction = await fetch('https://pruebas.api.sypago.net/api/v1/transaction/paylink', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer token_de_acceso`,
'body':'{
"internal_id": "F878D68FE2A1",
"group_id": "CC106261DC6A",
"account": {
"bank_code": "0001",
"type": "CNTA",
"number": "00010174520100126130"
},
"amount": {
"type": "ALMM",
"amt": 5,
"currency": "VES",
"min_allow_amt": 1,
"max_allow_amt": 10,
"use_day_rate": false
},
"concept": "Cobro de servicios",
"notification_urls": {
"sucessful_callback_url": "https://www.sypago.com/success",
"failed_callback_url": "https://www.sypago.com/fail",
"return_front_end_url": "https://www.sypago.com/return",
"web_hook_endpoint": "https://www.sypago.com/notification"
},
"receiving_user": {
"name": "John Doe",
"document_info": {
"type": "V",
"number": "123456789"
},
"account": {
"bank_code": "0102",
"type": "CELE",
"number": "04140121877"
}
},
"expiration": 300
}'
},
});