getPaymentStagesByOrderId
Récupérer l'avancement du paiement d'une commande : ses étapes et leur état de paiement.
Description
Récupère les étapes de paiement d'une commande, ainsi que deux indicateurs qui décrivent la commande dans son ensemble. Renvoie un IPaymentProgress.
.getPaymentStagesByOrderId(
);
Schéma des paramètres
Schema
id(required): number
ID de la commande.
exemple : 1
Signification des deux indicateurs
completed vaut true lorsque toutes les étapes sont payées. partial vaut true dès qu'au moins une étape est payée : vérifiez donc completed en premier. Chaque étape a son propre status, et sessionId vaut null tant qu'aucune session de paiement n'a été créée pour cette étape.
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`);
}
Autorisation
L'accès dépend des permissions de module du groupe d'utilisateurs de l'appelant ; configurez-les dans le panneau d'administration.
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
true lorsque toutes les étapes de la commande ont été payées.
exemple : false
partial: boolean
true dès qu'au moins une étape est payée. Vérifiez d'abord completed : il vaut true lorsqu'il ne reste plus rien à payer.
exemple : true
stages: IPaymentStage[]
Les étapes elles-mêmes, dans l'ordre où l'API les renvoie.
stages.marker: string
Marqueur de l'attribut qui fixe 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
ID du produit auquel appartient l'étape.
exemple : 200
stages.title: string
Titre de l'étape.
exemple : "Part A"
stages.value: number
Montant dû pour l'étape.
exemple : 150
stages.status: "planned" | "completed"
Statut de l'étape : "planned" — pas encore payée, "completed" — payée.
exemple : "planned"