México

Integración de múltiples métodos de pago

En México, ofrecemos productos de pago como transferencias bancarias (SPEI), pagos en efectivo (Cash) y tajets de crédito y débito.

Productos de pago actualmente soportados:

  1. Efectivo

  2. SPEI

  3. tajets de crédito y débito

Proceso de pago

1、El usuario realiza un pedido en el sitio/app del comerciante, abre la pasarela de pago agregada y elige el método de pago deseado para pagar;

2、El comerciante envía una solicitud de pago a Supefina;

3、Supefina devuelve la dirección de pago correspondiente;

4、El comerciante abre esa dirección del lado del usuario;

5、El usuario verifica y paga según las indicaciones de la página;

6、El usuario realiza el pago con éxito;

7、Supefina notifica al comerciante sobre la información de éxito del pago.

Dirección de solicitud

Entorno
URL

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

Key
Value

Content-Type

application/json

Cuerpo de solicitud

Nombre de variable
Tipo
Obligatorio
Descripción

merorderNo

String

Número de pedido del comerciante

countryld

String

Código del país

Referencia:Tabla de diccionario-Código del país

Mexico:MEX

customerName

String

Nombre del usuario

orderAmount

BigDecimal

Monto del pedido (solo se admite el pago de monto fijo)

  1. Si la cantidad pagada por el usuario no coincide con el monto del pedido, realizaremos un reembolso correspondiente. Si no es posible reembolsar, un representante operativo se pondrá en contacto.

  2. Si el usuario realiza el pago fuera del período de validez de la caja de cobro, también procederemos con el reembolso correspondiente. Si no es posible reembolsar, un representante operativo se pondrá en contacto.

  3. Las operaciones de reembolso aplicarán comisiones según el método de pago, por favor tome nota.

  4. Puede contactar con el personal operativo para conocer el monto de la comisión.

merld

String

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

currency

String

Moneda

Referencia:Tabla de diccionario-Moneda

Peso mexicano:MXN

checkOut

Boolean

Condición para mostrar la caja de cobro agregada En este modo, solo se admite pasar el valor como verdadero true

description

String

Descripción de pago

No puede contener símbolos especiales, y la longitud no debe exceder los 200 caracteres.

nonceStr

String

Cadena aleatoria

La longitud no puede exceder 32 caracteres

payProduct

String

No

Tipo de pago Si no se especifica, se mostrará la caja de cobro con todos los métodos de pago configurados por el comerciante. Si se especifican métodos de pago particulares, la caja de cobro solo mostrará esos métodos. Nota: Si se especifica un método de pago que no está configurado, se devolverá un mensaje de error.

callbackUrl

String

No

Dirección de callback

Consulte la explicación de notificación de callback

expireTimeL

Long

No

Tiempo de expiración de la caja de cobro (en segundos)

  1. Si no se especifica, el valor predeterminado es 12 horas.

  2. Si el tiempo proporcionado es menor de 3 minutos o mayor de 7 días, también se establecerá por defecto en 12 horas.

requestData

Object

No

Parámetro adicional Nota: Si el comerciante ha configurado el método de pago en efectivo, este parámetro es obligatorio.

businessUnit

Object

Unidad de negocio

name

String

Nombre de la unidad de negocio

key

String

Identificador único de la unidad de negocio

showHtmlFlag

String

Mostrar página de cobro en HTML.

Página de cobro URL:1

repeat

Boolean

No

¿La Clabe se reutiliza? Nota: Si se especifica payProduct como 15 (SPEI), este parámetro es obligatorio. true: Uso múltiple

productName

String

Nombre del producto

Máximo 50 caracteres Si el comerciante ha configurado el método de pago con tarjeta, este parámetro es obligatorio.

email

String

No

Correo electrónico del usuario

3-256 caracteres Si el comerciante ha configurado el método de pago con tarjeta, este parámetro es obligatorio.

receiverAddressMain

String

No

Dirección de recepción, calle

0-50 caracteres Si el comerciante ha configurado el método de pago con tarjeta, este parámetro es obligatorio.

receiverAddressExtra

String

No

Dirección de recepción, número

0-50 caracteres Si el comerciante ha configurado el método de pago con tarjeta, este parámetro es obligatorio.

receiverCity

String

No

Dirección de recepción, Ciudad

0-50 caracteres Si el comerciante ha configurado el método de pago con tarjeta, este parámetro es obligatorio.

receiverProvince

String

No

Dirección de recepción, Provincia o Estado

0-40 caracteres caracteres:https://en.wikipedia.org/wiki/ISO_3166-2z

Ejemplo:NY Si el comerciante ha configurado el método de pago con tarjeta, este parámetro es obligatorio.

receiverCountry

String

No

País de receptor

Referencia:Tabla de diccionario-Código del país

Ejemplo: BRA Si el comerciante ha configurado el método de pago con tarjeta, este parámetro es obligatorio.

receiverZipCode

String

No

Código Postal

0-12 letras o números Si el comerciante ha configurado el método de pago con tarjeta, este parámetro es obligatorio.

receiverPhone

String

No

Teléfono de receptor

5-20 caracteres, Ejemplo: +1 123456789 Si el comerciante ha configurado el método de pago con tarjeta, este parámetro es obligatorio.

Ejemplo de solicitud

1 , Habilitar todos los métodos de pago — No envíes el parámetro payProduct.

{
    "merOrderNo": "20240920195501",
    "sign": "xxxx",
    "requestData": {
        "businessUnit": {
            "key": "11",
            "name": "123456"
        },
        "showHtmlFlag": "1"
    },
    "countryId": "MEX",
    "nonceStr": "20240920195501",
    "customerName": "xx",
    "orderAmount": 100,
    "merId": "xxxxx",
    "checkOut": "true",
    "currency": "MXN",
    "callbackUrl": "xxxx",
    "productName": "test1",
    "email": "xxxx",
    "receiverAddressMain": "xxxx",
    "receiverAddressExtra": "xx",
    "receiverCity": "xxxx",
    "receiverCountry": "MEX",
    "receiverPhone": "+86123456789012345",
    "receiverProvince": "Example city",
    "receiverZipCode": "xxx",
    "description": "supefina",
    "expireTimeL": 3600
}

2, Habilitar métodos de pago parciales (efectivo y SPEI) — No enviar el parámetro payProduct.

{
    "merOrderNo": "20240920195501",
    "sign": "xxxx",
    "requestData": {
        "businessUnit": {
            "key": "1098345673212",
            "name": "epay"
        },
        "showHtmlFlag": "1"
    },
    "countryId": "MEX",
    "nonceStr": "20240920195501",
    "customerName": "xxx",
    "orderAmount": 100,
    "merId": "xxxxx",
    "checkOut": "true",
    "currency": "MXN",
    "callbackUrl": "xxxx",
    "description": "supefina",
    "expireTimeL": 3600
}

3, Habilitar métodos de pago parciales (efectivo y tarjeta) — No enviar el parámetro payProduct .

{
    "merOrderNo": "20240920195501",
    "sign": "xxxx",
    "requestData": {
        "businessUnit": {
            "key": "11",
            "name": "123456"
        },
        "showHtmlFlag": "1"
    },
    "countryId": "MEX",
    "nonceStr": "20240920195501",
    "customerName": "xx",
    "orderAmount": 100,
    "merId": "xxxxx",
    "checkOut": "true",
    "currency": "MXN",
    "callbackUrl": "xxxx",
    "productName": "test1",
    "email": "xxxx",
    "receiverAddressMain": "xxxx",
    "receiverAddressExtra": "xx",
    "receiverCity": "xxxx",
    "receiverCountry": "MEX",
    "receiverPhone": "+86123456789012345",
    "receiverProvince": "Example city",
    "receiverZipCode": "xxx",
    "description": "supefina",
    "expireTimeL": 3600
}

5, Especificar los métodos de pago.

  • payProduct:03

{
    "merOrderNo": "20240920195501",
    "sign": "xxxxxx",
    "requestData": {
        "businessUnit": {
            "key": "111",
            "name": "123456"
        },
        "showHtmlFlag": "1"
    },
    "payProduct":"03",
    "countryId": "MEX",
    "nonceStr": "20240920195501",
    "customerName": "xxx",
    "orderAmount": 100,
    "merId": "xxxxx",
    "checkOut": "true",
    "currency": "MXN",
    "callbackUrl": "xxxxxx",
    "description": "supefina",
    "expireTimeL": 3600
}
  • payProduct:15

{
    "merOrderNo": "20240920195501",
    "sign": "xxxxx",
    "payProduct":"15",
    "repeat":true,
    "countryId": "MEX",
    "nonceStr": "20240920195501",
    "customerName": "xxxx",
    "orderAmount": 100,
    "merId": "xxxxx",
    "checkOut": "true",
    "currency": "MXN",
    "callbackUrl": "xxxxxx",
    "description": "supefina",
    "expireTimeL": 3600
}
  • payProduct:18

{
    "merOrderNo": "20240920195501",
    "sign": "xxxxxxx",
    "payProduct":"18",
    "countryId": "MEX",
    "nonceStr": "20240920195501",
    "customerName": "xxxx",
    "orderAmount": 100,
    "merId": "xxxxx",
    "checkOut": "true",
    "currency": "MXN",
    "callbackUrl": "xxxxx",
    "productName": "test1",
    "email": "xxxxxx",
    "receiverAddressMain": "xxxxxx",
    "receiverAddressExtra": "xxxxx",
    "receiverCity": "Example city",
    "receiverCountry": "MEX",
    "receiverPhone": "+86123456789012345",
    "receiverProvince": "Example city",
    "receiverZipCode": "xxxxx",
    "description": "supefina",
    "expireTimeL": 3600
}

Parámetros de respuesta

Nombre de variable
Tipo
Descripcion

code

String

Código de respuesta Referencia especifica: Códigos de estado de respuesta

msg

String

Descripción de la respuesta

data

Object

Datos de respuesta

merCode

String

ID de comerciante

merOrderNo

String

Número de pedido del comerciante

supefinaOrderNo

String

Número de pedido del supefina

amount

BigDecimal

Monto del pedido

currency

String

Moneda Referencia:Tabla de diccionario-Moneda Peso mexicano:MXN

url

String

Enlace de la transacción

Ejemplo de respuesta-Éxito

{
    "code": "200",
    "msg": "success ",
    "data": {
        "merCode": "xxxxx",
        "merOrderNo": "20240920195501",
        "supefinaOrderNo": "2025011877286055912513536",
        "amount": 100,
        "url": "http://h5.supefina.tech/combineCashier?token=3eeec61dc9544b41b9086e953b52571c",
        "currency": "MXN"
    }
}

Ejemplo de respuesta-Fracaso

{
    "code": "400",
    "msg": "param error : requestData is null"
}

Notificación de callback

Método de envío: POST

Nombre de variable
Tipo
Descripción

amount

String

Monto del pedido

countryld

String

Código del país

Referencia:Tabla de diccionario-Código del país Colombia, COL Mexico:MEX

fee

String

Comision anticipada

identifier

String

Referencia de pago

merld

String

ID de comerciante

merOrderld

String

Número de pedido del comerciante

msg

String

Mensajes

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

status

String

Estado de la transacción Referencia especifica : Tabla de diccionario-Estado del pedido de transacción

successTime

String

Tiempo de éxito de la transacción

Hora UTC

supefinaOrderld

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": "3.30",
    "identifier": "706180968985601627",
    "merId": "8302636872670229",
    "merOrderId": "P1790641845848850466",
    "msg": "SUCCESS",
    "nonceStr": "03aeeb11-0ad8-42dd-9f00-be1aae",
    "realityAmount": "30.00",
    "realityFee": "3.30",
    "reference": "3843CP03202405190062858560",
    "sign": "27C5933E426DD7A9EABD5C9D50F6BEBE",
    "status": "01",
    "successTime": 1715757366244,
    "supefinaOrderId": "202405150301469d1e0b38e7fdc46",
    "transactionType": "01"
}

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