Method: echo

Elle renvoie le clientMessage transmis.

L'objectif de cette méthode est de tester la connectivité de base entre l'intégrateur de paiements et Google.

Cette méthode peut être appelée par Google plusieurs fois par minute avec des paramètres valides ou non valides afin de vérifier que les contraintes de sécurité sont bien respectées. Google appelle également cette méthode ad hoc du point de vue de l'intégrateur et de Google. Google n'appelle jamais cette méthode plus rapidement qu'une fois toutes les 10 secondes, ni plus de 30 fois sur une période de 15 minutes.

Voici quelques exemples de tests de contraintes de sécurité (liste non exhaustive):

  • Effectuez un test pour vous assurer que le point de terminaison de l'intégrateur de paiement ne négocie pas avec des suites de chiffrement faibles.
  • Effectuez un test pour vous assurer que le point de terminaison de l'intégrateur de paiement ne négocie rien avec TLS 1.2.
  • Effectuez un test pour vous assurer que le point de terminaison de l'intégrateur de paiement n'est pas compatible avec HTTP.
  • Effectuez un test pour vous assurer que le point de terminaison de l'intégrateur de paiement exige au moins une clé de signature PGP connue.
  • Effectuez des tests pour vous assurer que le point de terminaison de l'intégrateur de paiement est compatible avec plusieurs signatures de clés PGP, connues et inconnues, expirées ou actives.
  • Vérifiez que l'intégrateur de paiements n'accepte que l'analyse JSON stricte.

Si le point de terminaison rencontre une erreur lors du traitement de la requête, le corps de la réponse de ce point de terminaison doit être de type ErrorResponse.

Voici un exemple de requête:


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

Voici un exemple de réponse:


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

Requête HTTP

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

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "clientMessage": string
}
Champs
requestHeader

object (RequestHeader)

OBLIGATOIRE: en-tête commun pour toutes les requêtes.

clientMessage

string

OBLIGATOIRE: message à renvoyer dans la réponse.

Corps de la réponse

Objet réponse pour la méthode echo.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "clientMessage": string,
  "serverMessage": string
}
Champs
responseHeader

object (ResponseHeader)

OBLIGATOIRE: en-tête commun pour toutes les réponses.

clientMessage

string

OBLIGATOIRE: message reçu dans la requête.

serverMessage

string

FACULTATIF: message du serveur, indépendant du clientMessage en cours d'écho.

RequestHeader

Objet d'en-tête qui est défini sur toutes les requêtes envoyées au serveur.

Représentation JSON
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object (Version)
  }
}
Champs
requestId

string

OBLIGATOIRE: Identifiant unique de cette requête.

Il s'agit d'une chaîne d'une longueur maximale de 100 caractères, qui ne contient que les caractères "a-z", "A-Z", "0-9", ":", "-" et "_".

requestTimestamp

string (int64 format)

REQUIRED: horodatage de cette requête représenté en millisecondes depuis l'epoch. Le récepteur doit vérifier que ce code temporel correspond à environ 60 secondes de "now" (maintenant). Cet horodatage de requête n'est pas idempotent lors de nouvelles tentatives.

userLocale
(deprecated)

string

OBSOLÈTE: code de langue ISO 639-2 Alpha 3 à deux ou trois lettres suivi éventuellement d'un tiret et du code pays ISO 3166-1 Alpha-2 (par exemple, "pt", "pt-BR", "fil" ou "fil-PH"). Utilisez-le pour faciliter le fonctionnement des champs userMessage dans la réponse.

protocolVersion

object (Version)

OBLIGATOIRE: version de cette requête.

Version

Un objet Version, qui est une forme structurée de la structure de version a.b.c classique La compatibilité des versions majeures du même nombre est garantie. Notez que les modifications mineures et révisions peuvent être fréquemment modifiées sans préavis. L'intégrateur doit accepter toutes les requêtes liées à la même version majeure.

Représentation JSON
{
  "major": integer,
  "minor": integer,
  "revision": integer
}
Champs
major

integer

OBLIGATOIRE: version majeure. Cette option n'est pas garantie pour les demandes de compatibilité avec différentes versions.

minor

integer

OBLIGATOIRE: version mineure. Cela indique des corrections de bugs importantes.

revision

integer

OBLIGATOIRE: version mineure. Cela indique des corrections de bugs mineurs.