Customers
Tạo customer idempotent và ánh xạ với người dùng trong ứng dụng.
Một customer cho mỗi tài khoản billing
Bạn có thể tạo Customer trước Checkout hoặc để Checkout tự resolve/tạo. Dùng ID tài khoản trong ứng dụng làm external_id ổn định để tránh tạo trùng.
const customer = await fetch(
`${apiUrl}/public/v2/customers`,
{
method: "POST",
headers: apiHeaders,
body: JSON.stringify({
external_id: account.id,
email: account.ownerEmail,
name: account.name,
}),
},
).then((res) => res.json())
Lưu ánh xạ
Lưu customer.data.id cạnh billing account nội bộ. Email của Customer active và external_id là duy nhất trong Organization, nhưng external_id vẫn nên là ánh xạ ổn định.
| Trường | Mục đích |
|---|---|
external_id | ID ổn định từ hệ thống của bạn |
email | Nhận diện và liên hệ thanh toán |
name | Tên người dùng hoặc tổ chức |
Idempotency
Nếu request bị timeout, tra cứu ánh xạ đã lưu trước khi tạo lại. Hệ thống của bạn nên bảo đảm mỗi billing account chỉ được gắn với một VietBilling customer.