Pular para o conteúdo principal

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"