Esta función se utiliza para generar datos de pago para una moneda digital específica. Los comerciantes pueden usar el enlace de pago para dirigir a los usuarios a la caja de UPay. Al completarse el pago, el sistema notificará inmediatamente al usuario.
Nota: Los usuarios deben pagar estrictamente según el monto de la orden. Si el monto es inconsistente, la orden no se procesará.
URL de Solicitud
https://api.qpay.ink/apply
Método de Solicitud
POST
Parámetros de Solicitud
| Nombre | Tipo de Campo | ¿Es obligatorio? | Firma | Descripción |
|---|---|---|---|---|
| AppId | string | Sí | Sí | APP ID del Proyecto |
| fiatAmount | number | Sí | Sí | Monto en USDT, preciso a 4 decimales |
| chainType | string | No | No | trc20, erc20 |
| merchantOrderNo | string | Sí | Sí | El número de orden generado independientemente por el comerciante debe ser único en su sistema. |
| notifyUrl | string | No | No | La dirección de callback para recibir notificaciones asíncronas. Debe ser una URL accesible directamente, sin parámetros, verificación de sesión o verificación CSRF. |
| redirectUrl | string | No | No | Después de un pago exitoso, la dirección de redirección del frontend debe incluir http:// o https:// |
| timestamp | string | Sí | Sí | Marca de tiempo, usada para participar en el cálculo de la firma |
| signature | string | Sí | Sí | Firma de datos, consulte el algoritmo de firma a continuación |
function makeSignAPi($params, $appKey)
{
$str = $params['AppId']
.$params['merchantOrderNo']
. $params['fiatAmount']
. $params['timestamp'];
return strtoupper(hash_hmac('sha256', $str, $appKey));
}
Consulte el método anterior para calcular la firma.
Estructura del cuerpo de la respuesta:
{
"code": 1,
"message": "success",
"data": {
"orderNo": "20210721111111111111111111",
"merchantOrderNo": "20210721111111111111111111",
"status": "pending",
"payUrl": "https://pay.qpay.com/pay/20210721111111111111111111",
}
}
orderNo: string, Número de orden de QPay.