- Requête HTTP
- Corps de la requête
- Corps de la réponse
- MandateDetails
<ph type="x-smartling-placeholder">
- </ph>
- Représentation JSON
- MandateWithNotificationDetails
<ph type="x-smartling-placeholder">
- </ph>
- Représentation JSON
- CaptureContext
<ph type="x-smartling-placeholder">
- </ph>
- Représentation JSON
- CaptureResultCode
Lancer un transfert d'argent entre le compte d'un client détenu par Google et la société de traitement des paiements La combinaison de requestId
dans l'en-tête et de paymentIntegratorAccountId
est la clé d'idempotence et identifie cette transaction de manière unique. Toutes les mutations sur cette transaction (remboursements) renseignent la valeur requestId
dans le champ captureRequestId
.
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": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"requestTimestamp": "1502220196077"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"googlePaymentToken": "ZXhhbXBsZSB1bmlxdWUgcGF5bWVudCB0b2tlbiB2YWx1ZQ",
"transactionDescription": "Google - Music",
"currencyCode": "INR",
"amount": "728000000",
"captureContext": {}
}
Voici un exemple de réponse:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "SUCCESS",
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}
Requête HTTP
POST https://www.integratorhost.example.com/v1/capture
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 ( |
Champs | |
---|---|
requestHeader |
OBLIGATOIRE: en-tête commun à toutes les requêtes. |
paymentIntegratorAccountId |
OBLIGATOIRE: identifiant de compte de l'intégrateur de paiement qui identifie les contraintes contractuelles liées à cette transaction. |
transactionDescription |
OBLIGATOIRE: description de la transaction pouvant figurer sur la déclaration du client. Localisé dans le paramètre userLocale trouvé dans |
currencyCode |
OBLIGATOIRE: code de devise ISO 4217 à trois lettres |
amount |
OBLIGATOIRE: montant de l'achat, en micros de la devise. |
captureContext |
OBLIGATOIRE: contexte de cette capture. |
Champ d'union fopDetails . OBLIGATOIRE: Détails du mode de paiement pour cette transaction de capture. La fopDetails ne peut être qu'un des éléments suivants : |
|
googlePaymentToken |
Jeton permettant aux deux entreprises d'identifier le compte pour les achats effectués entre elles. |
mandateDetails |
Détails des paiements spécifiques aux mandats. |
mandateWithNotificationDetails |
Détails du paiement spécifiques aux mandats, où un |
Champ d'union
|
|
authenticationRequestId |
FACULTATIF: Si tel est le cas, cela signifie que l'utilisateur a été authentifié juste avant cet appel, ou qu'il a été authentifié lors de la configuration d'un échéancier des paiements automatisé. |
otpVerification |
FACULTATIF: données nécessaires pour valider un mot de passe à usage unique généré à partir du |
Corps de la réponse
Objet de réponse pour la méthode de capture.
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 ( |
Champs | |
---|---|
responseHeader |
OBLIGATOIRE: en-tête commun à toutes les réponses. |
paymentIntegratorTransactionId |
FACULTATIF: cet identifiant est spécifique à l'intégrateur et est généré par celui-ci. Il s'agit de l'identifiant par lequel l'intégrateur connaît cette transaction. Pour plus de commodité, cet identifiant est inclus dans les détails du versement. |
userMessage |
OBSOLÈTE: description du résultat à présenter à l'utilisateur si le résultat n'est pas |
result |
REQUIRED: résultat de cette capture. |
rawResult |
FACULTATIF: résultat brut de cette capture. Permet d'informer le moteur de risques et les analyses de Google. En cas de mise en correspondance de code de refus, des données sont parfois perdues. L'intégrateur peut choisir de fournir à Google un code brut. Par exemple, une passerelle de carte de crédit (l'intégrateur) peut utiliser ce champ pour communiquer à Google le code de refus exact envoyé par le réseau VISA. Dans ce cas, le Cette valeur est obligatoire si |
transactionLimit |
FACULTATIF: si le résultat est Il doit s'agir d'une limite par rapport au |
currentBalance |
FACULTATIF: si le résultat est Cette valeur doit être dans la même devise que le |
MandateDetails
Détails concernant le mandat à partir duquel la capture est effectuée.
Représentation JSON |
---|
{ "mandateId": string } |
Champs | |
---|---|
mandateId |
OBLIGATOIRE: ID de mandat généré par Google et envoyé lors de l'appel |
MandateWithNotificationDetails
Informations sur le mandat de capture et détails requis pour les notifications.
Représentation JSON |
---|
{ "mandateId": string, "upcomingTransactionNotificationId": string } |
Champs | |
---|---|
mandateId |
OBLIGATOIRE: ID de mandat généré par Google et envoyé lors de l'appel |
upcomingTransactionNotificationId |
OBLIGATOIRE: |
CaptureContext
Cet objet fournit un contexte sur la manière dont la capture a été demandée.
Représentation JSON |
---|
{ "userIpAddress": string } |
Champs | |
---|---|
userIpAddress |
FACULTATIF: adresse IP de l'appareil de l'utilisateur si l'achat a été effectué par un utilisateur lors d'une session. Ce champ sera vide si l'utilisateur n'était pas dans la session. Si le contrat particulier ne précise pas la nécessité de ce champ, celui-ci sera toujours vide. |
CaptureResultCode
Codes de résultat de la capture.
Enums | |
---|---|
UNKNOWN_RESULT |
Ne définissez jamais cette valeur par défaut. |
SUCCESS |
Capturez, livrez avec succès. |
CHARGE_EXCEEDS_TRANSACTION_LIMIT |
La valeur amount de cette demande de capture dépasse la limite par transaction. Si vous utilisez ce code, renseignez le champ transactionLimit pour envoyer des messages aux utilisateurs. |
CHARGE_EXCEEDS_DAILY_LIMIT |
Vous ne pouvez pas utiliser ce compte pour effectuer des achats pour le moment, car vous avez dépassé ses limites quotidiennes. |
CHARGE_EXCEEDS_MONTHLY_LIMIT |
Vous ne pouvez pas utiliser ce compte pour effectuer des achats pour le moment, car il a dépassé ses limites mensuelles. |
CHARGE_UNDER_LIMIT |
Le amount de cette demande de capture n'atteint pas le montant minimal de transaction. |
INSUFFICIENT_FUNDS |
Les fonds disponibles sur ce compte sont insuffisants pour garantir cette capture. |
ACCOUNT_DOES_NOT_SUPPORT_CURRENCY |
Ce compte n'est pas compatible avec la devise demandée. |
ACCOUNT_CLOSED |
Le compte de l'utilisateur détenu par l'intégrateur a été clôturé. Le renvoi de cette valeur entraîne la clôture du mode de paiement de l'utilisateur auprès de Google. L'utilisateur sera obligé d'ajouter un nouvel instrument en reprenant le flux d'association. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Le compte de l'utilisateur associé à l'intégrateur a été clôturé. Le compte a probablement été piraté. Le renvoi de cette valeur entraîne la clôture du mode de paiement de l'utilisateur auprès de Google. L'utilisateur sera obligé d'ajouter un nouvel instrument en reprenant le flux d'association. |
ACCOUNT_ON_HOLD |
Le compte est suspendu. |
ACCOUNT_CLOSED_FRAUD |
Le compte de l'utilisateur détenu par l'intégrateur a été clôturé pour fraude. Le renvoi de cette valeur entraîne la clôture du mode de paiement de l'utilisateur auprès de Google. L'utilisateur sera obligé d'ajouter un nouvel instrument en reprenant le flux d'association. |
GOOGLE_PAYMENT_TOKEN_INVALIDATED_BY_USER |
Le compte est actif, mais le tag GPT a été invalidé par l'utilisateur du côté de l'intégrateur. Le renvoi de cette valeur entraîne la clôture du mode de paiement de l'utilisateur auprès de Google. L'utilisateur sera obligé d'ajouter un nouvel instrument en reprenant le flux d'association. |
TOKEN_REFRESH_REQUIRED |
Pour renvoyer cette valeur, l'utilisateur doit effectuer un processus d'actualisation. |
OTP_NOT_MATCHED |
Le mot de passe à usage unique ne correspond pas aux informations envoyées par l'intégrateur. |
OTP_ALREADY_USED |
L'OTP a déjà été utilisé. |
RISK_DECLINED |
La transaction a été refusée en raison d'une vérification des risques côté intégrateur. Il s'agit d'un échec de paiement permanent, mais n'entraîne pas la clôture du mode de paiement de l'utilisateur chez Google. |
NO_GOOD_FUNDING_SOURCE_AVAILABLE |
Aucune source de financement opérationnelle n'est configurée sur son compte et ne peut pas payer la transaction. |
FUNDING_SOURCE_UNAVAILABLE |
L'émetteur ou la source des fonds sous-jacents n'est pas disponible. Toute nouvelle tentative de paiement existante échouera. Google réessaiera les paiements renvoyés par un partenaire lorsqu'un partenaire renverra un code de réponse 4xx ou 5xx. Pour cette raison, les partenaires doivent normalement renvoyer l'un de ces codes de réponse si une nouvelle tentative de ce même paiement peut aboutir lorsque la source de fonds sous-jacente est à nouveau disponible. Toutefois, en cas d'échec du paiement pour des raisons techniques, le partenaire peut renvoyer "FUNDING_SOURCE_UNAVAILABLE". pour indiquer à Google qu'il ne doit pas réessayer ce même paiement. Remarque: Il est possible que Google réessaie d'effectuer ce paiement, mais avec un autre requestId. Toutefois, cette demande de paiement sera marquée comme refusée. |
MANDATE_NOT_ACTIVE |
Le mandat utilisé pour cette capture n'est plus actif. Cette valeur renvoyée entraîne la clôture du mode de mandat de l'utilisateur auprès de Google. |
UPCOMING_TRANSACTION_NOTIFICATION_EXPIRED |
La notification envoyée à l'utilisateur concernant le paiement de mandat récurrent a expiré. |