- Requête HTTP
- Corps de la requête
- Corps de la réponse
- UpiDetails
- DisburseFundsResult
- DisburseFundsResultCode
- RawResult
Active un transfert d'argent entre la société de traitement des paiements et le compte du client. 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 renseignent la valeur requestId
dans le champ disburseFundsRequestId
.
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": "liUrreQY233839dfFFb24gaQM",
"requestTimestamp": "1502220434778"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"upiDetails": {
"vpa": "foo@icici"
},
"transactionDescription": "Google - Music",
"currencyCode": "INR",
"amount": "208000000"
}
Voici un exemple de réponse:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA",
"disburseFundsResult": {
"disburseFundsResultCode": "SUCCESS"
}
}
Requête HTTP
POST https://www.integratorhost.example.com/v1/disburseFunds
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 micros de la devise. |
Champ d'union
|
|
upiDetails |
FACULTATIF: informations de paiement spécifiques aux modes de paiement UPI. |
Corps de la réponse
Objet réponse pour le mode de paiement des fonds.
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. |
disburseFundsResult |
OBLIGATOIRE: résultat de l'appel du versement des fonds. |
UpiDetails
Informations concernant le compte UPI vers lequel effectuer le paiement.
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. |
DisburseFundsResult
Informations sur le résultat final d'un versement.
Représentation JSON |
---|
{ "disburseFundsResultCode": enum ( |
Champs | |
---|---|
disburseFundsResultCode |
OBLIGATOIRE: code de résultat de ce paiement. |
rawResult |
FACULTATIF: résultat brut de ce versement. Données utilisées pour alimenter le moteur de gestion des risques et les données analytiques de Google Dans les situations de mappage de code refusé, les 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 reçu du réseau VISA. Dans ce cas, le champ Cette valeur est obligatoire si |
Champ d'union
|
|
transactionMaxLimit |
FACULTATIF: Si Cette quantité est en micros du même |
transactionMinLimit |
FACULTATIF: Si Cette quantité est en micros du même |
DisburseFundsResultCode
Codes de résultat pour un appel de versement de fonds.
Enums | |
---|---|
UNKNOWN_RESULT |
Ne définissez jamais cette valeur par défaut. |
SUCCESS |
Paiement effectué. |
DISBURSEMENT_UNDER_TRANSACTION_LIMIT |
Le montant du versement demandé n'atteint pas le montant minimal par transaction de l'intégrateur. Si vous utilisez ce code, renseignez le champ transactionMinLimit avec le montant minimal de transaction pour envoyer des messages destinés aux utilisateurs. |
DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT |
Le montant du versement demandé dépasse la limite maximale par transaction de l'intégrateur. Si vous utilisez ce code, renseignez le champ transactionMaxLimit avec la limite de transaction pour envoyer des messages destinés aux utilisateurs. |
ACCOUNT_CLOSED |
Le compte de l'utilisateur détenu par l'intégrateur a été clôturé. Cette valeur renvoyée entraînera la fermeture de l'instrument de l'utilisateur auprès de Google. L'utilisateur est forcé d'ajouter un nouvel instrument. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Le compte de l'utilisateur associé à l'intégrateur a été clôturé, et il soupçonne un piratage. Cette valeur renvoyée entraînera la fermeture de l'instrument de l'utilisateur auprès de Google. L'utilisateur est forcé d'ajouter un nouvel instrument. |
ACCOUNT_CLOSED_FRAUD |
Le compte de l'utilisateur détenu par l'intégrateur a été clôturé pour fraude. Cette valeur renvoyée entraînera la fermeture de l'instrument de l'utilisateur auprès de Google. L'utilisateur est forcé d'ajouter un nouvel instrument. |
ACCOUNT_ON_HOLD |
Le compte de l'utilisateur est suspendu. |
RawResult
Objet de résultat brut.
Représentation JSON |
---|
{ "scope": string, "rawCode": string } |
Champs | |
---|---|
scope |
FACULTATIF: champ d'application du brutCode, peut être vide. |
rawCode |
OBLIGATOIRE: code brut de l'intégrateur ou des sous-systèmes qu'il contient. |