Lewati ke konten utama

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"