Pular para o conteúdo principal

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"