Method: refund

คืนเงินบางส่วนหรือธุรกรรมทั้งหมดที่เริ่มผ่าน capture ชุดค่าผสมของ requestId ภายในส่วนหัวและ paymentIntegratorAccountId คือคีย์ที่ไม่กําหนดชื่อ ซึ่งระบุธุรกรรมนี้โดยไม่ซ้ํากัน

หากปลายทางพบข้อผิดพลาดขณะประมวลผลคําขอ เนื้อหาการตอบกลับจากปลายทางนี้ควรเป็นประเภท ErrorResponse

ตัวอย่างคําขอมีลักษณะดังนี้


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "liUrreQY233839dfFFb24gaQM",
    "requestTimestamp": "1502220434778"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "captureRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
  "currencyCode": "INR",
  "refundAmount": "208000000"
}

ตัวอย่างคําตอบจะมีลักษณะดังนี้


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "result": "SUCCESS",
  "paymentIntegratorRefundId": "cmVmdW5kIGlkZW50aWZpZXINCg"
}

คำขอ HTTP

POST https://www.integratorhost.example.com/v1/refund

เนื้อหาของคำขอ

เนื้อหาของคําขอมีข้อมูลที่มีโครงสร้างต่อไปนี้

การแสดง JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "captureRequestId": string,
  "currencyCode": string,
  "refundAmount": string
}
ช่อง
requestHeader

object (RequestHeader)

ต้องระบุ: ส่วนหัวร่วมสําหรับคําขอทั้งหมด

paymentIntegratorAccountId

string

ต้องระบุ: รหัสบัญชีของผู้ผสานรวมการชําระเงินที่ระบุข้อจํากัดทางสัญญาเกี่ยวกับธุรกรรมนี้

captureRequestId

string

ต้องระบุ: ตัวระบุที่ไม่ซ้ําสําหรับธุรกรรมนี้ นี่คือ requestId ที่สร้างโดย Google ระหว่างการเรียก capture ที่เชื่อมโยงกับคําขอนี้

currencyCode

string

ต้องระบุ: รหัสสกุลเงิน 3 ตัวอักษรตามมาตรฐาน ISO 4217

refundAmount

string (Int64Value format)

ต้องระบุ: จํานวนเงินที่คืนเป็นจํานวนไมโครบวกของหน่วยสกุลเงิน

เนื้อหาการตอบกลับ

ออบเจ็กต์การตอบกลับสําหรับวิธีการรับเงินคืน

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

การแสดง JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorRefundId": string,
  "result": enum (RefundResultCode),
  "rawResult": {
    object (RawResult)
  }
}
ช่อง
responseHeader

object (ResponseHeader)

ต้องระบุ: ส่วนหัวทั่วไปสําหรับคําตอบทั้งหมด

paymentIntegratorRefundId

string

ไม่บังคับ: ตัวระบุนี้เจาะจงผู้รวมและสร้างโดยผู้ผสานรวมเท่านั้น นี่คือตัวระบุที่ผู้รวมบริการจะทราบการคืนเงินนี้

เพื่อความสะดวก ตัวระบุนี้จะรวมไว้ในรายละเอียดการส่งเงิน

result

enum (RefundResultCode)

ต้องระบุ: ผลของการคืนเงินนี้

rawResult

object (RawResult)

ไม่บังคับ: ผลการคืนเงินคืน ใช้เพื่อช่วยแจ้งเครื่องมือวิเคราะห์และความเสี่ยงของ Google ในสถานการณ์ปฏิเสธการแมปโค้ด บางครั้งข้อมูลอาจสูญหาย ผู้รวมบริการสามารถเลือกที่จะให้โค้ดดิบแก่ Google ตัวอย่างเช่น เกตเวย์บัตรเครดิต (ผู้รวมระบบ) อาจใช้ช่องนี้ในการสื่อสารกับ Google ด้วยรหัสการปฏิเสธที่ได้รับจากเครือข่าย VISA ในกรณีนี้ scope จะเป็น " Visa" และ rawCode จะเป็นอะไรก็ตามที่เครือข่าย VISA แสดงผล

ต้องระบุค่านี้หาก result ไม่ใช่ SUCCESS

รหัสผลลัพธ์การคืนเงิน

รหัสผลลัพธ์ที่ไม่ซ้ํากันจะคืนเงิน

Enum
UNKNOWN_RESULT อย่าตั้งค่าเริ่มต้นนี้!
SUCCESS คืนเงินสําเร็จ
NO_MONEY_LEFT_ON_TRANSACTION v1.refund ล้มเหลว ไม่มีเงินเหลือในการทําธุรกรรม โดยทั่วไปแล้วข้อมูลนี้จะแสดงข้อบกพร่องระหว่างผู้รวมบริการกับ Google Google ไม่ควรขอให้คืนเงินในจํานวนที่สูงกว่าการจับภาพครั้งแรก
ACCOUNT_CLOSED

บัญชีที่ถูกระงับกับผู้ประสานเวลาถูกปิดลง

การส่งคืนค่านี้จะส่งผลให้เครื่องมือของผู้ใช้ถูกปิดด้วย Google ระบบจะบังคับให้ผู้ใช้เพิ่มเครื่องมือใหม่โดยดําเนินการตามขั้นตอนการเชื่อมโยงอีกครั้ง

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

มีการปิดบัญชีของผู้ใช้ที่มีผู้รวมระบบซึ่งจะถือว่าบัญชีถูกยึด

การส่งคืนค่านี้จะส่งผลให้เครื่องมือของผู้ใช้ถูกปิดด้วย Google ระบบจะบังคับให้ผู้ใช้เพิ่มเครื่องมือใหม่โดยดําเนินการตามขั้นตอนการเชื่อมโยงอีกครั้ง

ACCOUNT_CLOSED_FRAUD

บัญชีของผู้ใช้ที่ถูกระงับกับผู้รวมระบบถูกปิดลงเนื่องจากการฉ้อโกง

การส่งคืนค่านี้จะส่งผลให้เครื่องมือของผู้ใช้ถูกปิดด้วย Google ระบบจะบังคับให้ผู้ใช้เพิ่มเครื่องมือใหม่โดยดําเนินการตามขั้นตอนการเชื่อมโยงอีกครั้ง

ACCOUNT_ON_HOLD บัญชีของผู้ใช้ถูกระงับอยู่ในขณะนี้และไม่สามารถยอมรับการคืนเงินได้ แต่บัญชีของผู้ใช้อาจยอมรับการคืนเงินในภายหลัง Google อาจส่งคําขอเงินคืนอีกครั้งในอนาคต แต่จะดําเนินการใหม่กับ requestId ใหม่ ดังนั้นจึงถือว่าคําขอนี้เสร็จสิ้น
REFUND_EXCEEDS_MAXIMUM_BALANCE ดําเนินการคืนเงินไม่ได้ในขณะนี้ เนื่องจากการดําเนินการดังกล่าวจะทําให้ยอดคงเหลือของผู้ใช้เกินจํานวนเงินสูงสุดที่อนุญาต Google อาจส่งคําขอเงินคืนอีกครั้งในอนาคต แต่จะดําเนินการใหม่กับ requestId ใหม่ ดังนั้นจึงถือว่าคําขอนี้เสร็จสิ้น
REFUND_WINDOW_EXCEEDED ดําเนินการคืนเงินไม่ได้เนื่องจากคําขออยู่นอกช่วงเวลาการคืนเงินที่อนุญาต