Method: externaltransactions.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ó.

Yêu cầu HTTP

POST https://androidpublisher.googleapis.com/androidpublisher/v3/{name=applications/*/externalTransactions/*}:refund

URL sử dụng cú pháp Chuyển mã gRPC.

Tham số đường dẫn

Tham số
name

string

Bắt buộc. Tên của giao dịch bên ngoài sẽ được hoàn tiền. Định dạng: applications/{packageName}/externalTransactions/{externalTransaction}

Nội dung yêu cầu

Nội dung yêu cầu chứa dữ liệu với cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "refundTime": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "partialRefund": {
    object (PartialRefund)
  },
  "fullRefund": {
    object (FullRefund)
  }
  // End of mutually exclusive fields.
}
Trường
refundTime

string (Timestamp format)

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

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".

Bắt buộc. Loại hoàn tiền giao dịch 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:
partialRefund

object (PartialRefund)

Hoàn tiền một phần.

fullRefund

object (FullRefund)

Hoàn lại toàn bộ số tiền.

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

Nội dung phản hồi

Nếu thành công, nội dung phản hồi sẽ chứa một thực thể của ExternalTransaction.

Mẫu

Sau đây là một yêu cầu mẫu:

curl \
  -X POST \
  'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.app/externalTransactions/foo:refund' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
  -H 'Content-Type: application/json' \
  -d '{ \
    "partialRefund": { \
      "refundId": "my_refund_id", \
      "refundPreTaxAmount": { \
        "currency": "USD", \
        "priceMicros": "10120000" \
      } \
    }, \
    "refundTime": "2023-10-20T16:43:32.852Z" \
  }'

Sau đây là một phản hồi mẫu:

{
  "externalTransactionId": "1234567890123456789012345678901234567890123456789012345678901234",
  "originalPreTaxAmount": {
    "currency": "USD",
    "priceMicros": "1990000"
  },
  "originalTaxAmount": {
    "currency": "USD",
    "priceMicros": "11400000"
  },
  "packageName": "com.example.app",
  "transactionState": "TRANSACTION_CANCELED",
  "transactionTime": "2023-04-01T12:00:00Z",
  "userTaxAddress": {
    "regionCode": "US"
  },
  "createTime": "2023-04-01T11:55:00Z",
  "currentPreTaxAmount": {
    "currency": "USD",
    "priceMicros": "0"
  },
  "currentTaxAmount": {
    "currency": "USD",
    "priceMicros": "0"
  },
  "testPurchase": {},
  "recurringTransaction": {
    "initialExternalTransactionId": "9876543210987654321098765432109876543210987654321098765432109876",
    "externalSubscription": {
      "subscriptionType": "RECURRING"
    }
  }
}

Phạm vi uỷ quyền

Yêu cầu phạm vi OAuth sau:

  • https://www.googleapis.com/auth/androidpublisher

PartialRefund

Hoàn tiền một phần cho giao dịch.

Biểu diễn dưới dạng JSON
{
  "refundId": string,
  "refundPreTaxAmount": {
    object (Price)
  }
}
Trường
refundId

string

Bắt buộc. Mã định danh duy nhất để phân biệt khoản hoàn tiền một phần này. Nếu giao dịch hoàn tiền thành công, các giao dịch hoàn tiền tiếp theo với cùng mã số sẽ không thành công. Phải là giá trị riêng biệt cho các khoản tiền hoàn lại của một giao dịch riêng lẻ.

refundPreTaxAmount

object (Price)

Bắt buộc. Số tiền trước thuế của khoản hoàn tiền một phần. Phải thấp hơn số tiền còn lại của giao dịch trước thuế.

FullRefund

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

Hoàn tiền toàn bộ số tiền còn lại của một giao dịch.