Method: echo

สะท้อน clientMessage ที่มีการส่งผ่านเข้ามา

วัตถุประสงค์ของวิธีการนี้คือเพื่อทดสอบการเชื่อมต่อพื้นฐานระหว่างผู้รวมการชำระเงินกับ Google

Google อาจเรียกใช้เมธอดนี้หลายครั้งต่อนาทีด้วยพารามิเตอร์ที่ถูกต้องหรือไม่ถูกต้อง เพื่อทดสอบว่ามีการคงข้อจำกัดด้านความปลอดภัยไว้อย่างถูกต้อง Google ยังเรียกใช้วิธีการนี้แบบเฉพาะกิจตามทิศทางของผู้ผสานการทำงานเช่นเดียวกับในทิศทางของ Google อีกด้วย Google จะไม่เรียกใช้รายการนี้เร็วกว่า 1 ครั้งทุกๆ 10 วินาที และไม่เกิน 30 ครั้งในช่วงเวลา 15 นาที

ตัวอย่างการทดสอบข้อจำกัดด้านความปลอดภัยมีดังนี้ (แต่ไม่จำกัดเพียง)

  • ทดสอบเพื่อให้แน่ใจว่าปลายทางของผู้ผสานรวมการชำระเงินจะไม่เจรจากับชุดการเข้ารหัสที่อ่อนแอ
  • ทดสอบเพื่อให้มั่นใจว่าปลายทางของผู้รวมการชำระเงินไม่มีการเจรจาใดๆ ยกเว้น TLS 1.2
  • ทดสอบเพื่อให้แน่ใจว่าปลายทางของผู้รวมการชำระเงินไม่รองรับ HTTP
  • ทดสอบเพื่อให้มั่นใจว่าปลายทางของการผสานรวมการชำระเงินมีคีย์การลงนาม PGP ที่รู้จักอย่างน้อย 1 คีย์
  • ทดสอบเพื่อให้แน่ใจว่าปลายทางของผู้ผสานรวมการชำระเงินรองรับลายเซ็นคีย์ PGP หลายรายการ ทั้งที่รู้จักและไม่รู้จัก ทั้งที่หมดอายุและใช้งานอยู่
  • ทดสอบว่าผู้รวมการชำระเงินรองรับเฉพาะการแยกวิเคราะห์ JSON ที่เข้มงวดเท่านั้น

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

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


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "ZWNobyB0cmFuc2FjdGlvbg",
    "requestTimestamp": "1481899949606"
  },
  "clientMessage": "client message"
}

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


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "clientMessage": "client message",
  "serverMessage": "server message"
}

คำขอ HTTP

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

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

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

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

object (RequestHeader)

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

clientMessage

string

ต้องระบุ: ข้อความที่จะแสดงซ้ำในคำตอบ

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

ออบเจ็กต์การตอบสนองสำหรับเมธอดเสียงสะท้อน

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

การแสดง JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "clientMessage": string,
  "serverMessage": string
}
ช่อง
responseHeader

object (ResponseHeader)

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

clientMessage

string

ต้องระบุ: ข้อความที่ได้รับในคำขอ

serverMessage

string

ไม่บังคับ: ข้อความของเซิร์ฟเวอร์ โดยไม่ขึ้นอยู่กับ clientMessage ที่สะท้อนออกมา

RequestHeader

ออบเจ็กต์ส่วนหัวที่กำหนดไว้ในคำขอทั้งหมดที่ส่งไปยังเซิร์ฟเวอร์

การแสดง JSON
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object (Version)
  }
}
ช่อง
requestId

string

ต้องระบุ: ตัวระบุที่ไม่ซ้ำกันของคำขอนี้

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

requestTimestamp

string (int64 format)

REQUIRED: การประทับเวลาของคำขอนี้ซึ่งแสดงเป็นมิลลิวินาทีตั้งแต่ Epoch ผู้รับควรยืนยันว่าการประทับเวลานี้ ± 60s ของ "now" การประทับเวลาของคำขอนี้จะไม่แสดงซ้ำเมื่อมีการลองอีกครั้ง

userLocale
(deprecated)

string

เลิกใช้งานแล้ว: รหัสภาษา ISO 639-2 Alpha 3 ที่เป็นตัวอักษร 2 หรือ 3 ตัว (ไม่บังคับ) ตามด้วยเครื่องหมายขีดกลางและรหัสประเทศ ISO 3166-1 Alpha-2 เช่น "pt", "pt-BR", "fil" หรือ "fil-PH" ใช้ค่านี้เพื่อช่วยเพิ่มช่อง userMessage ในการตอบสนอง

protocolVersion

object (Version)

ต้องระบุ: เวอร์ชันของคำขอนี้

เวอร์ชัน

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

การแสดง JSON
{
  "major": integer,
  "minor": integer,
  "revision": integer
}
ช่อง
major

integer

ต้องระบุ: เวอร์ชันหลัก ซึ่งจะมีการทำเครื่องหมายไว้ว่าสำหรับคำขอความเข้ากันได้ที่มีเวอร์ชันต่างๆ กัน เราไม่รับประกันว่าจะทำงานร่วมกันได้

minor

integer

ต้องระบุ: เวอร์ชันย่อย ซึ่งหมายถึงการแก้ไขข้อบกพร่องที่สำคัญ

revision

integer

ต้องระบุ: เวอร์ชันย่อย ซึ่งหมายถึงการแก้ไขข้อบกพร่องเล็กน้อย