getPaymentStagesByOrderId
Lấy tiến trình thanh toán của một đơn hàng: các giai đoạn và liệu chúng đã được thanh toán hay chưa.
Mô tả
Phương thức này lấy các giai đoạn thanh toán của một đơn hàng, cùng với hai cờ mô tả đơn hàng như một tổng thể. Nó trả về một Promise mà khi giải quyết sẽ trả về một đối tượng IPaymentProgress.
Payments.getPaymentStagesByOrderId(id);
Tham số
id: number
ID của đối tượng đơn hàng.
ví dụ: 1
💡 Ý nghĩa của hai cờ
Một đơn hàng có thể được thanh toán theo từng phần thay vì một lần thanh toán. partial cho biết trường hợp nào, completed cho biết liệu còn gì để thanh toán hay không, và mỗi giai đoạn mang theo trạng thái riêng của nó.
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`);
}
🔐 Ủy quyền
Phương thức này yêu cầu ủy quyền người dùng. Xem mô-đun AuthProvider.
Ví dụ
Ví dụ tối thiểu
const response = await Payments.getPaymentStagesByOrderId(205);
Phản hồi ví dụ
{
"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"
}
]
}
Sơ đồ phản hồi
Sơ đồ: IPaymentProgress
completed: boolean
Đúng khi mọi giai đoạn của đơn hàng đã được thanh toán.
ví dụ: false
partial: boolean
Đúng khi đơn hàng được thanh toán theo từng giai đoạn thay vì một lần thanh toán.
ví dụ: true
stages: IPaymentStage[]
Các giai đoạn tự thân, theo thứ tự mà API trả về.
ví dụ: [{ "marker": "part_a", "status": "completed" }]
stages[].marker: string
Đánh dấu của thuộc tính xác định giá của giai đoạn.
ví dụ: "part_a"
stages[].sessionId: number
Định danh của phiên thanh toán liên kết với giai đoạn.
ví dụ: 100
stages[].productId: number
Định danh của sản phẩm mà giai đoạn thuộc về.
ví dụ: 200
stages[].title: string
Tiêu đề của giai đoạn.
ví dụ: "Phần A"
stages[].value: number
Giá của giai đoạn.
ví dụ: 150
stages[].status: "planned" | "completed"
Trạng thái giai đoạn: planned - chưa thanh toán, completed - đã thanh toán.
ví dụ: "planned"