SPEI
(payProduct=15)
Proceso de pago

El usuario realiza un pedido en el sitio web del comerciante y elige el pago por SPEI.
El comerciante inicia una solicitud de pago por SPEI a Supefina.
Supefina devuelve la referencia de pago (número CLABE); si "checkOut" es "true", se devuelve una página de caja con el número CLABE; si "checkOut" es "false", solo se devuelve el número CLABE.
El comerciante muestra esa referencia de pago (número CLABE) al usuario.
El usuario copia esa referencia de pago (número CLABE).
El usuario abre la app del banco, selecciona transferencia, ingresa la referencia de pago copiada (número CLABE) y el monto para completar la transferencia.
Supefina notifica al comerciante que el pedido fue exitoso.
Dirección de solicitud
SandBox
POST
https://api.supefina.tech/api/supefina/transactions/payin
Producción
POST
https://api.supefina.net/api/supefina/transactions/payin
Parámetros de solicitud
Encabezado de solicitud
Content-Type
application/json
Cuerpo de solicitud
maxOrderAmount
String
Sí
Monto máximo
Debe ser mayor o igual al monto de pedido
minOrderAmount
String
Sí
Monto mínimo
Debe ser menor o igual al monto de pedido
orderAmount
String
Sí
Monto del pedido
Si no se ingresan (máximo y mínimo) montos del pedido, se validará el
orderAmount
; si el monto pagado no es igual aorderAmount
, se rechazará el pago.Si se ingresan (máximo y mínimo) montos del pedido, se validará dentro de ese rango.
Unidad en pesos, se pueden ingresar decimales, soporta hasta dos decimales.
Si se utilizan los parámetros
orderAmount
,repeat
,maxOrderAmount
,minOrderAmount
, y el monto de pago no cumple con los requisitos, la transacción será rechazada; el canal cobrará una tarifa fija de 6 pesos, y las tarifas generadas por el rechazo serán asumidas por el comerciante. Por favor, considere cuidadosamente.
repeat
Boolean
Sí
Si se reutiliza Clabe
true
:uso múltiple
false
:uso único
merId
String
Sí
ID del comerciante
Ruta para obtener el ID del comerciante: Panel de comerciante Supefina - Gestión de comerciantes - Información básica - ID del comerciante
merOrderNo
String
Sí
Número de pedido del comerciante
nonceStr
String
Sí
Cadena aleatoria
La longitud no puede exceder 32 caracteres
Ejemplo de solicitud
{
"callbackUrl": "https://test.com",
"countryId": "MEX",
"currency": "MXN",
"maxOrderAmount": "15000.00",
"merId": "8302921196770572",
"merOrderNo": "2025072419233923321993765",
"minOrderAmount": "10.00",
"nonceStr": "737eb662f1384c4490c77d7565518d22",
"orderAmount": "30",
"payProduct": "15",
"repeat": true,
"sign": "C7AC1590DCFF78529C5B433F4500CC8A"
}
ensamblar una cadena de firma
callbackUrl=https://test.com&countryId=MEX¤cy=MXN&maxOrderAmount=15000.00&merId=8302921196770572&merOrderNo=2025072419233923321993765&minOrderAmount=10.00&nonceStr=737eb662f1384c4490c77d7565518d22&orderAmount=30&payProduct=15&repeat=true&key=de53650e1a6b494087d8c472516cc1cb
Parámetros de respuesta
data
Object
Datos de respuesta
amount
BigDecimal
Monto del pedido
channelName
String
Banco correspondiente a Clabe
identifier
String
Identificador de referencia del pago Clabe
merCode
String
ID de comerciante
merOrderNo
String
Número de pedido del comerciante
transactionStatus
String
Estado del pedido. Este estado indica si la solicitud fue exitosa, sin relación con el estado real de la transacción.
00
: Pedido exitoso;
04
: Pedido fallido.
url
String
Enlace de la transacción
msg
String
Descripción de la respuesta
Ejemplo de respuesta
{
"code": "200",
"msg": "success ",
"data": {
"merCode": "8302921196770572",
"merOrderNo": "2025072419233923321993765",
"amount": 30,
"transactionStatus": "00",
"url": "https://h5.supefina.net/clabe?token=tg3njqvv98nvml8i",
"identifier": "736869302197372480",
"channelName": "DEMO"
}
}
Notificación de callback
Método de envío: POST
payerName
String
Nombre del pagador
payerAccount
String
Número de cuenta del pagador
amount
String
Monto del pedido
fee
String
Comisión anticipada
identifier
String
Referencia de pago Clabe
merId
String
ID del comerciante
merOrderId
String
Número de pedido del comerciante
msg
String
Descripción de la respuesta
nonceStr
String
Cadena aleatoria
La longitud no puede exceder 32 caracteres
realityAmount
String
Monto recibido
realityFee
String
Comisión recibida
reference
String
Identificador
sign
String
Firma
successTime
Date
Tiempo de éxito de la transacción
Hora UTC
supefinaOrderId
String
Número del pedido de Supefina
transactionType
String
Tipo de transacción
01
:Payin
02
:Payout
Ejemplo de notificación de callback
{
"amount": "30.00",
"countryId": "MEX",
"fee": "1.00",
"identifier": "736869302197372480",
"merId": "8302921196770572",
"merOrderId": "2025072419233923321993765",
"msg": "交易成功",
"nonceStr": "b607adb6-bec4-44cc-a60a-7d3c4c",
"realityAmount": "30",
"realityFee": "1.00",
"reference": "CRTYPODPDYJW4V2XK5QZ6LGSNYRPG5R",
"sign": "1A341F36DE64A915D62A11721DEC0EB1",
"status": "01",
"successTime": 1753356221224,
"supefinaOrderId": "202507b926c36081de43ee9a1cfb9ade91ef5a",
"transactionType": "01"
}
ensamblar una cadena de firma
callbackUrl=https://test.com&countryId=MEX¤cy=MXN&maxOrderAmount=15000.00&merId=8302921196770572&merOrderNo=2025072419233923321993765&minOrderAmount=10.00&nonceStr=737eb662f1384c4490c77d7565518d22&orderAmount=30&payProduct=15&repeat=true&key=de53650e1a6b494087d8c472516cc1cb
Respuesta de notificación de callback
Después de que el comerciante reciba correctamente la notificación de callback, debe devolver la cadena especificada: SUCCESS
. Si no se devuelve o se devuelve otro contenido, se considerará que la notificación ha fallado. Por ejemplo:
public String test(){
return "SUCCESS";
}
Última actualización