- Richiesta HTTP
- Corpo della richiesta
- Corpo della risposta
- UserInformation
- AssociateAccountResultCode
Associa l'account del cliente all'elaboratore dei pagamenti allo strumento Google da aggiungere.
L'associazione dell'account avviene dopo che l'integratore ha autenticato l'utente. L'associazione avviene tramite una chiamata server-server che contiene requestId
per il flusso di autenticazione associato (authenticationRequestId
), un associationId
e un googlePaymentToken
(GPT). L'elaboratore dei pagamenti deve associare associationId
e googlePaymentToken
all'account del cliente per l'autenticazione. Il GPT viene utilizzato per avviare i pagamenti. associationId
viene utilizzato durante le chiamate di riautenticazione per identificare l'account per l'autenticazione.
Se Google invia un associationId
o un googlePaymentToken
che l'integratore ha già rilevato durante un'altra associazione, genera un errore.
Se l'endpoint rileva un errore durante l'elaborazione della richiesta, il corpo della risposta da questo endpoint deve essere di tipo
.ErrorResponse
Ecco un esempio di richiesta:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "cmVxdWVzdDE",
"requestTimestamp": "1481899949606"
},
"googlePaymentToken": "ZXhhbXBsZSB1bmlxdWUgcGF5bWVudCB0b2tlbiB2YWx1ZQ__",
"authenticationRequestId": "bnAxdWTydDX==",
"associationId": "LmddbXBsZSByZWZlcmVuY2UgdG9rZW4gdmFsdWU_",
"provideUserInformation": true
}
Ecco un esempio di risposta:
{
"responseHeader": {
"responseTimestamp": "1481899949611"
},
"paymentIntegratorAssociateAccountId": "xx77df88934hfd",
"accountId": "1234-5678-91",
"accountNickname": "***-91",
"tokenExpirationTime": "0",
"userInformation": {
"name": "Example Customer",
"addressLine": ["123 Main St"],
"localityName": "Springfield",
"administrativeAreaName": "CO",
"postalCodeNumber": "80309",
"countryCode": "US"
},
"result": "SUCCESS"
}
Richiesta HTTP
POST https://www.integratorhost.example.com/v1/associateAccount
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
Rappresentazione JSON |
---|
{ "requestHeader": { object ( |
Campi | |
---|---|
requestHeader |
REQUIRED: intestazione comune per tutte le richieste. |
provideUserInformation |
REQUIRED: true se vogliamo che l'integratore fornisca l'indirizzo associato a questo account. |
googlePaymentToken |
OBBLIGATORIO: il token che Google utilizzerà per avviare gli acquisti con l'elaboratore dei pagamenti. Si tratta di una stringa con una lunghezza massima di 100 caratteri. |
associationId |
REQUIRED: l'identificatore di questa associazione. Questo identificatore viene creato da Google e viene inviato durante i flussi di riautenticazione per identificare quale account deve essere autenticato. Si tratta di una stringa con una lunghezza massima di 100 caratteri. |
Campo unione
|
|
authenticationRequestId |
FACOLTATIVO: |
otpVerification |
FACOLTATIVO: dati necessari per verificare una OTP generata in data |
Corpo della risposta
Oggetto di risposta per il metodo dell'account associato.
In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:
Rappresentazione JSON |
---|
{ "responseHeader": { object ( |
Campi | |
---|---|
responseHeader |
REQUIRED: intestazione comune per tutte le risposte. |
paymentIntegratorAssociateAccountId |
REQUIRED: questo identificatore è specifico per l'integratore e viene generato dall'integratore. Viene utilizzato solo a scopo di debug per identificare questa chiamata. Si tratta dell'identificatore da cui l'integratore conosce questa chiamata. |
tokenExpirationTime |
FACOLTATIVO: millisecondi dall'epoca in cui scade il token. Utilizza |
accountId |
REQUIRED: l'ID account dell'utente presso l'integratore. Viene utilizzato per consentire a Google di comprendere il riutilizzo e le relazioni tra account e gli agenti delle operazioni dei clienti di Google al fine di aiutare i clienti a diagnosticare i problemi. Questo identificatore deve essere riconoscibile dall'utente (ad esempio, l'utente conosce questo ID perché appare nell'estratto conto o sul sito web dopo aver eseguito l'accesso all'account). Questo valore deve essere immutabile per tutta la durata dell'account. |
userMessage |
OBSOLETO: una descrizione del risultato, da mostrare all'utente se non è |
userInformation |
REQUIRED: informazioni sull'utente che l'integratore conosce e condividerà con Google in merito a questo cliente. Utilizzato per le informazioni sui rischi e la precompilazione. |
result |
REQUIRED: il risultato di questa associazione. |
Campo unione
|
|
accountNickname |
FACOLTATIVO: stringa con cui l'utente conosce l'account ai fini della visualizzazione. Questo è un suffisso del nickname dell'account. Ad esempio, le ultime quattro cifre di un numero di telefono. Google indicherà nell'interfaccia utente che si tratta solo di un suffisso del nickname. Questo valore verrà visualizzato nelle UI come il flusso di acquisto per consentire all'utente di distinguere tra i metodi di pagamento. |
fullAccountNickname |
FACOLTATIVO: stringa con cui l'utente conosce l'account ai fini della visualizzazione. A differenza di Questo valore verrà visualizzato nelle UI come il flusso di acquisto per consentire all'utente di distinguere tra i metodi di pagamento. |
UserInformation
Struttura la conservazione delle informazioni su un utente.
Rappresentazione JSON |
---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string, "phone": string, "emailAddress": string } |
Campi | |
---|---|
name |
FACOLTATIVO: nome completo del cliente. |
addressLine[] |
FACOLTATIVO: contiene il testo dell'indirizzo non strutturato. |
localityName |
FACOLTATIVO: è un termine parziale, ma generalmente si riferisce alla porzione di città di un indirizzo. Nelle regioni del mondo in cui le località non sono ben definite o non si adattano bene a questa struttura (ad esempio, Giappone e Cina), lascia vuoto il campo localtyName e utilizza addressLine. Esempi: città USA, comune in Italia, città postale nel Regno Unito. |
administrativeAreaName |
FACOLTATIVO: suddivisione amministrativa di primo livello di questo paese Esempi: stato USA, regione IT, provincia CN, prefettura giapponese." |
postalCodeNumber |
FACOLTATIVO: nonostante il nome, i valoriPostalCodeNumber sono spesso alfanumerici. Esempi: "94043", "SW1W", "SW1W 9TQ". |
countryCode |
FACOLTATIVO: il codice paese dell'indirizzo del cliente, che dovrebbe essere ISO-3166-1 Alpha-2. |
phone |
FACOLTATIVO: numero di telefono del cliente. |
emailAddress |
FACOLTATIVO: l'indirizzo email del cliente. |
AssociateAccountResultCode
Codici risultato per account associato.
Enum | |
---|---|
UNKNOWN_RESULT |
Non impostare mai questo valore predefinito. |
SUCCESS |
Associazione riuscita. |
USER_AUTHENTICATION_FAILED |
Anche se è stato restituito il bundle di autenticazione dell'account, l'autenticazione utente non è riuscita. |
NOT_ELIGIBLE |
L'account dell'utente non è idoneo per questo servizio. |
OTP_NOT_MATCHED |
L'OTP non corrispondeva a quanto inviato dall'integratore. |
OTP_ALREADY_USED |
OTP già usata. |
OTP_LIMIT_REACHED |
L'utente ha richiesto o provato a verificare troppe OTP. |
OTP_EXPIRED |
OTP scaduta. |