Tài liệu Steamworks
Hóa đơn định kỳ trong trò chơi

Tổng quan

Lưu ý: Tài liệu này nên được dùng bổ sung cho tài liệu căn bản về mua hàng trong trò chơi. Các API được mô tả ở đây nhằm mở rộng cho API trong bài viết trước đó. Nếu bạn đang tìm gói đăng ký được triển khai trên cửa hàng Steam, xin vui lòng xem Gói đăng ký định kỳ tài liệu để biết thêm thông tin.

Khi bạn tạo một gói đăng ký cho người dùng Steam, bạn cần phải thiết lập hợp đồng hóa đơn với người dùng trong đó mô tả điều khoản thanh toán. Người dùng phải đồng ý với điều khoản trước khi quy trình hóa đơn có thể bắt đầu. Quy trình xử lý thanh toán có thể được thực hiện bởi chính hệ thống hóa đơn của trò chơi, hệ thống này liên lạc với backend Steam để xử lý việc thanh toán thực tế.

Kết quả thanh toán có thể được lấy về qua API giao dịch phụ hoặc truy vấn trạng thái trên người dùng đơn lẻ hoặc phân tích báo cáo quyết toán có chứa tất cả thanh toán của mọi người dùng.

Thiết lập hợp đồng hóa đơn

Dùng API web ISteamMicroTxn/InitTxn để xác định hợp đồng hóa đơn định kỳ. Hợp đồng này được tạo tương tự như việc bán vật phẩm trong trò chơi trên Steam nhưng cần thêm thông tin để định nghĩa nó. Thiết lập hợp đồng có thể thực hiện như một sự kiện bán hàng độc lập hoặc trong giỏ hàng như bất kỳ vật phẩm trong trò chơi nào khác mà người dùng muốn mua. Nếu giao dịch được Steam chấp nhận, người dùng sẽ được báo để duyệt hợp đồng, và API sẽ phản hồi bằng cách trả về một ID 64-bit độc nhất đại diện cho hợp đồng hóa đơn. Nếu một lỗi được trả về thì vấn đề này cần phải được sửa sai và gửi đi một yêu cầu mới. Khi được chấp thuận, bạn nên dùng API web ISteamMicroTxn/FinalizeTxn để hoàn thành hợp đồng.

Hệ thống hóa đơn của trò chơi triển khai thanh toán định kỳ. Điều này cho phép khoản thanh toán và thời gian xử lý được linh hoạt hơn. Trong trường hợp này, máy chủ hóa đơn của trò chơi sẽ dùng API ISteamMicroTxn/ProcessAgreement để khởi tạo thanh toán và chỉ định mức tiền. Dùng cách này trong các trường hợp bạn muốn điều chỉnh mức thanh toán theo thời gian hoặc phát hành tín dụng.

Một người dùng chỉ nên có một hợp đồng hóa đơn cho mỗi trò chơi. Bạn có thể tạo một hợp đồng hóa đơn mới cho người dùng bất kỳ lúc nào, nhưng mọi hợp đồng hóa đơn trước đó sẽ bị vô hiệu khi hoàn thành lệnh gọi ISteamMicroTxn/FinalizeTxn. Mỗi hợp đồng hóa đơn sẽ được trao một ID 64-bit độc nhất mà bạn có thể dùng để tham khảo, nhưng chỉ có hợp đồng gần đây nhất mới được phép xử lý thanh toán.

Người dùng có thể chọn hủy hợp đồng vào bất kỳ lúc nào từ trong thiết lập tài khoản Steam của họ. Thông báo hủy hợp đồng sẽ được thực hiện qua API web ISteamMicroTxn/GetReport.

Các API web bổ sung cho thanh toán định kỳ là:

Trạng thái nhận

Trạng thái thanh toán cho hợp đồng hóa đơn có thể được lấy bởi hai API web sau:
  • ISteamMicroTxn/GetUserAgreementInfo - Được dùng để lấy thông tin chi tiết về mọi hợp đồng cho một người dùng, áp dụng cho trò chơi của bạn, bao gồm lần thanh toán gần nhất và thời điểm thanh toán tiếp theo.
  • ISteamMicroTxn/GetReport – API này hiện mọi giao dịch liên quan đến trò chơi của bạn, bao gồm cả những giao dịch tạo ra bởi hợp đồng hóa đơn. Thêm vào đó, vì người dùng có thể hủy và làm mới đăng ký từ bên trong tài khoản Steam của họ, trò chơi có thể nhận thông báo về các hành động đó qua API này.