Method: captureResultNotification

แจ้งให้ Google ทราบถึงผลการจับภาพหลังจากเรียกเมธอด capture หรือ asynchronousCapture

ค่า captureResult เป็นเลขประจำตัวสำหรับ captureRequestId นี้ ดังนั้นการเรียกเมธอดในภายหลังจะไม่สามารถเปลี่ยนแปลงค่าได้

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

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

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


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "KcgwSKrV76eVNDUbsZ4UA3",
    "requestTimestamp": "1481852928293"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "captureRequestId": "awNaC510cefae3IJdNEvW2",
  "captureResult": {
    "captureResultCode": "SUCCESS"
  }
}

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


{
  "responseHeader": {
    "responseTimestamp": "1481852928324"
  },
  "result": "SUCCESS"
}

คำขอ HTTP

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

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

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

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

object (RequestHeader)

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

paymentIntegratorAccountId

string

ต้องระบุ: ตัวระบุบัญชีของผู้รวมการชำระเงินที่เกิดการบันทึก

captureRequestId

string

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

โดยเป็นสตริงที่มีความยาวสูงสุด 100 อักขระและมีเฉพาะอักขระ "a-z", "A-Z", "0-9", ":", "-" และ "_" เท่านั้น

captureResult

object (CaptureResult)

ต้องระบุ: ผลลัพธ์ของการบันทึกนี้

paymentIntegratorTransactionId

string

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

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

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

ออบเจ็กต์การตอบกลับสำหรับเมธอด captureResultNotification

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

การแสดง JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (CaptureResultNotificationResultCode)
}
ช่อง
responseHeader

object (ResponseHeader)

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

result

enum (CaptureResultNotificationResultCode)

ต้องระบุ: ผลของการโทรนี้

CaptureResult

ข้อมูลเกี่ยวกับผลลัพธ์สุดท้ายของการจับภาพ

การแสดง JSON
{
  "captureResultCode": enum (CaptureResultCode),
  "rawResult": {
    object (RawResult)
  },

  // Union field FailureDetail can be only one of the following:
  "transactionMaxLimit": string,
  "transactionMinLimit": string,
  "currentBalance": string
  // End of list of possible types for union field FailureDetail.
}
ช่อง
captureResultCode

enum (CaptureResultCode)

ต้องระบุ: รหัสผลลัพธ์ของการบันทึกนี้

rawResult

object (RawResult)

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

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

ช่องการรวม FailureDetail

FailureDetail ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้

transactionMaxLimit

string (Int64Value format)

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

จำนวนนี้เป็น ไมโคร ของ currencyCode เดียวกับการเรียกเมธอด capture หรือ asynchronousCapture ดั้งเดิม

transactionMinLimit

string (Int64Value format)

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

จำนวนนี้เป็น ไมโคร ของ currencyCode เดียวกับการเรียกเมธอด capture หรือ asynchronousCapture ดั้งเดิม

currentBalance

string (Int64Value format)

ไม่บังคับ: หากผลลัพธ์คือ INSUFFICIENT_FUNDS นี่จะเป็นยอดคงเหลือปัจจุบันในบัญชีของผู้ใช้ (ในไมโคร) ใช้สำหรับการรับส่งข้อความแบบมีโครงสร้างที่แสดงต่อผู้ใช้

ค่านี้ต้องใช้สกุลเงินเดียวกับ currencyCode ในคำขอ

CaptureResultCode

รหัสผลลัพธ์สำหรับการจับภาพ

Enum
UNKNOWN_RESULT โปรดอย่าตั้งค่าเริ่มต้นนี้
SUCCESS จับภาพสำเร็จแล้ว
CHARGE_UNDER_TRANSACTION_LIMIT จำนวนเงินที่เรียกเก็บที่ขอไม่ถึงจำนวนเงินขั้นต่ำต่อธุรกรรมของผู้รวมบริการ หากใช้โค้ดนี้ ให้ป้อนจำนวนเงินธุรกรรมขั้นต่ำในช่อง transactionMinLimit เพื่อจุดประสงค์ในการรับส่งข้อความกับผู้ใช้
CHARGE_EXCEEDS_TRANSACTION_LIMIT จำนวนที่ร้องขอเกินขีดจำกัดสูงสุดต่อธุรกรรมของผู้รวมบริการ หากใช้โค้ดนี้ ให้กรอกข้อมูลในช่อง transactionMaxLimit ด้วยขีดจำกัดธุรกรรมเพื่อวัตถุประสงค์ด้านการรับส่งข้อความกับผู้ใช้
CHARGE_EXCEEDS_DAILY_LIMIT ใช้บัญชีของผู้ใช้สำหรับการซื้อไม่ได้ในขณะนี้เนื่องจากใช้งานเกินขีดจํากัดต่อวันแล้ว
CHARGE_EXCEEDS_MONTHLY_LIMIT ใช้บัญชีผู้ใช้สำหรับการซื้อไม่ได้ในขณะนี้เนื่องจากบัญชีมีการใช้งานเกินขีดจำกัดรายเดือนแล้ว
INSUFFICIENT_FUNDS บัญชีนี้มีเงินไม่เพียงพอที่จะรับประกันการจับได้นี้
SUSPECTED_FRAUD ผู้ผสานรวมระบบมีเหตุผลให้สงสัยว่าธุรกรรมนี้เป็นการฉ้อโกง
ACCOUNT_CLOSED ปิดบัญชีของผู้ใช้กับผู้ผสานรวมแล้ว ผลลัพธ์นี้จะทำให้เครื่องมือของผู้ใช้ปิดด้วย Google ผู้ใช้จะถูกบังคับให้เพิ่มเครื่องมือใหม่
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER มีการปิดบัญชีผู้ใช้ที่มีผู้รวมระบบแล้ว บัญชีที่ต้องสงสัยคือผู้ผสานรวมระบบ ผลลัพธ์นี้จะทำให้เครื่องมือของผู้ใช้ปิดด้วย Google ผู้ใช้จะถูกบังคับให้เพิ่มเครื่องมือใหม่
ACCOUNT_CLOSED_FRAUD บัญชีของผู้ใช้ที่ระงับไว้กับผู้รวมระบบถูกปิดเนื่องจากการประพฤติมิชอบ ผลลัพธ์นี้จะทำให้เครื่องมือของผู้ใช้ปิดด้วย Google ผู้ใช้จะถูกบังคับให้เพิ่มเครื่องมือใหม่
ACCOUNT_ON_HOLD บัญชีของผู้ใช้ถูกระงับ
OTP_NOT_MATCHED OTP ไม่ตรงกับสิ่งที่ผู้ผสานรวมระบบส่ง
OTP_ALREADY_USED มีการใช้ OTP อยู่แล้ว
CAPTURE_REQUEST_EXPIRED ผู้รวมระบบใช้เวลาในการรวบรวมเงินของผู้ใช้นานเกินไป Google จะถือว่าการปฏิเสธนี้เป็นสถานะสุดท้าย ดังนั้นผู้ผสานรวมระบบต้องตรวจสอบให้แน่ใจว่าไม่มีการรับเงินของผู้ใช้ในภายหลัง หรือผู้ใช้จะได้รับเงินคืนโดยอัตโนมัติหากการดำเนินการเรียกเก็บเงินสำเร็จ
INVALID_PIN ผู้ใช้ระบุ PIN ที่ไม่ถูกต้อง
OS_LOCK_FAILED ขั้นตอนการชำระเงินนี้ต้องใช้คำถามการล็อกระบบปฏิบัติการและผู้ใช้ปลดล็อกอุปกรณ์ไม่สำเร็จ
PIN_ENTRY_ATTEMPTS_EXHAUSTED ขั้นตอนการชำระเงินนี้ต้องใช้รายการ PIN ของผู้ใช้ ผู้ใช้ป้อน PIN ไม่สำเร็จมากจนครบจำนวนการลองใหม่
USER_EXITED_PAYMENT_FLOW ผู้ใช้ยกเลิกการพยายามชำระเงินทั้งหมด (ไม่ว่าจะที่ล็อกระบบปฏิบัติการหรือที่หน้าจอป้อน PIN)
MONTHLY_FREQUENCY_LIMIT_EXCEEDED ใช้บัญชีของผู้ใช้สำหรับการซื้อไม่ได้ในขณะนี้เนื่องจากบัญชีพยายามทำธุรกรรมเกินวงเงินรายเดือนแล้ว
DECLINED_BY_ISSUER

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

ที่สำคัญ โค้ดการปฏิเสธนี้เป็นการปฏิเสธที่เกิดขึ้นจริงมาก Google มีจำนวนลดลงอย่างถาวร หากผู้รวมบริการส่งคืนข้อมูลนี้ เขาจะต้องติดตามว่ารหัสของผู้ให้บริการหมายถึงอะไรและคืนเงินให้ผู้ใช้หากรหัสนั้นหมายถึง SUCCESS จริงๆ

หากรหัสการปฏิเสธนี้ใช้สำหรับรหัสการปฏิเสธที่เกี่ยวข้องเดียวกันเป็นเวลานานกว่าจำนวนวันที่ระบุ Google จะถือว่ารหัสนั้นเป็นข้อบกพร่อง และติดตามรหัสนั้นตามบทลงโทษทางสัญญาเกี่ยวกับการแก้ไขข้อบกพร่อง

RawResult

ออบเจ็กต์ผลลัพธ์ที่เป็นข้อมูลดิบ

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

string

ไม่บังคับ: จะปล่อยขอบเขตของ RawCode ก็ได้

rawCode

string

ต้องระบุ: ข้อมูลดิบจากผู้ผสานรวมระบบหรือระบบย่อยภายใน

CaptureResultNotificationResultCode

รหัสผลลัพธ์สำหรับเมธอด captureResultNotification

Enum
UNKNOWN_RESULT โปรดอย่าตั้งค่าเริ่มต้นนี้
SUCCESS ประมวลผลการแจ้งเตือนผลการจับภาพเรียบร้อยแล้ว