getPaymentStagesByOrderId
Obtendo o progresso do pagamento de um pedido: suas etapas e se estão pagas.
Descrição
Este método recupera as etapas de pagamento de um pedido, juntamente com duas flags que descrevem o pedido como um todo. Ele retorna uma Promise que resolve para um objeto IPaymentProgress.
Pagamentos.getPaymentStagesByOrderId(id);
Parâmetros
id: number
ID do objeto do pedido.
exemplo: 1
💡 O que as duas flags significam
Um pedido pode ser pago em partes em vez de em um único pagamento. partial indica qual é o caso, completed diz se ainda há algo a pagar, e cada etapa possui seu próprio 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`);
}
🔐 Autorização
Este método requer autorização do usuário. Veja o módulo AuthProvider.
Exemplos
Exemplo mínimo
const response = await Payments.getPaymentStagesByOrderId(205);
Exemplo de resposta
{
"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 resposta
Esquema: IPaymentProgress
completed: boolean
Verdadeiro quando cada etapa do pedido foi paga.
exemplo: false
partial: boolean
Verdadeiro quando o pedido é pago em etapas em vez de em um único pagamento.
exemplo: true
stages: IPaymentStage[]
As etapas em si, na ordem em que a API as retorna.
exemplo: [{ "marker": "part_a", "status": "completed" }]
stages[].marker: string
Marcador do atributo que definiu o preço da etapa.
exemplo: "part_a"
stages[].sessionId: number
Identificador da sessão de pagamento vinculada à etapa.
exemplo: 100
stages[].productId: number
Identificador do produto ao qual a etapa pertence.
exemplo: 200
stages[].title: string
Título da etapa.
exemplo: "Parte A"
stages[].value: number
Preço da etapa.
exemplo: 150
stages[].status: "planned" | "completed"
Status da etapa: planejada - ainda não paga, completada - paga.
exemplo: "planned"