Enviar solicitud de pago
Flujo de Pago
El proceso de pago con el terminal cloud implica la comunicación entre su sistema y el terminal:1. Inicio del Pago (a través de API)
Su sistema inicia el pago de forma remota a través de la API de PayPay:
- El sistema envía la solicitud a la API de PayPay:
Endpoint
POST /terminals/{uuid}/payments
Ejemplo básico
{
"amount": 100,
"code": "sale-code",
"summary": "sale-description"
}
Parámetros
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
uuid | string | ✅ Sí | UUID del terminal al que se enviará la solicitud de pago |
amount | integer | ✅ Sí | Importe |
code | string | ❌ No | Código indicado por el comerciante, por ejemplo, código de pedido del sistema |
summary | string | ❌ No | Descripción indicada por el comerciante, por ejemplo, descripción del pedido del sistema |
- La API PayPay se comunica con el terminal de forma assíncrona;
- El terminal recibe y muestra automáticamente el importe al operador;
información
El terminal espera 1 minuto por la presentación de la tarjeta.
- La API de PayPay devuelve la respuesta del éxito o fracaso de la solicitud asíncrona, mientras que el terminal espera a que se presente la tarjeta.
Respuesta de la API
{
"date": "2025-09-01T13:06:22+01:00",
"success": true,
"data": {
"id": "1",
"clientId": "502056800",
"type": "payment",
"amount": 100,
"stateDetails": {
"state": "pending_confirmation",
"createdAt": "2025-09-01T13:06:22+01:00"
},
"paymentMethod": {
"code": "CC",
"type": "TPA"
},
"code": "order-code",
"summary": "product-description",
"availableMethods": [
{
"code": "CC",
"type": "TPA",
"name": "Credit\/Debit card Physical TPA"
}
],
"bankAccount": {
"code": "O9uFVmSZ",
"bankName": "Banco",
"last4digits": "8513"
},
"createdAt": "2025-09-01T13:06:22+01:00",
"updatedAt": "2025-09-01T13:06:22+01:00"
}
}
Estructura de la Respuesta
| Campo | Tipo | Descripción |
|---|---|---|
id | string | ID del pago PayPay |
clientId | string | NIF de la entidad a la que se asoció el pago |
type | string | Tipo de operación |
stateDetails.state | string | Estado del pago |
stateDetails.createdAt | datetime | Fecha del estado |
paymentMethod | object | Método de pago seleccionado para el pago |
code | string | Código indicado por el comerciante |
summary | string | Descripción indicada por el comerciante |
availableMethods | object | Formas de pago disponibles para el pago |
bankAccount | object | Identificación del banco que recibirá los fondos |
createdAt | datetime | Fecha de creación del registro |
updatedAt | datetime | Fecha de la última actualización |
información
La estructura de la respuesta varía en función de los parámetros enviados en la solicitud. Por ejemplo, si envía información del cliente (customer) esta también se devuelve.