- Yêu cầu HTTP
- Tham số đường dẫn
- Nội dung yêu cầu
- Nội dung phản hồi
- Phạm vi uỷ quyền
- PartialRefund
- FullRefund
- Hãy làm thử!
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 |
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 ( |
| Trường | |
|---|---|
refundTime |
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ụ: |
| 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 |
Hoàn tiền một phần. |
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 ( |
| Trường | |
|---|---|
refundId |
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 |
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.