กรณีข้อผิดพลาด

ในกรณีที่เกิดข้อผิดพลาด DPA จะแจ้งรหัสสถานะ HTTP พร้อมกับการตอบกลับ HTTP ว่าต้องระบุออบเจ็กต์ JSON พร้อมข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาด เนื้อหาการตอบกลับข้อผิดพลาดต้องมีอินสแตนซ์ของ ErrorResponse

{
  "errorMessage": string,
  "cause": enum(ErrorCause)
}

การตอบกลับข้อผิดพลาด DPA ต้องเป็นไปตามสิ่งต่อไปนี้

  • ขณะนี้ผู้ใช้กําลังโรมมิ่งและปิดใช้คําค้นหา DPA สําหรับผู้ใช้รายนี้ DPA แสดงข้อผิดพลาด 403 โดยมี USER_ROAMING เป็นสาเหตุของข้อผิดพลาด
  • DPA แสดงรหัสข้อผิดพลาด 404 NOT_FOUND ซึ่งระบุไปยัง GTAF ว่าคีย์ผู้ใช้ไม่ถูกต้อง (เช่น คีย์ผู้ใช้ไม่มีอยู่) พร้อมด้วย INVALID_NUMBER
  • DPA ส่งคืนรหัสข้อผิดพลาด 410 GONE ด้วย BAD_CPID เนื่องจากข้อผิดพลาดแจ้ง GTAF ว่าไคลเอ็นต์ควรมีคีย์ผู้ใช้ใหม่หาก key_type = CPID และ CPID หมดอายุแล้ว
  • DPA แสดงรหัสข้อผิดพลาด 501 NOT_IMPLATEDED ซึ่งระบุว่าไม่รองรับการโทรที่มีข้อผิดพลาด SERVICE_UNAVAILABLE
  • DPA ส่งคืนข้อผิดพลาด 429 TOO MANY REQUESTS ร่วมกับ TOO_MANY_REQUESTS โดยส่วนหัว Try-After บ่งชี้ว่า GTAF ส่งคําขอไปยัง DPA มากเกินไป
  • DPA แสดงข้อผิดพลาด 409 CONFLICT ซึ่งระบุว่ามีการดําเนินการตามคําขอไม่ได้เนื่องจากมีความขัดแย้งกับสถานะปัจจุบันของ DPA
  • ไม่สามารถใช้บริการได้ชั่วคราว DPA แสดงบริการ 503 ที่ไม่พร้อมใช้งานพร้อมส่วนหัว "ลองอีกครั้งหลังจาก" ซึ่งระบุว่าจะแสดงคําขอใหม่ได้เมื่อใด
  • DPA ส่งคืนรหัสข้อผิดพลาด 500 เซิร์ฟเวอร์ภายในสําหรับข้อผิดพลาดอื่นๆ ทั้งหมดที่ไม่ได้ระบุไว้ ERROR_CAUSE_UNSPECIFIED ซึ่งเป็นสาเหตุของข้อผิดพลาด

ในกรณีที่พบข้อผิดพลาดระหว่างการซื้อ รหัสข้อผิดพลาดต่อไปนี้จะแสดงผลลัพธ์การทําธุรกรรมที่ล้มเหลว

  • DPA แสดงรหัสข้อผิดพลาด 400 ป้ายคําขอ ซึ่งระบุไปยัง GTAF ว่ารหัสแพ็กเกจที่ซื้อไม่ถูกต้อง
  • DPA แสดงรหัสข้อผิดพลาด 402 สําหรับการชําระเงินที่จําเป็น ซึ่งระบุให้ GTAF ทราบว่าผู้ใช้มียอดคงเหลือไม่เพียงพอสําหรับการซื้อ
  • DPA แสดงรหัสข้อผิดพลาด 409 CONFLICT แก่ GTAF ว่าแพ็กเกจที่ซื้อนั้นเข้ากันไม่ได้กับส่วนผสมผลิตภัณฑ์ปัจจุบันของผู้ใช้ ตัวอย่างเช่น หากนโยบายแผนข้อมูลผู้ให้บริการไม่อนุญาตให้ใช้แผนแบบชําระล่วงหน้าและแบบชําระเงินล่วงหน้าร่วมกัน การพยายามซื้อแพ็กเกจแบบชําระเงินล่วงหน้าสําหรับผู้ใช้แบบชําระเงินภายหลังจะทําให้เกิดข้อผิดพลาด 409
  • DPA ส่งคืนรหัสข้อผิดพลาด 403 FORBIDDEN แก่ GTAF ว่าธุรกรรมปัจจุบันเป็นรายการซ้ําจากธุรกรรมที่ออกก่อนหน้านี้ DPA ควรส่งข้อผิดพลาดต่อไปนี้ในการตอบกลับ
    • หากธุรกรรมก่อนหน้าล้มเหลว ข้อผิดพลาดจะแสดงสาเหตุของความล้มเหลว
    • หากธุรกรรมก่อนหน้านี้เสร็จสมบูรณ์ DUPLICATE_TRANSACTION
    • หากธุรกรรมก่อนหน้านี้ยังคงอยู่ในคิว REQUEST_QUEUED