getPaymentStagesByOrderId
الحصول على تقدم الدفع لطلب: مراحله وما إذا كانت مدفوعة.
الوصف
تسترجع هذه الطريقة مراحل الدفع لطلب واحد، مع علامتين تصفان الطلب ككل. تعيد Promise التي تحل إلى كائن IPaymentProgress.
المدفوعات.getPaymentStagesByOrderId(id);
المعلمات
id: number
معرف كائن الطلب.
مثال: 1
💡 ماذا تعني العلامتان
يمكن دفع الطلب على أجزاء بدلاً من دفعة واحدة. تشير partial إلى أي حالة هي، بينما تشير completed إلى ما إذا كان هناك أي شيء متبقي للدفع، وكل مرحلة تحمل حالتها الخاصة.
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`);
}
🔐 التفويض
تتطلب هذه الطريقة تفويض المستخدم. راجع وحدة AuthProvider.
أمثلة
مثال بسيط
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
صحيح عندما يتم دفع كل مرحلة من مراحل الطلب.
مثال: false
partial: boolean
صحيح عندما يتم دفع الطلب على مراحل بدلاً من دفعة واحدة.
مثال: true
stages: IPaymentStage[]
المراحل نفسها، بالترتيب الذي تعيده واجهة برمجة التطبيقات.
مثال: [{ "marker": "part_a", "status": "completed" }]
stages[].marker: string
علامة السمة التي تحدد سعر المرحلة.
مثال: "part_a"
stages[].sessionId: number
معرف جلسة الدفع المرتبطة بالمرحلة.
مثال: 100
stages[].productId: number
معرف المنتج الذي تنتمي إليه المرحلة.
مثال: 200
stages[].title: string
عنوان المرحلة.
مثال: "الجزء أ"
stages[].value: number
سعر المرحلة.
مثال: 150
stages[].status: "planned" | "completed"
حالة المرحلة: مخطط - لم يتم دفعه بعد، مكتمل - مدفوع.
مثال: "planned"