- Żądanie HTTP
- Treść żądania
- Treść odpowiedzi
- UpiDetails
- DisburseFundsResult
- DisburseFundsResultCode
- RawResult
Inicjuje przesyłanie pieniędzy między firmą obsługującą płatności a kontem klienta. Kombinacja requestId
w nagłówku i paymentIntegratorAccountId
jest kluczem idempotentności i jednoznacznie identyfikuje tę transakcję. Wszystkie mutacje tej transakcji wypełniają wartość requestId
w polu disburseFundsRequestId
.
Jeśli podczas przetwarzania żądania punkt końcowy napotka błąd, treść odpowiedzi z tego punktu końcowego powinna być typu
.ErrorResponse
Przykładowe żądanie wygląda tak:
{
"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"
}
Przykładowa odpowiedź wygląda tak:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA",
"disburseFundsResult": {
"disburseFundsResultCode": "SUCCESS"
}
}
Żądanie HTTP
POST https://www.integratorhost.example.com/v1/disburseFunds
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
Zapis JSON |
---|
{ "requestHeader": { object ( |
Pola | |
---|---|
requestHeader |
REQUIRED: wspólny nagłówek dla wszystkich żądań. |
paymentIntegratorAccountId |
WYMAGANE: to identyfikator konta integratora płatności, który określa ograniczenia umowne dotyczące tej transakcji. |
transactionDescription |
REQUIRED: to opis transakcji, który może zostać umieszczony na wyciągu klienta. Przetłumaczony na wartość userLocale z pliku |
currencyCode |
WYMAGANE: 3-literowy kod waluty w formacie ISO 4217 |
amount |
REQUIRED: kwota zakupu wyrażona w mikro jednostki waluty. |
Pole sumy
|
|
upiDetails |
OPCJONALNIE: szczegóły płatności związane z instrumentami UPI. |
Treść odpowiedzi
Obiekt odpowiedzi dla metody wypłaty środków.
W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:
Zapis JSON |
---|
{ "responseHeader": { object ( |
Pola | |
---|---|
responseHeader |
REQUIRED: wspólny nagłówek wszystkich odpowiedzi. |
paymentIntegratorTransactionId |
WYMAGANE: ten identyfikator jest specyficzny dla integratora i jest przez niego generowany. Jest to identyfikator, na podstawie którego integrator zna tę transakcję. Dla ułatwienia ten identyfikator jest podany w szczegółach płatności |
disburseFundsResult |
REQUIRED: wynik wywołania wypłaty środków. |
UpiDetails
Szczegóły konta UPI, na które ma zostać wypłacona płatność.
Zapis JSON |
---|
{ "vpa": string } |
Pola | |
---|---|
vpa |
WYMAGANE: wirtualny adres płatności (VPA) użytkownika używany do przesyłania pieniędzy za pomocą protokołu UPI. Na przykład foo@icici. |
DisburseFundsResult
Informacje o ostatecznym wyniku wypłaty.
Zapis JSON |
---|
{ "disburseFundsResultCode": enum ( |
Pola | |
---|---|
disburseFundsResultCode |
REQUIRED: kod wyniku tej wypłaty. |
rawResult |
OPCJONALNY: nieprzetworzony wynik wypłaty. Informacje są wykorzystywane w celu informowania silnika ryzyka i analiz Google. W przypadku mapowania kodu odrzucenia czasami dochodzi do utraty danych. Integrator może przekazać Google nieprzetworzony kod. Brama karty kredytowej (integrator) może na przykład użyć tego pola, by przekazać Google dokładny kod odrzucenia otrzymany z sieci VISA. W takim przypadku wartością Ta wartość jest wymagana, jeśli |
Pole sumy
|
|
transactionMaxLimit |
OPCJONALNIE: jeśli Ta kwota to mikro tej samej wartości |
transactionMinLimit |
OPCJONALNIE: jeśli Ta kwota to mikro tej samej wartości |
DisburseFundsResultCode
Kody wyników wywołania wypłaty środków.
Wartości w polu enum | |
---|---|
UNKNOWN_RESULT |
Nigdy nie ustawiaj tej wartości domyślnej. |
SUCCESS |
Środki zostały wypłacone. |
DISBURSEMENT_UNDER_TRANSACTION_LIMIT |
Żądana kwota wypłaty nie spełnia minimalnej kwoty transakcji integratora. Jeśli używasz tego kodu, wypełnij pole transactionMinLimit minimalną kwotą transakcji na potrzeby wiadomości dla użytkowników. |
DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT |
Żądana kwota wypłaty przekracza maksymalny limit integratora na transakcję. Jeśli używasz tego kodu, wypełnij pole transactionMaxLimit limitem transakcji na potrzeby przesyłania wiadomości użytkownikom. |
ACCOUNT_CLOSED |
Konto użytkownika powiązane z integratorem zostało zamknięte. Ta wartość zwrócona spowoduje zamknięcie instrumentu użytkownika przez Google. Użytkownik będzie musiał dodać nowy instrument. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Konto użytkownika z integratorem zostało zamknięte. Podejrzewa się, że konto zostało przejęte. Ta wartość zwrócona spowoduje zamknięcie instrumentu użytkownika przez Google. Użytkownik będzie musiał dodać nowy instrument. |
ACCOUNT_CLOSED_FRAUD |
Konto użytkownika zablokowane u integratora zostało zamknięte z powodu oszustwa. Ta wartość zwrócona spowoduje zamknięcie instrumentu użytkownika przez Google. Użytkownik będzie musiał dodać nowy instrument. |
ACCOUNT_ON_HOLD |
Konto użytkownika jest zablokowane. |
RawResult
Nieprzetworzony obiekt wyniku.
Zapis JSON |
---|
{ "scope": string, "rawCode": string } |
Pola | |
---|---|
scope |
OPTIONAL: zakres obiektu rawCode; może być pusty. |
rawCode |
WYMAGANE: nieprzetworzony kod z integratora lub jego podsystemów. |