getPaymentStagesByOrderId
Obter o progresso de pagamento de um pedido: suas etapas e se estão pagas.
Descrição
Busca as etapas de pagamento de um pedido, além de duas flags que descrevem o pedido como um todo. Resolve para um IPaymentProgress.
.getPaymentStagesByOrderId(
);
Esquema de parâmetros
Schema
id(required): number
ID do pedido.
exemplo: 1
O que significam as duas flags
completed é true quando todas as etapas estão pagas. partial é true assim que pelo menos uma etapa é paga, então verifique completed primeiro. Cada etapa tem seu próprio status, e sessionId é null até que uma sessão de pagamento seja criada para essa etapa.
const progress = await Payments.getPaymentStagesByOrderId(205);
if ('statusCode' in progress) throw new Error(progress.message);
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
O acesso depende das permissões de módulo do grupo de usuários de quem faz a chamada; configure-as no painel de administração.
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
true quando todas as etapas do pedido foram pagas.
exemplo: false
partial: boolean
true assim que pelo menos uma etapa é paga. Verifique completed primeiro: ele é true quando não resta nada a pagar.
exemplo: true
stages: IPaymentStage[]
As próprias etapas, na ordem em que a API as retorna.
stages.marker: string
Marcador do atributo que define o preço da etapa.
exemplo: "part_a"
stages.sessionId: number
Identificador da sessão de pagamento vinculada à etapa.
exemplo: 100
stages.productId: number
ID do produto ao qual a etapa pertence.
exemplo: 200
stages.title: string
Título da etapa.
exemplo: "Part A"
stages.value: number
Valor devido na etapa.
exemplo: 150
stages.status: "planned" | "completed"
Status da etapa: "planned" — ainda não paga, "completed" — paga.
exemplo: "planned"