getPaymentStagesByOrderId
Mendapatkan kemajuan pembayaran dari sebuah pesanan: tahap-tahapnya dan apakah sudah dibayar.
Deskripsi
Metode ini mengambil tahap-tahap pembayaran dari satu pesanan, bersama dengan dua flag yang menggambarkan pesanan secara keseluruhan. Ini mengembalikan sebuah Promise yang menyelesaikan menjadi objek IPaymentProgress.
Pembayaran.getPaymentStagesByOrderId(id);
Parameter
id: number
ID dari objek pesanan.
contoh: 1
💡 Apa arti dua flag tersebut
Sebuah pesanan dapat dibayar secara bertahap daripada dalam satu pembayaran. partial menunjukkan kasus mana yang terjadi, completed menunjukkan apakah masih ada yang harus dibayar, dan setiap tahap memiliki statusnya sendiri.
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`);
}
🔐 Otorisasi
Metode ini memerlukan otorisasi pengguna. Lihat modul AuthProvider.
Contoh
Contoh minimal
const response = await Payments.getPaymentStagesByOrderId(205);
Contoh respons
{
"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"
}
]
}
Skema respons
Skema: IPaymentProgress
completed: boolean
Benar ketika setiap tahap dari pesanan telah dibayar.
contoh: false
partial: boolean
Benar ketika pesanan dibayar secara bertahap daripada dalam satu pembayaran.
contoh: true
stages: IPaymentStage[]
Tahap-tahap itu sendiri, dalam urutan yang dikembalikan oleh API.
contoh: [{ "marker": "part_a", "status": "completed" }]
stages[].marker: string
Penanda dari atribut yang menetapkan harga tahap tersebut.
contoh: "part_a"
stages[].sessionId: number
Identifikasi sesi pembayaran yang terikat pada tahap tersebut.
contoh: 100
stages[].productId: number
Identifikasi produk yang menjadi milik tahap tersebut.
contoh: 200
stages[].title: string
Judul dari tahap tersebut.
contoh: "Bagian A"
stages[].value: number
Harga dari tahap tersebut.
contoh: 150
stages[].status: "planned" | "completed"
Status tahap: direncanakan - belum dibayar, selesai - sudah dibayar.
contoh: "planned"