Method: echo

Menggemakan kembali clientMessage yang diteruskan.

Tujuan metode ini adalah menguji konektivitas dasar antara integrator pembayaran dan Google.

Metode ini dapat dipanggil oleh Google beberapa kali per menit dengan parameter yang valid atau tidak valid untuk menguji apakah batasan keamanan diterapkan dengan benar. Google juga menyebut metode ini ad-hoc atas arahan integrator serta arah Google. Google tidak akan pernah memanggil ini lebih cepat dari sekali setiap 10 detik, dan tidak pernah lebih dari 30 kali dalam jangka waktu 15 menit.

Contoh pengujian batasan keamanan adalah (tetapi tidak terbatas pada):

  • Pengujian untuk memastikan endpoint integrator pembayaran tidak bernegosiasi ke cipher suite yang lemah.
  • Pengujian untuk memastikan endpoint integrator pembayaran tidak melakukan negosiasi apa pun kecuali TLS 1.2
  • Uji untuk memastikan endpoint integrator pembayaran tidak mendukung HTTP.
  • Uji untuk memastikan endpoint integrator pembayaran mewajibkan setidaknya satu kunci penandatanganan PGP yang diketahui.
  • Uji untuk memastikan endpoint integrator pembayaran mendukung beberapa tanda tangan kunci PGP, yang diketahui dan tidak diketahui, baik yang sudah tidak berlaku maupun aktif.
  • Uji untuk memastikan integrator pembayaran hanya mendukung penguraian JSON yang ketat.

Jika endpoint mengalami error saat memproses permintaan, isi respons dari endpoint ini harus berjenis ErrorResponse.

Contoh permintaan terlihat seperti ini:


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

Contoh respons terlihat seperti ini:


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

Permintaan HTTP

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

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "clientMessage": string
}
Kolom
requestHeader

object (RequestHeader)

WAJIB: Header umum untuk semua permintaan.

clientMessage

string

REQUIRED: Pesan yang akan digemakan dalam respons.

Isi respons

Objek respons untuk metode echo.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "clientMessage": string,
  "serverMessage": string
}
Kolom
responseHeader

object (ResponseHeader)

WAJIB: Header umum untuk semua respons.

clientMessage

string

WAJIB: Pesan diterima dalam permintaan.

serverMessage

string

OPSIONAL: Pesan server, terlepas dari clientMessage yang di-echo.

RequestHeader

Objek header yang ditentukan pada semua permintaan yang dikirim ke server.

Representasi JSON
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object (Version)
  }
}
Kolom
requestId

string

WAJIB: ID unik permintaan ini.

String ini memiliki panjang maksimal 100 karakter, dan hanya berisi karakter "a-z", "A-Z", "0-9", ":", "-", dan "_".

requestTimestamp

string (int64 format)

WAJIB: Stempel waktu permintaan ini yang dinyatakan sebagai milidetik sejak epoch. Penerima harus memverifikasi bahwa stempel waktu ini adalah ± 60 detik dari 'sekarang'. Stempel waktu permintaan ini tidak idempoten setelah percobaan ulang.

userLocale
(deprecated)

string

TIDAK DIGUNAKAN LAGI: Kode bahasa ISO 639-2 Alpha 3 dua atau tiga huruf secara opsional diikuti dengan tanda hubung dan kode negara ISO 3166-1 Alpha-2, misalnya 'pt', 'pt-BR', 'fil', atau 'fil-PH'. Gunakan ini untuk membantu mendorong kolom userMessage dalam respons.

protocolVersion

object (Version)

WAJIB: Versi permintaan ini.

Versi

Objek versi yang merupakan bentuk terstruktur dari struktur versi a.b.c klasik. Versi utama nomor yang sama dijamin kompatibel. Perhatikan bahwa minor dan revisi dapat sering berubah dan tanpa pemberitahuan. Integrator harus mendukung semua permintaan untuk versi utama yang sama.

Representasi JSON
{
  "major": integer,
  "minor": integer,
  "revision": integer
}
Kolom
major

integer

WAJIB: Versi utama. Hal ini ditandai untuk permintaan kompatibilitas dengan versi yang berbeda tidak dijamin kompatibel.

minor

integer

WAJIB: Versi minor. Hal ini menunjukkan perbaikan bug yang signifikan.

revision

integer

WAJIB: Versi minor. Hal ini menunjukkan perbaikan bug minor.