- คำขอ HTTP
- พารามิเตอร์เส้นทาง
- เนื้อหาคำขอ
- เนื้อหาการตอบกลับ
- ขอบเขตการให้สิทธิ์
- PartialRefund
- FullRefund
- ลองใช้งาน
คืนเงินหรือคืนเงินบางส่วนสำหรับการทำธุรกรรมภายนอกที่มีอยู่
คำขอ HTTP
POST https://androidpublisher.googleapis.com/androidpublisher/v3/{name=applications/*/externalTransactions/*}:refund
URL ใช้ไวยากรณ์การแปลงรหัส gRPC
พารามิเตอร์เส้นทาง
| พารามิเตอร์ | |
|---|---|
name |
ต้องระบุ ชื่อของการทำธุรกรรมภายนอกที่จะคืนเงิน รูปแบบ: applications/{packageName}/externalTransactions/{externalTransaction} |
เนื้อหาคำขอ
เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
| การแสดง 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 ( |
| ช่อง | |
|---|---|
refundTime |
ต้องระบุ เวลาที่คืนเงินสำหรับการทำธุรกรรม ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น |
| ต้องระบุ ประเภทการคืนเงินสำหรับการทำธุรกรรมภายนอก รายการต่อไปนี้คือรายการช่องที่ใช้ร่วมกันไม่ได้ ระบบจะตั้งค่าช่องอย่างน้อย 1 ช่องในการตอบกลับ | |
partialRefund |
การคืนเงินบางส่วน |
fullRefund |
การคืนเงินเต็มจำนวน |
| สิ้นสุดช่องที่ใช้ร่วมกันไม่ได้ | |
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ ExternalTransaction
ตัวอย่าง
ตัวอย่างคำขอมีดังนี้
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" \ }'
ตัวอย่างการตอบกลับมีดังนี้
{ "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" } } }
ขอบเขตการให้สิทธิ์
ต้องใช้ขอบเขต OAuth ต่อไปนี้
https://www.googleapis.com/auth/androidpublisher
PartialRefund
การคืนเงินบางส่วนสำหรับการทำธุรกรรม
| การแสดง JSON |
|---|
{
"refundId": string,
"refundPreTaxAmount": {
object ( |
| ช่อง | |
|---|---|
refundId |
ต้องระบุ รหัสที่ไม่ซ้ำกันเพื่อแยกความแตกต่างของการคืนเงินบางส่วนนี้ หากการคืนเงินสำเร็จ การคืนเงินครั้งต่อๆ ไปที่มีรหัสเดียวกันจะล้มเหลว ต้องไม่ซ้ำกันในการคืนเงินสำหรับการทำธุรกรรมแต่ละรายการ |
refundPreTaxAmount |
ต้องระบุ จำนวนเงินก่อนภาษีของการคืนเงินบางส่วน ควรน้อยกว่าจำนวนเงินก่อนภาษีที่เหลืออยู่ของการทำธุรกรรม |
FullRefund
ประเภทนี้ไม่มีช่อง
การคืนเงินเต็มจำนวนที่เหลืออยู่ของการทำธุรกรรม