Method: echo

Echos back the clientMessage that is passed in.

The purpose of this method is to test basic connectivity between the payment integrator and Google.

This method may be called by Google multiple times per minute with valid or invalid parameters in order to test that security constraints are being held properly. Google also calls this method ad-hoc at the integrator's direction as well as at Google's direction. Google will never call this faster than once every 10s, and never more than 30 times in a 15 minute window.

Examples of security constraint tests are (but not limited to):

  • Test to ensure payment integrator's endpoint doesn't negotiate to weak cipher suites.
  • Test to ensure payment integrator's endpoint doesn't negotiate to anything but TLS 1.2
  • Test to ensure payment integrator's endpoint doesn't support HTTP.
  • Test to ensure payment integrator's endpoint mandates at least one known PGP signing key.
  • Test to ensure payment integrator's endpoint supports multiple PGP key signatures, both known and unknown, both expired and active.
  • Test to ensure payment integrator only support strict JSON parsing.

An example request looks like:


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

An example response looks like:


{
  "responseHeader": {
    "responseTimestamp": "1481900013178",
  },
  "clientMessage": "v1.echo message",
  "serverMessage": "v1.echo server message"
}

HTTP request

POST https://www.integratordomain.com/v1/echo

Request body

The request body contains data with the following structure:

JSON representation
{
  "requestHeader": {
    object (RequestHeader)
  },
  "clientMessage": string
}
Fields
requestHeader

object (RequestHeader)

REQUIRED: Common header for all requests.

clientMessage

string

REQUIRED: Message to echo in the response.

Response body

If successful, the response body contains data with the following structure:

Response object for the echo method.

JSON representation
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "clientMessage": string,
  "serverMessage": string
}
Fields
responseHeader

object (ResponseHeader)

REQUIRED: Common header for all responses.

clientMessage

string

REQUIRED: Message received in the request.

serverMessage

string

OPTIONAL: Server message, independent of the clientMessage being echoed.