Card

(payProduct=18)

Proceso de pago

  1. El usuario realiza un pedido en el sitio web o aplicación del comerciante y elige pagar con Card;

  2. El comerciante envía una solicitud de pago con Card a Supefina;

  3. Supefina devuelve la URL de pago con Card;

  4. El comerciante abre la dirección en el lado del usuario;

  5. El usuario sigue las indicaciones de la página para verificar y realizar el pago;

  6. El usuario realiza el pago exitosamente;

  7. Supefina notifica al comerciante que el pago ha sido exitoso.

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

countryId

String

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

currency

String

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

orderAmount

String

Monto del pedido Unidad: pesos; se pueden ingresar decimales, admite hasta dos decimales

merId

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

merOrderNo

String

Número de pedido del comerciante

nonceStr

String

Cadena aleatoria

La longitud no puede exceder 32 caracteres

payProduct

String

Tipo de pago Card:18

checkOut

Boolean

Pasarela de pago true:Se necesita pasarela de pago false:No se necesita pasarela de pago Enviar true

returnUrl

Boolean

No

Devolver la dirección URL tras completar el pago

callbackUrl

String

No

Dirección de callback

Consulte la explicación de notificación de callback

productName

String

Nombre del producto

Máximo 50 caracteres

productQuantity

Integer

No

Cantidad de producto

Rango[0,1000]

email

String

No

Correo electrónico del usuario

3-256 caracteres

Obligatorio para la industria del Ecommerce

receiverAddressMain

String

No

Dirección de recepción, calle

0-50 caracteres

Obligatorio para la industria del Ecommerce

receiverAddressExtra

String

No

Dirección de recepción, número

0-50 caracteres

Obligatorio para la industria del Ecommerce

receiverCity

String

No

Dirección de recepción, Ciudad

0-50 caracteres

Obligatorio para la industria del Ecommerce

receiverProvince

String

No

Dirección de recepción, Provincia o Estado

0-40 caracteres ISO_3166 Ejemplo: Nueva York

Obligatorio para la industria del Ecommerce

receiverCountry

String

No

País de receptor

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

Ejemplo: BRA

Obligatorio para la industria del Ecommerce

receiverZipCode

String

No

Código Postal

0-12 letras o números

Obligatorio para la industria del Ecommerce

receiverPhone

String

No

Teléfono de receptor

5-20 caracteres, Ejemplo: +1 123456789

Obligatorio para la industria del Ecommerce

alias

String

No

User name

0-60 caracteres

Obligatorio para la industria del Ecommerce

newUser

Boolean

No

Es un usuario dentro de un mes?

true: SÍ

false: NO

Obligatorio para la industria del Gaming

hasDispute

Boolean

No

Si ha habido disputas históricas, incluidas cualquiera de las siguientes:

1, Utilizar herramientas de trampa, lagunas jurídicas en los juegos, etc. para comportarse de forma inapropiada;

2, Acosar a otros jugadores, participar en comportamientos maliciosos o interrumpir la experiencia del juego;

3, Los jugadores hacen comentarios inapropiados, violan las reglas del juego y son denunciados con frecuencia;

true: SÍ

false: NO

Obligatorio para la industria del Gaming

hasRefund

Boolean

No

Si hay refund?

true: SÍ

false: NO

Obligatorio para la industria del Gaming

hasSingedLong

Boolean

No

Si el tiempo de registro es superior a tres meses?

true: SÍ

false: NO

Obligatorio para la industria del Gaming

customerName

String

Nombre del usuario

description

String

Descripción

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

Ejemplo de solicitud

{
	"alias": "test alias",
	"callbackUrl": "https://test.com",
	"checkOut": true,
	"countryId": "MEX",
	"currency": "MXN",
	"customerName": "Aaliyah Rogers",
	"description": "Supefina",
	"email": "[email protected]",
	"hasDispute": true,
	"hasRefund": false,
	"hasSingedLong": true,
	"merId": "8102048462634665",
	"merOrderNo": "2025072919413465743446604",
	"newUser": false,
	"nonceStr": "b4cf1bb20d8c49cca4e5815d13e5a352",
	"orderAmount": "200",
	"payProduct": "18",
	"productName": "testName",
	"productQuantity": 10,
	"receiverAddressExtra": "Apt 2",
	"receiverAddressMain": "Sample street 357",
	"receiverCity": "Example city",
	"receiverCountry": "MXN",
	"receiverPhone": "1234567890",
	"receiverProvince": "Example state",
	"receiverZipCode": "01254",
	"returnUrl": "https://www.bing.com/",
	"sign": "91ABE1CB4C93ACC3FB3D4731207B91FB"
}

ensamblar una cadena de firma

alias=test alias&callbackUrl=https://test.com&checkOut=true&countryId=MEX&currency=MXN&customerName=Aaliyah Rogers&description=Supefina&[email protected]&hasDispute=true&hasRefund=false&hasSingedLong=true&merId=8102048462634665&merOrderNo=2025072919413465743446604&newUser=false&nonceStr=b4cf1bb20d8c49cca4e5815d13e5a352&orderAmount=200&payProduct=18&productName=testName&productQuantity=10&receiverAddressExtra=Apt 2&receiverAddressMain=Sample street 357&receiverCity=Example city&receiverCountry=MXN&receiverPhone=1234567890&receiverProvince=Example state&receiverZipCode=01254&returnUrl=https://www.bing.com/&key=10b8a891ff6a479e8135f3367c17e87d

Parámetros de respuesta

Nombre de variable
Tipo
Descripción

code

String

Código de respuesta Referencia específica: Códigos de estado de respuesta

data

Object

Datos de respuesta

amount

BigDecimal

Monto del pedido

currency

String

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

merCode

String

ID de comerciante

merOrderNo

String

Número de pedido del comerciante

url

String

Enlace de la transacción

msg

String

Descripción de la respuesta

Ejemplo de respuesta

{
	"code": "200",
	"msg": "success ",
	"data": {
		"merCode": "8102048462634665",
		"merOrderNo": "2025072919413465743446604",
		"supefinaOrderNo": "2025071950159781458792448",
		"amount": 200,
		"url": "http://h5.supefina.tech/combineCashier?token=22967f6fca9c4ba0a6e5d0f142f6c491",
		"currency": "MXN"
	}
}

Notificación de callback

Método de envío: POST

Nombre de variable
Tipo
Descripción

amount

String

Monto del pedido

countryId

String

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

fee

String

Comisión anticipada

identifier

String

Referencia de pago

merId

String

ID de comerciante

merOrderId

String

Número de pedido del comerciante

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

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": "200.00",
	"countryId": "MEX",
	"customerName": "Aaliyah Rogers",
	"fee": "1.00",
	"merId": "8102048462634665",
	"merOrderId": "2025072919413465743446604",
	"nonceStr": "d8870116-0c31-4455-b745-d8576f",
	"realityAmount": "200",
	"realityFee": "1.00",
	"reference": "CRTD7QBOHTSDSFW0P065PG6F0I80C8L",
	"sign": "5CF88813736D50E062A4C88DD33DB4A6",
	"status": "01",
	"successTime": 1753789322996,
	"supefinaOrderId": "2025071950159781458792448",
	"transactionType": "01"
}

ensamblar una cadena de firma

amount=200.00&countryId=MEX&customerName=Aaliyah Rogers&fee=1.00&merId=8102048462634665&merOrderId=2025072919413465743446604&nonceStr=d8870116-0c31-4455-b745-d8576f&realityAmount=200&realityFee=1.00&reference=CRTD7QBOHTSDSFW0P065PG6F0I80C8L&status=01&successTime=1753789322996&supefinaOrderId=2025071950159781458792448&transactionType=01&key=cf5fe06851e84cd7ab227dbbf16f4bf1

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

Datos de prueba

El ambiente de prueba proporciona una funcionalidad de payin y payout completa, pero sólo simula el procesamiento, no hay transacciones bancarias reales.

Se puede utilizar la siguiente información de tarjeta de crédito para probar las transacciones.

Visa

Card PAN
3-D Secure result
Transaction result

4000000000000085

3-D secure version 2, challenge flow, full authentication

Payment has CONFIRMED status

4580000000000059

3-D secure version 2, frictionless flow, attempt

Payment has CONFIRMED status

4000000000000093

3-D secure version 2, frictionless flow, success

Payment has CONFIRMED status

Mastercard

Card PAN
3-D Secure result
Transaction result

5100000000000065

3-D secure version 2, challenge flow, full authentication

Payment has CONFIRMED status

2400000000000069

3-D secure version 2, frictionless flow, attempt

Payment has CONFIRMED status

5100000000000073

3-D secure version 2, frictionless flow, success

Payment has CONFIRMED status

Maestro

Card PAN
3-D Secure result
Transaction result

5000000000000025

3-D secure version 2, challenge flow, full authentication

Payment has CONFIRMED status

5000000000000033

3-D secure version 2, frictionless flow, success

Payment has CONFIRMED status

5666666666666955

3-D secure version 2, challenge flow, full authentication

Payment has DECLINED status

Discover

Card PAN
3-D Secure result
Transaction result

6500000000000895

3-D secure version 2, challenge flow, full authentication

Payment has CONFIRMED status

6500000000000069

3-D secure version 2, frictionless flow, attempt

Payment has CONFIRMED status

6011000000000053

3-D secure version 2, frictionless flow, success

Payment has CONFIRMED status

JCB

Card PAN
3-D Secure result
Transaction result

3528000000000015

3-D secure version 2, challenge flow, full authentication

Payment has CONFIRMED status

3528000000000023

3-D secure version 2, frictionless flow, success

Payment has CONFIRMED status

3528000000000049

3-D secure version 2, frictionless flow, attempt

Payment has CONFIRMED status

UnionPay

Card PAN
3-D Secure result
Transaction result

6222020000000085

3-D secure version 2, challenge flow, full authentication

Payment has CONFIRMED status

8171000000000000079

3-D secure version 2, frictionless flow, attempt

Payment has CONFIRMED status

6200000000000053

3-D secure version 2, frictionless flow, success

Payment has CONFIRMED status

Amex

Card PAN
3-D Secure result
Transaction result

370000000000085

3-D secure version 2, challenge flow, full authentication

Payment has CONFIRMED status

340000000000033

3-D secure version 2, frictionless flow, success

Payment has CONFIRMED status

340000000000009

3-D secure version 2, frictionless flow, attempt

Payment has CONFIRMED status

Durante las pruebas, merchant puede utilizar cualquier nombre de titular de tarjeta, fecha de caducidad y código de seguridad con esta información de tarjeta para realizar pagos. Para completar la autenticación, también se simula la autenticación segura 3-DS a través de una página que sólo muestra dos botones, uno para la autenticación correcta y otro para la autenticación fallida. Cuando merchant selecciona Autenticación fallida, la transaccion siempre se rechazará, independientemente del PAN que se haya utilizado.

Durante las pruebas, se encuentra un código de estado anormal, póngase en contacto directamente con los operadores de Supefina para solucionar el problema.

Última actualización