Эхо возвращает переданное clientMessage
.
Целью этого метода является проверка базовой связи между платежным интегратором и Google.
Google может вызывать этот метод несколько раз в минуту с действительными или недопустимыми параметрами, чтобы проверить правильность соблюдения ограничений безопасности. Google также называет этот метод специальным по указанию интегратора, а также по указанию Google. Google никогда не будет вызывать это чаще, чем раз в 10 секунд, и никогда не чаще, чем 30 раз в течение 15-минутного окна.
Примерами тестов ограничений безопасности являются (но не ограничиваются):
- Протестируйте, чтобы убедиться, что конечная точка интегратора платежей не взаимодействует со слабыми наборами шифров.
- Проверьте, чтобы конечная точка платежного интегратора не согласовывала ничего, кроме TLS 1.2.
- Проверьте, не поддерживает ли конечная точка интегратора платежей HTTP.
- Проверьте, чтобы убедиться, что конечная точка платежного интегратора требует хотя бы один известный ключ подписи PGP.
- Протестируйте, чтобы убедиться, что конечная точка интегратора платежей поддерживает несколько подписей ключей 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 | ОБЯЗАТЕЛЬНО : сообщение для отражения в ответе. |
Тело ответа
Объект ответа для метода echo.
В случае успеха тело ответа содержит данные следующей структуры:
JSON-представление |
---|
{
"responseHeader": {
object ( |
Поля | |
---|---|
responseHeader | ОБЯЗАТЕЛЬНО : общий заголовок для всех ответов. |
clientMessage | ОБЯЗАТЕЛЬНО : сообщение, полученное в запросе. |
serverMessage | НЕОБЯЗАТЕЛЬНО : сообщение сервера, независимо от отображаемого |
Заголовок запроса
Объект заголовка, который определяется для всех запросов, отправляемых на сервер.
JSON-представление |
---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
Поля | |
---|---|
requestId | ОБЯЗАТЕЛЬНО : уникальный идентификатор этого запроса. Это строка максимальной длиной 100 символов, содержащая только символы «az», «AZ», «0-9», «:», «-» и «_». |
requestTimestamp | ОБЯЗАТЕЛЬНО : временная метка этого запроса, представленная в миллисекундах с начала эпохи. Получатель должен убедиться, что эта временная метка составляет ± 60 секунд от «сейчас». Эта временная метка запроса не является идемпотентной при повторных попытках. |
userLocale | УСТАРЕЛО : двух- или трехбуквенный код языка ISO 639-2 Alpha 3, за которым может следовать дефис и код страны ISO 3166-1 Alpha-2, например «pt», «pt-BR», «fil» или 'фил-PH'. Используйте это, чтобы управлять полями |
protocolVersion | ОБЯЗАТЕЛЬНО : версия этого запроса. |
Версия
Объект версии, который представляет собой структурированную форму классической структуры версий abc
. Совместимость основных версий одного и того же номера гарантирована. Обратите внимание, что второстепенные и исправленные версии могут изменяться часто и без предварительного уведомления. Интегратор должен поддерживать все запросы на одну и ту же основную версию.
JSON-представление |
---|
{ "major": integer, "minor": integer, "revision": integer } |
Поля | |
---|---|
major | ТРЕБУЕТСЯ : Основная версия. Это отмечено для запросов совместимости с разными версиями, совместимость которых не гарантируется. |
minor | ТРЕБУЕТСЯ : Дополнительная версия. Это означает существенные исправления ошибок. |
revision | ТРЕБУЕТСЯ : Дополнительная версия. Это означает исправление мелких ошибок. |