REST Resource: externaltransactions

Tài nguyên: ExternalTransaction

Thông tin chi tiết về 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,

  // Union field transaction_type can be only one of the following:
  "oneTimeTransaction": {
    object (OneTimeExternalTransaction)
  },
  "recurringTransaction": {
    object (RecurringExternalTransaction)
  }
  // End of list of possible types for union field transaction_type.
}
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ã nhận dạng 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à riêng biệt. Đặ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à bạn đã thông báo cho Google 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ế mà Google đượ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.

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 kiểm thử.

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 tạo giao dịch này. Đây là thời điểm Google nhận đượ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ững 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ể sử dụng trường này cho các giao dịch chào bán bên ngoài.

Trường nhóm transaction_type. Loại giao dịch đã được thực hiện. transaction_type chỉ có thể là một trong những trạng thái sau:
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ỳ.

ExternalTransactionTestPurchase

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

Biểu thị 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

Thể hiện một giao dịch 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 cuộc gọi đến Create. Được truy xuất từ ứng dụng khi quy trình thanh toán thay thế bắt đầu.

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
{

  // Union field source can be only one of the following:
  "initialExternalTransactionId": string,
  "externalTransactionToken": string,
  "migratedTransactionProgram": enum (ExternalTransactionProgram)
  // End of list of possible types for union field source.

  // Union field product_details can be only one of the following:
  "externalSubscription": {
    object (ExternalSubscription)
  },
  "otherRecurringProduct": {
    object (OtherRecurringProduct)
  }
  // End of list of possible types for union field product_details.
}
Trường

Trường nhóm source.

source chỉ có thể là một trong những trạng thái sau:

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. Bắt buộc khi tạo giao dịch bên ngoài định kỳ.

externalTransactionToken

string

Chỉ có đầu vào. Được cung cấp trong cuộc gọi đến Create. Đượ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 cuộc gọi đến Create. Chỉ được dùng khi di chuyển gói thuê bao từ báo cáo hằng tháng theo cách thủ công sang báo cáo tự động.

Trường nhóm product_details. Bắt buộc. Thông tin chi tiết về sản phẩm trong giao dịch bên ngoài định kỳ. product_details chỉ có thể là một trong những trạng thái sau:
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.

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 được chỉ định. Không được 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 hệ thống thanh toán của Google Play và hệ thống thanh toán do nhà phát triển quản lý.
ALTERNATIVE_BILLING_ONLY Chỉ có phương thức thanh toán thay thế, trong đó người dùng chỉ có thể sử dụng phương thức thanh toán do người quản lý nhà phát triển cung cấp.

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 gói thuê bao bên ngoài.

Enum
SUBSCRIPTION_TYPE_UNSPECIFIED Không xác định, không sử dụng.
RECURRING Đây là 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 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ã khu vực gồm 2 chữ cái dựa trên ISO-3166-1 Alpha-2 (mã khu vực 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ỉ bắt buộc đối với các giao dịch ở Ấ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".

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 Độ phân giải
5xx Lỗi chung trong máy chủ Google Play. Hãy thử gửi lại yêu cầu.

Nếu vấn đề vẫn tiếp diễn, hãy liên hệ với người quản lý tài khoản Google Play hoặc gửi yêu cầu hỗ trợ. Hãy cân nhắc kiểm tra Trang tổng quan về trạng thái của Play để xem có sự cố ngừng hoạt động nào đã biết hay không.

409 Lỗi cập nhật đồng thời.

Đã có một nỗ lực cập nhật một đối tượng đang được cập nhật. Ví dụ: giao dịch mua được xác nhận bằng cách gọi phương thức acknowledgePurchase() của Thư viện Play Billing và gọi purchases.products.acknowledge của API Nhà phát triển Play cùng một lúc.

Hãy thử gửi lại yêu cầu.