Method: remittanceStatementDetails

ข้อมูลรายละเอียดธุรกรรมการคืนสินค้าเกี่ยวกับใบแจ้งยอดการส่งเงิน

นี่คือ API ที่มีการแบ่งหน้า คุณระบุจํานวนเหตุการณ์ธุรกรรมต่อหน้าได้ด้วย numberOfEvents หากไม่ได้ระบุ ระบบจะแสดงผลเหตุการณ์สูงสุด 1, 000 รายการต่อหน้า คำขอแต่ละรายการที่ส่งไปยัง API นี้จะแสดง nextEventOffset ซึ่งชี้ไปยังเหตุการณ์ธุรกรรมถัดไปในใบแจ้งยอด รวมถึง totalEvents ที่ระบุจำนวนธุรกรรมทั้งหมดในใบแจ้งยอด หากหน้าเว็บที่ดึงข้อมูลปัจจุบันมีธุรกรรมล่าสุดของใบแจ้งยอด nextEventOffset จะไม่อยู่ในการตอบกลับ

ค่า statementId คือ requestId จาก remittanceStatementNotificationRequest

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

การตอบกลับการค้นหานี้อาจว่างเปล่าหากเมธอดนี้ไม่แสดงผล HTTP 200 เนื้อหาการตอบกลับจะว่างเปล่าในกรณีที่ใช้ ErrorResponse ที่มีคำอธิบายชัดเจนเพื่อช่วยให้ผู้โจมตีเข้าใจตัวระบุบัญชีผู้ให้บริการชำระเงินของผู้ให้บริการรายอื่น ในกรณีที่คีย์การลงนามไม่ตรงกัน ไม่พบตัวระบุผู้ให้บริการชำระเงิน หรือไม่รู้จักคีย์การเข้ารหัส วิธีนี้จะแสดงผล HTTP 404 ที่มีเนื้อหาว่างเปล่า หากตรวจสอบลายเซ็นคำขอได้ ระบบจะแสดงข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดในเนื้อหาการตอบกลับ

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


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "statement_detail_request_139932019",
    "requestTimestamp": "1502551332087"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "statementId": "0123434-statement-abc",
  "numberOfEvents": 4
}

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


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "eventOffset": 0,
  "nextEventOffset": 4,
  "totalEvents": 15,
  "remittanceStatementSummary": {
    "statementDate": "1502521200000",
    "billingPeriod": {
      "startDate": "1502434800000",
      "endDate": "1502434800000"
    },
    "dateDue": "1502348400000",
    "currencyCode": "INR",
    "totalDueByIntegrator": "1076000000",
    "remittanceInstructions": {
      "memoLineId": "stmt-1AB-pp0-invisi"
    }
  },
  "captureEvents": [
    {
      "eventRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
      "paymentIntegratorEventId": "ioj32SOIjf23oijSDfoij",
      "eventCharge": "700000000",
      "eventFee": "-28000000"
    },
    {
      "eventRequestId": "Ggghvh78200PQ3Yrpb",
      "paymentIntegratorEventId": "iasdf23dSdfijSDfoij",
      "eventCharge": "800000000",
      "eventFee": "-32000000"
    }
  ],
  "refundEvents": [
    {
      "eventRequestId": "liUrreQY233839dfFFb24gaQM",
      "paymentIntegratorEventId": "asd3SDf3f3oijSDfoij",
      "eventCharge": "-200000000",
      "eventFee": "8000000"
    },
    {
      "eventRequestId": "IIghhhUrreQY233839II9qM==",
      "paymentIntegratorEventId": "DFjidoso12FSDFSDE",
      "eventCharge": "-150000000",
      "eventFee": "6000000"
    }
  ]
}

คำขอ HTTP

POST https://vgw.googleapis.com/secure-serving/gsp/v1/remittanceStatementDetails/:PIAID

เนื้อความของคำขอ

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

การแสดง JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "statementId": string,
  "eventOffset": integer,
  "numberOfEvents": integer
}
ช่อง
requestHeader

object (RequestHeader)

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

paymentIntegratorAccountId

string

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

statementId

string

ต้องระบุ: รหัสคำขอของการแจ้งเตือนใบแจ้งยอด

eventOffset

integer

ไม่บังคับ: เหตุการณ์การคืนสินค้าที่เริ่มต้นที่ออฟเซ็ตนี้ ควรตั้งค่าเป็น nextEventOffset หากมีการส่งคืน หรือปล่อยไว้โดยไม่ต้องระบุหากนี่เป็นคำขอแรก หาก eventOffset เป็น 0 ระบบจะแสดงกิจกรรมโดยเริ่มจากกิจกรรมแรก หากเป็น 2 ระบบจะแสดงกิจกรรมโดยเริ่มจากกิจกรรมที่ 3 หากไม่ระบุ ระบบจะถือว่า eventOffset เป็น 0

numberOfEvents

integer

ไม่บังคับ: จำนวนเหตุการณ์ที่จะแสดงต่อหน้า หากไม่ได้ระบุหรือมากกว่า 1,000 ค่านี้จะเป็น 1,000

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

ออบเจ็กต์การตอบกลับสำหรับเมธอดรายละเอียดใบแจ้งยอดการส่งเงิน

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

การแสดง JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "remittanceStatementSummary": {
    object (RemittanceStatementSummary)
  },
  "eventOffset": integer,
  "nextEventOffset": integer,
  "totalEvents": integer,
  "totalWithholdingTaxes": string,
  "captureEvents": [
    {
      object (Event)
    }
  ],
  "refundEvents": [
    {
      object (Event)
    }
  ],
  "reverseRefundEvents": [
    {
      object (Event)
    }
  ],
  "chargebackEvents": [
    {
      object (Event)
    }
  ],
  "reverseChargebackEvents": [
    {
      object (Event)
    }
  ],
  "adjustmentEvents": [
    {
      object (Event)
    }
  ]
}
ช่อง
responseHeader

object (ResponseHeader)

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

remittanceStatementSummary

object (RemittanceStatementSummary)

ต้องระบุ: ข้อมูลสรุปของใบแจ้งยอดการส่งเงินนี้

eventOffset

integer

ต้องระบุ: ออฟเซ็ตเหตุการณ์ของการตอบกลับนี้

nextEventOffset

integer

ไม่บังคับ: ออฟเซ็ตของเหตุการณ์ถัดไปที่จะแสดง หากไม่ได้ระบุไว้ แสดงว่าไม่มีกิจกรรมที่จะดึงข้อมูลสำหรับใบแจ้งยอดนี้อีก

totalEvents

integer

ต้องระบุ: จํานวนเหตุการณ์ทั้งหมดในใบแจ้งยอดนี้

totalWithholdingTaxes

string (Int64Value format)

ต้องระบุ: ผลรวมของภาษีทั้งหมดที่หัก ณ ที่จ่ายสำหรับใบแจ้งยอดนี้

ค่านี้อยู่ในหน่วยไมโคร

captureEvents[]

object (Event)

ต้องระบุ: ชุดเหตุการณ์การจับภาพ

refundEvents[]

object (Event)

ต้องระบุ: ชุดเหตุการณ์การคืนเงิน

reverseRefundEvents[]

object (Event)

ไม่บังคับ: ชุดเหตุการณ์การคืนเงินย้อนกลับ

chargebackEvents[]

object (Event)

ไม่บังคับ: ชุดเหตุการณ์การปฏิเสธการชำระเงิน

reverseChargebackEvents[]

object (Event)

ไม่บังคับ: ชุดเหตุการณ์การคืนเงินให้ผู้ขาย

adjustmentEvents[]

object (Event)

ไม่บังคับ: ชุดเหตุการณ์การปรับ Google อาจเพิ่มเหตุการณ์การปรับตามที่เห็นสมควรเพื่อปรับความคลาดเคลื่อนในการเรียกเก็บเงิน เช่น หากมีการคำนวณค่าธรรมเนียมต่ำกว่าที่ควรจะเป็นสำหรับธุรกรรมก่อนหน้าชุดหนึ่ง ก็อาจใช้การปรับเพื่อชดเชยให้ผู้ให้บริการผสานรวม

RemittanceStatementSummary

ออบเจ็กต์สรุปเกี่ยวกับใบแจ้งยอดการส่งเงิน

การแสดง JSON
{
  "statementDate": string,
  "billingPeriod": {
    object (BillingPeriod)
  },
  "dateDue": string,
  "currencyCode": string,
  "totalDueByIntegrator": string,
  "remittanceInstructions": {
    object (RemittanceInstructions)
  }
}
ช่อง
statementDate

string (int64 format)

ต้องระบุ: วันที่ (ในอเมริกา/ลอสแอนเจลิส) ที่สร้างใบแจ้งยอดนี้

billingPeriod

object (BillingPeriod)

ต้องระบุ: ช่วงเวลาที่เรียกเก็บเงินที่ใบแจ้งยอดนี้ครอบคลุม

dateDue

string (int64 format)

ไม่บังคับ: วันที่ครบกำหนดชำระเงิน โดยจะแสดงเป็นมิลลิวินาทีตั้งแต่ Epoch ซึ่งเป็นวันที่ (และจะเริ่มต้นที่มิลลิวินาทีแรกของวันในเขตเวลาการเรียกเก็บเงินเสมอ)

โดยจะตั้งค่านี้ตราบใดที่ totalDueByIntegrator มีค่ามากกว่า 0

currencyCode

string

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

totalDueByIntegrator

string (Int64Value format)

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

remittanceInstructions

object (RemittanceInstructions)

ต้องระบุ: รายละเอียดเกี่ยวกับวิธีส่งการชำระเงิน

BillingPeriod

ช่วงเวลาที่เรียกเก็บเงินของใบแจ้งยอดนี้

การแสดง JSON
{
  "startDate": string,
  "endDate": string
}
ช่อง
startDate

string (int64 format)

ต้องระบุ: วันที่เริ่มต้นของช่วงเวลาที่เรียกเก็บเงิน โดยจะแสดงเป็นมิลลิวินาทีตั้งแต่ Epoch ซึ่งเป็นวันที่ (และจะเริ่มต้นที่มิลลิวินาทีแรกของวันในเขตเวลาการเรียกเก็บเงินเสมอ)

นี่คือมิลลิวินาทีแรกของวันในช่วงเวลาที่เรียกเก็บเงิน 00:00:00.000

endDate

string (int64 format)

ต้องระบุ: วันที่สิ้นสุดของช่วงเวลาที่เรียกเก็บเงิน โดยแสดงเป็นมิลลิวินาทีจาก Epoch

นี่คือมิลลิวินาทีสุดท้ายของวันสุดท้ายของช่วงเวลาที่เรียกเก็บเงิน ซึ่งก็คือ 23:59:59.999

RemittanceInstructions

โครงสร้างที่มีข้อมูลเกี่ยวกับวิธีชำระเงินสำหรับการแจ้งเตือนการส่งเงินนี้

การแสดง JSON
{
  "memoLineId": string
}
ช่อง
memoLineId

string

ต้องระบุ: ตัวระบุที่ต้องระบุในบรรทัดบันทึกสำหรับการชำระเงินเพื่อการระบุการโอนเงิน

กิจกรรม

โครงสร้างที่แสดงถึงเหตุการณ์เดียวที่รวมอยู่ในใบแจ้งยอดการส่งเงิน

การแสดง JSON
{
  "eventRequestId": string,
  "paymentIntegratorEventId": string,
  "eventCharge": string,
  "eventFee": string,
  "presentmentChargeAmount": string,
  "presentmentCurrencyCode": string,
  "exchangeRate": string,
  "nanoExchangeRate": string
}
ช่อง
eventRequestId

string

ต้องระบุ: สำหรับเหตุการณ์การจับจ่ายหรือการคืนเงิน นี่จะเป็น requestId ที่ Google ส่งพร้อมกับคำขอ สำหรับเหตุการณ์การคืนเงินแบบย้อนกลับ การปฏิเสธการชำระเงิน และการคืนเงินให้ผู้ขาย ค่านี้จะเป็น requestId ที่ผู้ให้บริการชำระเงินส่งมาพร้อมกับการแจ้งเตือนเหตุการณ์นั้น สำหรับการปรับ นี่จะเป็นรหัสที่ไม่ซ้ำกันซึ่ง Google กำหนดให้กับเหตุการณ์การปรับ

paymentIntegratorEventId

string

ต้องระบุ: รหัสที่ผู้ให้บริการชำระเงินส่งคืนสำหรับเหตุการณ์นี้ สำหรับการจับภาพ นี่คือ paymentIntegratorTransactionId จากการตอบกลับการเรียกใช้ capture สำหรับการคืนเงิน นี่คือ paymentIntegratorRefundId จากการตอบกลับการเรียกใช้ refund

ฟิลด์นี้มีความยาวที่เปลี่ยนแปลงได้ เนื่องจากผู้ให้บริการผสานรวมจะแสดงรหัสใดก็ตามที่คุณระบุสําหรับเหตุการณ์นี้ที่นี่ หากผู้ผสานรวมไม่ได้ระบุค่าสำหรับเหตุการณ์ที่เกี่ยวข้อง ช่องนี้จะมีค่าเดียวกับช่อง eventRequestId

สำหรับเหตุการณ์การคืนเงินแบบย้อนกลับ การปฏิเสธการชำระเงิน และการคืนเงินให้ผู้ขาย ค่านี้จะเป็น requestId ที่ผู้ให้บริการชำระเงินส่งมาพร้อมกับการแจ้งเตือนเหตุการณ์

ความยาวและรูปแบบของฟิลด์นี้ขึ้นอยู่กับฟิลด์แหล่งที่มาของรหัสแต่ละรายการ ดูรายละเอียดเกี่ยวกับข้อกำหนดด้านความยาวและชุดอักขระของฟิลด์แหล่งที่มาแต่ละรายการได้ในเอกสารประกอบ โปรดทราบว่าบางครั้งฟิลด์นี้อาจมีรหัสที่ Google สร้างขึ้น ซึ่งอาจมีข้อกำหนดความยาวสูงสุดแตกต่างจากรหัสที่ผู้ผสานรวมสร้างขึ้น

eventCharge

string (Int64Value format)

ต้องระบุ: ในรหัสสกุลเงินที่กำหนดโดยใบแจ้งยอด หากค่านี้เป็นค่าลบ แสดงว่ามูลค่าทางการเงินย้ายจาก Google ไปยังผู้ให้บริการชำระเงิน หากเป็นบวก แสดงว่าเป็นเงินจากผู้ให้บริการชำระเงินที่ Google เป็นผู้รับ

เช่น ธุรกรรมการบันทึกจะแสดงเป็นค่าบวกเสมอ และธุรกรรมการคืนเงินจะแสดงเป็นค่าลบเสมอ เหตุการณ์การคืนเงินย้อนกลับและการคืนเงินให้ผู้ขายจะเป็นค่าบวกเสมอ เหตุการณ์การปฏิเสธการชำระเงินจะเป็นค่าลบเสมอ

ค่านี้อยู่ในหน่วยไมโคร

eventFee

string (Int64Value format)

ต้องระบุ: ในรหัสสกุลเงินที่กำหนดโดยใบแจ้งยอด หากค่านี้เป็นค่าลบ แสดงว่ามูลค่าทางการเงินย้ายจาก Google ไปยังผู้ให้บริการชำระเงิน หากเป็นบวก แสดงว่าเป็นเงินจากผู้ให้บริการชำระเงินที่ Google เป็นผู้รับ

ตัวอย่างเช่น หากข้อตกลงระบุว่า Google จะจ่าย 1% ของ transactionCharge ให้กับผู้ให้บริการชำระเงิน และจะยกเลิก 1% นั้นเมื่อมีการคืนเงินสำหรับธุรกรรมดังกล่าว ค่าธรรมเนียมการจับจ่ายจะเป็นค่าลบ และเมื่อมีการคืนเงิน ค่าธรรมเนียมการคืนเงินจะเป็นค่าบวก

ค่านี้อยู่ในหน่วยไมโคร

presentmentChargeAmount

string (Int64Value format)

ไม่บังคับ: จำนวนเงินของธุรกรรมในสกุลเงินที่แสดง (หรือสกุลเงินของธุรกรรม) ก่อนการแลกเปลี่ยนเงินตราต่างประเทศ ฟิลด์นี้ใช้รูปแบบเครื่องหมายเดียวกันกับฟิลด์ eventCharge

ค่านี้อยู่ในหน่วยไมโคร

presentmentCurrencyCode

string

ไม่บังคับ: รหัสสกุลเงิน 3 ตัวอักษรตามมาตรฐาน ISO 4217 ซึ่งระบุสกุลเงินที่ใช้ในการเสนอขาย (ธุรกรรม)

exchangeRate
(deprecated)

string (Int64Value format)

เลิกใช้งานแล้ว: อัตราแลกเปลี่ยนที่ใช้ในการแปลงจำนวนเงินที่เสนอขายเป็นจำนวนเงินชำระ (ใบแจ้งหนี้)

ค่านี้อยู่ในหน่วยไมโครเบสิสพอยต์ (1 เบสิสพอยต์ = .0001 = .01%) กล่าวคือ หากต้องการทราบอัตราแลกเปลี่ยน ให้หารฟิลด์นี้ด้วย 10^10

nanoExchangeRate

string (Int64Value format)

ไม่บังคับ: อัตราแลกเปลี่ยนที่ใช้ในการแปลงจำนวนเงินที่เสนอขายเป็นจำนวนเงินที่ชำระ (ใบแจ้งหนี้) ซึ่งแสดงเป็นจุดพื้นฐานระดับนาโน

ค่านี้อยู่ในหน่วยคะแนนพื้นฐานนาโน (1 คะแนนพื้นฐาน = 0.0001 = 0.01%) กล่าวคือ หากต้องการทราบอัตราแลกเปลี่ยน ให้หารฟิลด์นี้ด้วย 10^13

ทั้งฟิลด์นี้และ exchangeRate จะมีข้อมูล โดยเป็นอัตราแลกเปลี่ยนที่เทียบเท่ากันซึ่งแสดงด้วยความแม่นยำที่แตกต่างกัน ในเวอร์ชันต่อๆ ไป เราจะนำ exchangeRate ออกและใช้ nanoExchangeRate แทน