Skip to content
Translated page. The English version is the source of truth.

GET /apiv2/billing/usage ​

Các khoản phí trả sau của bạn: một dòng cho mỗi thành phần có thể tính phí riêng biệt của một đơn hàng, mới nhất hiển thị trước. Một dòng xuất hiện sau khi dịch vụ đã được cung cấp và ghi nhận, có thể muộn hơn thời gian phản hồi của đơn hàng. Sử dụng nó để đối soát các đơn hàng với công nợ và với hóa đơn. Một phần của thanh toán trả sau.

URL của Endpoint ​

GET https://netts.io/apiv2/billing/usage

Headers của yêu cầu ​

HeaderBắt buộcMô tả
X-API-KEYcóKhóa API với quyền billing.read
X-Real-IPcóMột địa chỉ IP nằm trong danh sách trắng của khóa

Tham số truy vấn ​

Tham sốBắt buộcMô tả
fromkhôngcác khoản phí từ thời điểm này, ISO 8601 kèm múi giờ: 2026-10-01T00:00:00Z
tokhôngcác khoản phí trước thời điểm này, cùng định dạng
limitkhôngsố dòng trên mỗi trang, 1–500, mặc định là 100
cursorkhôngnextCursor từ trang trước đó

Thời gian không có múi giờ sẽ bị từ chối với lỗi 400 invalid_request — khoảng thời gian sẽ không rõ ràng.

Ví dụ ​

bash
curl -s 'https://netts.io/apiv2/billing/usage?from=2026-10-01T00:00:00Z&limit=2' \
  -H 'X-API-KEY: your-api-key' \
  -H 'X-Real-IP: 203.0.113.10'
json
{
  "success": true,
  "data": {
    "items": [
      {
        "id": 1024,
        "orderId": "AB2EF201B582AA1",
        "productCode": "energy_1h",
        "address": "TXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "quantity": 65000,
        "unitPriceSun": "20.000000",
        "discount": null,
        "amountTrx": "1.300000",
        "amountUsdc": "0.430096",
        "usdPerTrx": "0.330842760000000000",
        "quoteId": null,
        "txHash": "5c1f0e0d3a2b4c6d8e9f0a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f",
        "fulfilledAt": "2026-10-19T10:11:42.563494+00:00",
        "status": "accrued",
        "paidTrx": "0.000000",
        "paidUsdc": "0.000000",
        "invoiceId": null,
        "reversesId": null
      }
    ],
    "nextCursor": 1023
  },
  "timestamp": "2026-10-19T20:31:10+00:00"
}

Một khoản phí ​

TrườngMô tả
idmã số khoản phí
orderIdđơn hàng mà khoản phí này trực thuộc — cùng mã id mà endpoint đơn hàng đã trả về
productCodeenergy_1h, energy_5m, bandwidth, activation hoặc aml_check
addressđịa chỉ TRON dành cho đơn hàng
quantitysố lượng đơn vị Energy hoặc Bandwidth, hoặc 1 cho một lượt kích hoạt hay một lượt kiểm tra
unitPriceSunđơn giá theo SUN mà bạn bị tính phí, đã bao gồm mức giá cá nhân của bạn; null đối với các sản phẩm được định giá theo từng đơn hàng
discountkhoản chiết khấu riêng cho đơn hàng này — type là percent hoặc sun_per_unit và value tương ứng — hoặc null
amountTrx, amountUsdcsố tiền được ghi nhận của thành phần này, theo TRX và theo loại tiền tệ trong hợp đồng của bạn
usdPerTrxtỷ giá từ TRX sang loại tiền tệ trong hợp đồng của bạn được ghi nhận cho thành phần này: lấy từ báo giá của nó nếu báo giá đã cố định số tiền, nếu không thì lấy tại thời điểm dịch vụ được cung cấp
quoteIdbáo giá mà đơn hàng đã sử dụng, nếu có
txHashgiao dịch TRON của thành phần này, khi có phát sinh
fulfilledAtthời điểm thành phần này được cung cấp, theo chuẩn UTC
statusaccrued — chưa xuất hóa đơn; invoiced; paid; reversed — đã bị hủy bỏ bởi một điều chỉnh sau đó
paidTrx, paidUsdcsố tiền của khoản phí đã được thanh toán, theo TRX và theo loại tiền tệ trong hợp đồng của bạn
invoiceIdhóa đơn chứa khoản phí này
reversesIdđối với một dòng điều chỉnh: là khoản phí mà nó hủy bỏ

Một đơn hàng có Energy và kích hoạt sẽ có hai dòng, mỗi phần một dòng. Một điều chỉnh không bao giờ chỉnh sửa một dòng cũ: nó thêm một dòng mới với reversesId.

Phân trang ​

Gửi giá trị nextCursor dưới dạng tham số cursor để lấy trang tiếp theo, cũ hơn. nextCursor sẽ là null ở trang cuối cùng.

Lỗi ​

HTTPcodeÝ nghĩa
400invalid_requestsai tham số, hoặc from/to không có múi giờ
401-1, -2khóa bị thiếu hoặc không hợp lệ, hoặc IP không nằm trong danh sách trắng — được phản hồi bởi cổng API gateway, xem định dạng phản hồi
403billing_read_required, postpaid_requiredkhông có quyền, hoặc không có tính năng thanh toán trả sau