VietBilling
VietBilling Docs

Customers

Hướng dẫn tạo Customer idempotent qua Public API, ánh xạ với User ID nội bộ và lưu customer_id vào database để liên kết toàn bộ giao dịch về sau.

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ườngMục đích
external_idID ổn định từ hệ thống của bạn
emailNhận diện và liên hệ thanh toán
nameTê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.