Method: echo

Lặp lại clientMessage được truyền vào.

Mục đích của phương thức này là kiểm tra khả năng kết nối cơ bản giữa bên tích hợp thanh toán và Google.

Google có thể gọi phương thức này nhiều lần mỗi phút với các tham số hợp lệ hoặc không hợp lệ để kiểm tra xem các hạn chế bảo mật có đang được giữ đúng cách hay không. Google cũng gọi phương thức này đặc biệt theo hướng dẫn của nhà tích hợp cũng như theo chỉ dẫn của Google. Google sẽ không bao giờ gọi lệnh này nhanh hơn 10 lần mỗi 10 giây và không bao giờ gọi quá 30 lần trong khoảng thời gian 15 phút.

Ví dụ về các bài kiểm thử ràng buộc bảo mật bao gồm (nhưng không giới hạn ở):

  • Kiểm thử để đảm bảo điểm cuối của nhà tích hợp thanh toán không thương lượng với các bộ thuật toán mật mã yếu.
  • Kiểm tra để đảm bảo điểm cuối của nhà tích hợp thanh toán không thương lượng với bất kỳ giá trị nào ngoại trừ TLS 1.2
  • Kiểm tra để đảm bảo rằng điểm cuối của nhà tích hợp thanh toán không hỗ trợ HTTP.
  • Kiểm thử để đảm bảo điểm cuối của nhà tích hợp thanh toán yêu cầu ít nhất một khoá ký PGP đã biết.
  • Kiểm thử để đảm bảo điểm cuối của nhà tích hợp thanh toán hỗ trợ nhiều chữ ký khoá PGP (cả đã biết và chưa xác định), cả đã hết hạn và đang hoạt động.
  • Kiểm tra để đảm bảo đơn vị tích hợp thanh toán chỉ hỗ trợ phân tích cú pháp JSON nghiêm ngặt.

Nếu điểm cuối gặp lỗi trong khi xử lý yêu cầu, thì nội dung phản hồi từ điểm cuối này phải thuộc loại ErrorResponse.

Yêu cầu mẫu sẽ có dạng như sau:


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

Phản hồi mẫu sẽ có dạng như sau:


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

Yêu cầu HTTP

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

Nội dung yêu cầu

Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "clientMessage": string
}
Các trường
requestHeader

object (RequestHeader)

REQUIRED: Tiêu đề chung cho tất cả các yêu cầu.

clientMessage

string

REQUIRED: Thông báo sẽ đọc lại trong phản hồi.

Nội dung phản hồi

Đối tượng phản hồi cho phương thức phản hồi.

Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "clientMessage": string,
  "serverMessage": string
}
Các trường
responseHeader

object (ResponseHeader)

REQUIRED: Tiêu đề chung cho tất cả các câu trả lời.

clientMessage

string

REQUIRED: Thông báo nhận được trong yêu cầu.

serverMessage

string

OPTIONAL: Thông báo của máy chủ, không phụ thuộc vào clientMessage được đọc to.

RequestHeader

Đối tượng tiêu đề được xác định trên tất cả các yêu cầu được gửi đến máy chủ.

Biểu diễn dưới dạng JSON
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object (Version)
  }
}
Các trường
requestId

string

REQUIRED: Giá trị nhận dạng duy nhất của yêu cầu này.

Đây là chuỗi có độ dài tối đa 100 ký tự và chỉ chứa các ký tự "a-z", "A-Z", "0-9", ":", "-" và "_".

requestTimestamp

string (int64 format)

BẮT BUỘC: Dấu thời gian của yêu cầu này được thể hiện dưới dạng mili giây kể từ thời gian bắt đầu của hệ thống. Bộ nhận phải xác minh rằng dấu thời gian này là ± 60 giây của "hiện tại". Dấu thời gian yêu cầu này không giống nhau khi thử lại.

userLocale
(deprecated)

string

KHÔNG DÙNG NỮA: Mã ngôn ngữ gồm hai hoặc ba chữ cái theo tiêu chuẩn ISO 639-2 Alpha-3 (không bắt buộc) theo sau là dấu gạch nối và mã quốc gia theo tiêu chuẩn ISO 3166-1 Alpha-2, ví dụ: 'pt', 'pt-BR', 'fil' hoặc 'fil-PH'. Dùng công cụ này để giúp thúc đẩy các trường userMessage trong phản hồi.

protocolVersion

object (Version)

REQUIRED: Phiên bản của yêu cầu này.

Phiên bản

Đối tượng phiên bản là một dạng cấu trúc của cấu trúc phiên bản a.b.c cổ điển. Các phiên bản chính của cùng một số sẽ đảm bảo tương thích. Lưu ý rằng các nội dung sửa đổi nhỏ và nội dung sửa đổi có thể thay đổi thường xuyên mà không cần thông báo trước. Trình tích hợp phải hỗ trợ tất cả các yêu cầu cho cùng một phiên bản lớn.

Biểu diễn dưới dạng JSON
{
  "major": integer,
  "minor": integer,
  "revision": integer
}
Các trường
major

integer

BẮT BUỘC: Phiên bản lớn. Thuộc tính này được đánh dấu cho các yêu cầu về khả năng tương thích với nhiều phiên bản nhưng không đảm bảo sẽ tương thích.

minor

integer

BẮT BUỘC: Phiên bản nhỏ. Điều này biểu thị các bản sửa lỗi quan trọng.

revision

integer

BẮT BUỘC: Phiên bản nhỏ. Điều này biểu thị các bản sửa lỗi nhỏ.