انتقل إلى المحتوى الرئيسي

getPaymentStagesByOrderId

الحصول على تقدّم الدفع لطلب: مراحله وما إذا كانت مدفوعة.

الوصف​

يجلب مراحل الدفع لطلب، إلى جانب علامتين تصفان الطلب ككل. يُعيد IPaymentProgress.

.getPaymentStagesByOrderId(

);

مخطط المعلمات​

Schema

id(required): number
معرّف الطلب.
مثال: 1

ماذا تعني العلامتان​

تكون completed بقيمة true عندما تُدفع كل المراحل. وتكون partial بقيمة true بمجرد دفع مرحلة واحدة على الأقل، لذا تحقّق من completed أولًا. لكل مرحلة status خاص بها، وتكون sessionId بقيمة null حتى تُنشأ جلسة دفع لتلك المرحلة.

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`);
}

التفويض​

يعتمد الوصول على صلاحيات الوحدات لمجموعة مستخدمي المستدعي؛ اضبطها في لوحة الإدارة.

أمثلة​

مثال بسيط​

const response = await Payments.getPaymentStagesByOrderId(205);

مثال على الاستجابة​

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

مخطط الاستجابة​

المخطط: IPaymentProgress

completed: boolean
true عندما تُدفع جميع مراحل الطلب.
مثال: false

partial: boolean
true بمجرد دفع مرحلة واحدة على الأقل. تحقّق من completed أولًا: تكون قيمته true عندما لا يتبقى شيء للدفع.
مثال: true

stages: IPaymentStage[]
المراحل نفسها، بالترتيب الذي تُرجعها به API.

stages.marker: string
علامة السمة التي تحدد سعر المرحلة.
مثال: "part_a"

stages.sessionId: number
معرّف جلسة الدفع المرتبطة بالمرحلة.
مثال: 100

stages.productId: number
معرّف المنتج الذي تنتمي إليه المرحلة.
مثال: 200

stages.title: string
عنوان المرحلة.
مثال: "Part A"

stages.value: number
المبلغ المستحق للمرحلة.
مثال: 150

stages.status: "planned" | "completed"
حالة المرحلة: "planned" — لم تُدفع بعد، "completed" — مدفوعة.
مثال: "planned"