Chuyển đến nội dung chính

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"