getPaymentStagesByOrderId
Obteniendo el progreso de pago de un pedido: sus etapas y si están pagadas.
Descripción
Este método recupera las etapas de pago de un pedido, junto con dos indicadores que describen el pedido en su totalidad. Devuelve una Promesa que se resuelve en un objeto IPaymentProgress.
Pagos.getPaymentStagesByOrderId(id);
Parámetros
id: number
ID del objeto de pedido.
ejemplo: 1
💡 Qué significan los dos indicadores
Un pedido puede pagarse en partes en lugar de en un solo pago. partial indica cuál es el caso, completed indica si queda algo por pagar, y cada etapa tiene su propio status.
const progress = await Payments.getPaymentStagesByOrderId(205);
if (progress.completed) {
// Nothing left to pay.
} else if (progress.partial) {
const left = progress.stages.filter((stage) => stage.status === 'planned');
console.log(`${left.length} stages still to pay`);
}
🔐 Autorización
Este método requiere autorización del usuario. Consulta el módulo AuthProvider.
Ejemplos
Ejemplo mínimo
const response = await Payments.getPaymentStagesByOrderId(205);
Ejemplo de respuesta
{
"completed": false,
"partial": true,
"stages": [
{
"marker": "part_a",
"sessionId": 100,
"productId": 200,
"title": "Part A",
"value": 150,
"status": "completed"
},
{
"marker": "part_b",
"sessionId": 101,
"productId": 200,
"title": "Part B",
"value": 150,
"status": "planned"
}
]
}
Esquema de respuesta
Esquema: IPaymentProgress
completed: boolean
Verdadero cuando cada etapa del pedido ha sido pagada.
ejemplo: false
partial: boolean
Verdadero cuando el pedido se paga en etapas en lugar de en un solo pago.
ejemplo: true
stages: IPaymentStage[]
Las etapas en sí, en el orden en que las devuelve la API.
ejemplo: [{ "marker": "part_a", "status": "completed" }]
stages[].marker: string
Marcador del atributo que estableció el precio de la etapa.
ejemplo: "part_a"
stages[].sessionId: number
Identificador de la sesión de pago vinculada a la etapa.
ejemplo: 100
stages[].productId: number
Identificador del producto al que pertenece la etapa.
ejemplo: 200
stages[].title: string
Título de la etapa.
ejemplo: "Parte A"
stages[].value: number
Precio de la etapa.
ejemplo: 150
stages[].status: "planned" | "completed"
Estado de la etapa: planned - no pagada aún, completed - pagada.
ejemplo: "planned"