- Requête HTTP
- Corps de la requête
- Corps de la réponse
- UpiDetails
- TokenizedInstrumentDetails
- AsynchronousCaptureResultCode
Déclenche une opération de transfert d'argent entre le compte du client et l'intégrateur. L'intégrateur doit accuser réception de la demande et effectuer toutes les actions nécessaires pour finaliser la capture (par exemple, obtenir un code d'accès auprès de l'utilisateur). L'intégrateur informe Google du résultat final de la capture en appelant l'API CaptureResultNotification.
La combinaison de requestId
dans l'en-tête et paymentIntegratorAccountId
constitue la clé d'idempotence et identifie cette transaction de manière unique. Toutes les mutations de 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": 1,
"revision": 0
},
"requestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"requestTimestamp": "1502220196077"
},
"paymentIntegratorAccountId": "InvisiCashIN_INR",
"upiDetails": {
"vpa": "foo@icici"
},
"transactionDescription": "Google - Music",
"currencyCode": "INR",
"amount": "728000000"
}
Voici un exemple de réponse:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "ACKNOWLEDGED",
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}
Requête HTTP
POST https://www.integratorhost.example.com/v1/asynchronousCapture
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 pour toutes les requêtes. |
paymentIntegratorAccountId |
OBLIGATOIRE: il s'agit de l'identifiant de compte de l'intégrateur de paiement qui identifie les contraintes contractuelles liées à cette transaction. |
transactionDescription |
OBLIGATOIRE: description de la transaction qui peut être indiquée sur le relevé du client. Localisé dans le userLocale trouvé dans le |
currencyCode |
OBLIGATOIRE: code de devise ISO 4217 à trois lettres |
amount |
OBLIGATOIRE: montant de l'achat en micro-unités de la devise. |
Champ d'union
|
|
upiDetails |
FACULTATIF: informations de paiement spécifiques aux modes de paiement UPI. |
tokenizedInstrumentDetails |
FACULTATIF: informations de paiement spécifiques aux modes tokenisés. |
Corps de la réponse
Objet 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 pour toutes les réponses. |
paymentIntegratorTransactionId |
OBLIGATOIRE: cet identifiant est spécifique à l'intégrateur. Il est généré par l'intégrateur. 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 paiement. |
result |
OBLIGATOIRE: résultat de l'appel de capture asynchrone. |
UpiDetails
Informations sur le compte UPI à partir duquel la capture doit être effectuée.
Représentation JSON |
---|
{ "vpa": string } |
Champs | |
---|---|
vpa |
OBLIGATOIRE: Adresse de paiement virtuelle (VPA) de l'utilisateur utilisée pour transférer de l'argent à l'aide du protocole UPI. Exemple : foo@icici. |
TokenizedInstrumentDetails
Informations sur le compte à partir duquel effectuer la collecte.
Représentation JSON |
---|
{ "googlePaymentToken": string } |
Champs | |
---|---|
googlePaymentToken |
OBLIGATOIRE: il s'agit du jeton que les deux entreprises utiliseront pour identifier le compte lors des achats entre elles. |
AsynchronousCaptureResultCode
Codes de résultat pour asynchroneCapture.
Enums | |
---|---|
UNKNOWN_RESULT |
Ne définissez jamais cette valeur par défaut. |
ACKNOWLEDGED |
La capture a été demandée, et l'intégrateur effectuera des étapes supplémentaires pour déterminer si la capture a réussi ou refusée. Une fois que l'intégrateur a connaissance du résultat de la capture, il en informe Google en appelant l'API captureResultNotification . |
ACCOUNT_CLOSED |
Le compte de l'utilisateur détenu par l'intégrateur a été clôturé. Le renvoi de cette valeur entraînera la fermeture de l'instrument de l'utilisateur auprès de Google. L'utilisateur sera forcé d'ajouter un nouvel instrument en revenant au processus d'association. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Le compte de l'utilisateur associé à l'intégrateur a été clôturé, et il soupçonne un piratage. Le renvoi de cette valeur entraînera la fermeture de l'instrument de l'utilisateur auprès de Google. L'utilisateur sera forcé d'ajouter un nouvel instrument en revenant au processus 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înera la fermeture de l'instrument de l'utilisateur auprès de Google. L'utilisateur sera forcé d'ajouter un nouvel instrument en revenant au processus d'association. |