Saltar al contenido principal

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"