REST Resource: externaltransactions

Nguồn: Giao dịch bên ngoài

Chi tiết của một giao dịch bên ngoài.

Biểu diễn dưới dạng JSON
{
  "packageName": string,
  "externalTransactionId": string,
  "originalPreTaxAmount": {
    object (Price)
  },
  "originalTaxAmount": {
    object (Price)
  },
  "currentPreTaxAmount": {
    object (Price)
  },
  "currentTaxAmount": {
    object (Price)
  },
  "testPurchase": {
    object (ExternalTransactionTestPurchase)
  },
  "transactionTime": string,
  "createTime": string,
  "transactionState": enum (TransactionState),
  "userTaxAddress": {
    object (ExternalTransactionAddress)
  },
  "transactionProgramCode": integer,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "oneTimeTransaction": {
    object (OneTimeExternalTransaction)
  },
  "recurringTransaction": {
    object (RecurringExternalTransaction)
  }
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "externalOfferDetails": {
    object (ExternalOfferDetails)
  },
  "externalContentLinkDetails": {
    object (ExternalContentLinkDetails)
  }
  // End of mutually exclusive fields.
}
Trường
packageName

string

Chỉ có đầu ra. Tên tài nguyên của giao dịch bên ngoài. Tên gói của ứng dụng nơi bán sản phẩm trong ứng dụng (ví dụ: "com.some.app").

externalTransactionId

string

Chỉ có đầu ra. Mã số của giao dịch này. Tất cả mã giao dịch trong cùng một tên gói phải là mã riêng biệt. Được đặt khi tạo giao dịch bên ngoài.

originalPreTaxAmount

object (Price)

Bắt buộc. Số tiền giao dịch ban đầu trước thuế. Đây là số tiền trước thuế mà Google nhận được thông báo ban đầu trước khi áp dụng bất kỳ khoản tiền hoàn lại nào.

originalTaxAmount

object (Price)

Bắt buộc. Số tiền thuế ban đầu. Đây là số tiền thuế ban đầu được thông báo cho Google trước khi bất kỳ khoản hoàn thuế nào được áp dụng.

currentPreTaxAmount

object (Price)

Chỉ có đầu ra. Số tiền giao dịch hiện tại trước thuế. Đây là số tiền hiện tại trước thuế, bao gồm cả mọi khoản tiền hoàn lại có thể đã được áp dụng cho giao dịch này.

currentTaxAmount

object (Price)

Chỉ có đầu ra. Số tiền thuế hiện tại. Đây là số tiền thuế hiện tại, bao gồm cả mọi khoản tiền hoàn lại có thể đã được áp dụng cho giao dịch này.

testPurchase

object (ExternalTransactionTestPurchase)

Chỉ có đầu ra. Nếu được đặt, giao dịch này là một giao dịch mua thử nghiệm. Google sẽ không tính phí cho giao dịch thử nghiệm.

transactionTime

string (Timestamp format)

Bắt buộc. Thời điểm giao dịch được hoàn tất.

Hãy dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

createTime

string (Timestamp format)

Chỉ có đầu ra. Thời điểm giao dịch này được tạo. Đây là thời điểm Google được thông báo về giao dịch.

Hãy dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

transactionState

enum (TransactionState)

Chỉ có đầu ra. Trạng thái hiện tại của giao dịch.

userTaxAddress

object (ExternalTransactionAddress)

Bắt buộc. Địa chỉ người dùng để tính thuế.

transactionProgramCode

integer

Không bắt buộc. Mã chương trình giao dịch, được dùng để xác định phí dịch vụ cho các ứng dụng đủ điều kiện tham gia chương trình đối tác. Nhà phát triển tham gia Chương trình trải nghiệm nội dung đa phương tiện của Play (https://play.google.com/console/about/programs/mediaprogram/) phải cung cấp mã chương trình khi báo cáo các giao dịch qua hệ thống thanh toán thay thế. Nếu bạn là nhà phát triển đủ điều kiện, vui lòng liên hệ với BDM để biết thêm thông tin về cách đặt trường này. Lưu ý: bạn không thể dùng trường này cho các giao dịch chào bán bên ngoài.

Loại giao dịch đã được thực hiện. Sau đây là danh sách các trường loại trừ lẫn nhau. Tối đa một trong các trường sẽ được đặt trong phản hồi:
oneTimeTransaction

object (OneTimeExternalTransaction)

Đây là giao dịch một lần và không thuộc gói thuê bao.

recurringTransaction

object (RecurringExternalTransaction)

Giao dịch này là một phần của chuỗi giao dịch định kỳ.

Kết thúc các trường xung khắc.
Thông tin cụ thể về chương trình cần thiết cho báo cáo giao dịch. Các chi tiết này chỉ nên được thiết lập cho chương trình mà giao dịch đó liên kết. Sau đây là danh sách các trường loại trừ lẫn nhau. Tối đa một trong các trường sẽ được đặt trong phản hồi:
externalOfferDetails

object (ExternalOfferDetails)

Không bắt buộc. Thông tin cần thiết để báo cáo chính xác các giao dịch chào bán bên ngoài.

Kết thúc các trường xung khắc.

ExternalTransactionTestPurchase

Loại này không có trường nào.

Thể hiện một giao dịch được thực hiện bằng tài khoản thử nghiệm. Google sẽ không tính phí cho những giao dịch này.

OneTimeExternalTransaction

Đây là giao dịch diễn ra một lần.

Biểu diễn dưới dạng JSON
{
  "externalTransactionToken": string
}
Trường
externalTransactionToken

string

Chỉ có đầu vào. Được cung cấp trong lệnh gọi Tạo. Thông tin này được lấy từ máy khách khi quy trình lập hóa đơn thay thế được khởi chạy.

RecurringExternalTransaction

Biểu thị một giao dịch nằm trong một chuỗi thanh toán định kỳ. Đây có thể là một gói thuê bao hoặc một sản phẩm tính phí một lần có nhiều khoản thanh toán (chẳng hạn như đơn đặt hàng trước).

Biểu diễn dưới dạng JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "initialExternalTransactionId": string,
  "externalTransactionToken": string,
  "migratedTransactionProgram": enum (ExternalTransactionProgram)
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "externalSubscription": {
    object (ExternalSubscription)
  },
  "otherRecurringProduct": {
    object (OtherRecurringProduct)
  }
  // End of mutually exclusive fields.
}
Trường
Sau đây là danh sách các trường loại trừ lẫn nhau. Tối đa một trong các trường sẽ được đặt trong phản hồi:
initialExternalTransactionId

string

Mã giao dịch bên ngoài của giao dịch đầu tiên trong chuỗi giao dịch định kỳ này. Ví dụ: đối với gói thuê bao, đây sẽ là mã giao dịch của khoản thanh toán đầu tiên. Cần thiết khi tạo các giao dịch bên ngoài định kỳ.

externalTransactionToken

string

Chỉ có đầu vào. Được cung cấp trong lệnh gọi Tạo. Được truy xuất từ ứng dụng khi quy trình thanh toán thay thế bắt đầu. Chỉ bắt buộc đối với giao dịch mua ban đầu.

migratedTransactionProgram

enum (ExternalTransactionProgram)

Chỉ có đầu vào. Được cung cấp trong lệnh gọi Tạo. Chỉ được sử dụng khi chuyển đổi gói đăng ký từ báo cáo thủ công hàng tháng sang báo cáo tự động.

Kết thúc các trường xung khắc.
Bắt buộc. Thông tin chi tiết về sản phẩm trong giao dịch định kỳ bên ngoài. Sau đây là danh sách các trường loại trừ lẫn nhau. Tối đa một trong các trường sẽ được đặt trong phản hồi:
externalSubscription

object (ExternalSubscription)

Thông tin chi tiết về gói thuê bao bên ngoài.

otherRecurringProduct

object (OtherRecurringProduct)

Thông tin chi tiết về một sản phẩm giao dịch bên ngoài định kỳ không thuộc bất kỳ danh mục cụ thể nào khác.

Kết thúc các trường xung khắc.

ExternalTransactionProgram

Biểu thị chương trình giao dịch bên ngoài mà người dùng đã trải nghiệm để hoàn tất giao dịch.

Enum
EXTERNAL_TRANSACTION_PROGRAM_UNSPECIFIED Chương trình giao dịch không xác định. Không được sử dụng.
USER_CHOICE_BILLING Phương thức thanh toán do người dùng chọn, trong đó người dùng có thể chọn giữa Google Play Billing và hệ thống thanh toán do nhà phát triển quản lý.
ALTERNATIVE_BILLING_ONLY Chỉ có hệ thống thanh toán thay thế, trong đó người dùng chỉ có thể sử dụng phương thức thanh toán do nhà phát triển quản lý.

ExternalSubscription

Thông tin chi tiết về gói thuê bao bên ngoài.

Biểu diễn dưới dạng JSON
{
  "subscriptionType": enum (SubscriptionType)
}
Trường
subscriptionType

enum (SubscriptionType)

Bắt buộc. Loại gói thuê bao bên ngoài.

SubscriptionType

Các loại hình đăng ký bên ngoài.

Enum
SUBSCRIPTION_TYPE_UNSPECIFIED Không xác định, không sử dụng.
RECURRING Đây là một gói thuê bao định kỳ, trong đó người dùng bị tính phí theo mỗi chu kỳ thanh toán.
PREPAID Đây là một gói thuê bao trả trước, trong đó người dùng thanh toán trước.

OtherRecurringProduct

Loại này không có trường nào.

Thông tin chi tiết về một sản phẩm giao dịch bên ngoài định kỳ không thuộc bất kỳ danh mục cụ thể nào khác.

TransactionState

Trạng thái của giao dịch đang được thực hiện.

Enum
TRANSACTION_STATE_UNSPECIFIED Trạng thái giao dịch chưa xác định. Không được sử dụng.
TRANSACTION_REPORTED Giao dịch đã được báo cáo thành công cho Google.
TRANSACTION_CANCELED Giao dịch đã được hoàn tiền đầy đủ.

ExternalTransactionAddress

Địa chỉ của người dùng cho giao dịch bên ngoài.

Biểu diễn dưới dạng JSON
{
  "regionCode": string,
  "administrativeArea": string
}
Trường
regionCode

string

Bắt buộc. Mã vùng gồm hai chữ cái dựa trên tiêu chuẩn ISO-3166-1 Alpha-2 (mã vùng của Liên Hợp Quốc).

administrativeArea

string

Không bắt buộc. Phân khu hành chính cấp cao nhất của quốc gia/khu vực. Chỉ cần thiết cho các giao dịch tại Ấn Độ. Các giá trị hợp lệ là "ANDAMAN AND NICOBAR ISLANDS", "ANDHRA PRADESH", "ARUNACHAL PRADESH", "ASSAM", "BIHAR", "CHANDIGARH", "CHHATTISGARH", "DADRA AND NAGAR HAVELI", "DADRA AND NAGAR HAVELI AND DAMAN AND DIU", "DAMAN AND DIU", "DELHI", "GOA", "GUJARAT", "HARYANA", "HIMACHAL PRADESH", "JAMMU AND KASHMIR", "JHARKHAND", "KARNATAKA", "KERALA", "LADAKH", "LAKSHADWEEP", "MADHYA PRADESH", "MAHARASHTRA", "MANIPUR", "MEGHALAYA", "MIZORAM", "NAGALAND", "ODISHA", "PUDUCHERRY", "PUNJAB", "RAJASTHAN", "SIKKIM", "TAMIL NADU", "TELANGANA", "TRIPURA", "UTTAR PRADESH", "UTTARAKHAND" và "WEST BENGAL".

ExternalOfferDetails

Thông tin báo cáo dành riêng cho chương trình chào bán bên ngoài.

Biểu diễn dưới dạng JSON
{
  "linkType": enum (ExternalOfferLinkType),
  "installedAppPackage": string,
  "installedAppCategory": enum (ExternalOfferAppCategory),
  "appDownloadEventExternalTransactionId": string
}
Trường
installedAppPackage

string

Không bắt buộc. Tên gói của ứng dụng được tải xuống thông qua giao dịch này. Bắt buộc khi linkType là LINK_TO_APP_DOWNLOAD.

installedAppCategory

enum (ExternalOfferAppCategory)

Không bắt buộc. Danh mục của ứng dụng được tải xuống thông qua giao dịch này. Thông tin này phải khớp với danh mục được cung cấp trong Play Console trong quá trình xác minh ứng dụng bên ngoài. Chỉ bắt buộc đối với lượt tải ứng dụng xuống.

appDownloadEventExternalTransactionId

string

Không bắt buộc. Mã định danh giao dịch bên ngoài liên quan đến sự kiện tải ứng dụng thông qua liên kết bên ngoài. Bắt buộc khi báo cáo các giao dịch được thực hiện trong ứng dụng được cài đặt bên ngoài.

ExternalOfferLinkType

Loại đường liên kết bên ngoài.

Enum

ExternalOfferAppCategory

Danh mục của ứng dụng đã tải xuống. Hãy xem https://support.google.com/googleplay/android-developer/answer/9859673 để biết thêm thông tin về danh mục ứng dụng.

Enum
EXTERNAL_OFFER_APP_CATEGORY_UNSPECIFIED Không xác định, không sử dụng.
APP Ứng dụng được phân loại theo danh mục ứng dụng.
GAME Ứng dụng được phân loại thuộc danh mục trò chơi.

ExternalContentLinkDetails

Thông tin báo cáo dành riêng cho chương trình đường liên kết đến nội dung bên ngoài.

Biểu diễn dưới dạng JSON
{
  "linkType": enum (ExternalContentLinkType),
  "installedAppPackage": string,
  "externalAppCategory": enum (ExternalContentAppCategory)
}
Trường
installedAppPackage

string

Không bắt buộc. Tên gói của ứng dụng được tải xuống thông qua giao dịch này. Chỉ bắt buộc đối với lượt cài đặt ứng dụng.

externalAppCategory

enum (ExternalContentAppCategory)

Không bắt buộc. Danh mục của ứng dụng đã tải xuống. Danh mục này phải khớp với danh mục được cung cấp trong Play Console trong quá trình xác minh ứng dụng bên ngoài. Chỉ bắt buộc đối với lượt cài đặt ứng dụng.

ExternalContentLinkType

Loại đường liên kết bên ngoài.

Enum

ExternalContentAppCategory

Danh mục của ứng dụng đã tải xuống. Hãy xem https://support.google.com/googleplay/android-developer/answer/9859673 để biết thêm thông tin về danh mục ứng dụng.

Enum
EXTERNAL_CONTENT_APP_CATEGORY_UNSPECIFIED Không xác định, không sử dụng.
APP Ứng dụng được phân loại theo danh mục ứng dụng.
GAME Ứng dụng được phân loại thuộc danh mục trò chơi.

Phương thức

createexternaltransaction

Tạo một giao dịch bên ngoài mới.

getexternaltransaction

Lấy một giao dịch bên ngoài hiện có.

refundexternaltransaction

Hoàn tiền toàn bộ hoặc một phần cho một giao dịch bên ngoài hiện có.

Mã lỗi

Các thao tác của tài nguyên này sẽ trả về các mã lỗi HTTP sau:

Mã lỗi Lý do Mô tả Độ phân giải