Aller au contenu principal

getPaymentStagesByOrderId

Obtenir l'avancement du paiement d'une commande : ses étapes et si elles sont payées.

Description​

Cette méthode récupère les étapes de paiement d'une commande, ainsi que deux indicateurs qui décrivent la commande dans son ensemble. Elle renvoie une promesse qui se résout en un objet IPaymentProgress.

Payments.getPaymentStagesByOrderId(id);

Paramètres​

id: number
ID de l'objet commande.
exemple : 1

💡 Que signifient les deux indicateurs​

Une commande peut être payée en plusieurs fois plutôt qu'en un seul paiement. partial indique de quel cas il s'agit, completed indique s'il reste quelque chose à payer, et chaque étape a son propre 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`);
}

🔐 Autorisation​

Cette méthode nécessite une autorisation utilisateur. Voir le module AuthProvider.

Exemples​

Exemple minimal​

const response = await Payments.getPaymentStagesByOrderId(205);

Exemple de réponse​

{
"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"
}
]
}

Schéma de réponse​

Schéma : IPaymentProgress

completed: boolean
Vrai lorsque chaque étape de la commande a été payée.
exemple : false

partial: boolean
Vrai lorsque la commande est payée en plusieurs étapes plutôt qu'en un seul paiement.
exemple : true

stages: IPaymentStage[]
Les étapes elles-mêmes, dans l'ordre dans lequel l'API les renvoie.
exemple : [{ "marker": "part_a", "status": "completed" }]

stages[].marker: string
Marqueur de l'attribut qui a fixé le prix de l'étape.
exemple : "part_a"

stages[].sessionId: number
Identifiant de la session de paiement liée à l'étape.
exemple : 100

stages[].productId: number
Identifiant du produit auquel l'étape appartient.
exemple : 200

stages[].title: string
Titre de l'étape.
exemple : "Partie A"

stages[].value: number
Prix de l'étape.
exemple : 150

stages[].status: "planned" | "completed"
Statut de l'étape : planifiée - pas encore payée, complétée - payée.
exemple : "planned"