- Żądanie HTTP
- Treść żądania
- Treść odpowiedzi
- UpiDetails
- DisburseFundsResult
- DisburseFundsResultCode
- RawResult
Inicjuje przepływ środków między firmą obsługującą płatności a kontem klienta. Kombinacja typu requestId w nagłówku i paymentIntegratorAccountId to klucz idempotentności, który jednoznacznie identyfikuje tę transakcję. Wszystkie mutacje w 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 |
WYMAGANE: wspólny nagłówek dla wszystkich żądań. |
paymentIntegratorAccountId |
WYMAGANE: identyfikator konta integratora płatności określa ograniczenia umowne dotyczące tej transakcji. |
transactionDescription |
WYMAGANE: to jest opis transakcji, który można umieścić na wyciągu klienta. Zlokalizowana zgodnie z ustawieniami użytkownika w języku: |
currencyCode |
WYMAGANE: trzyliterowy kod waluty w standardzie ISO 4217. |
amount |
WYMAGANE: 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 |
WYMAGANE: wspólny nagłówek wszystkich odpowiedzi. |
paymentIntegratorTransactionId |
WYMAGANE: ten identyfikator jest powiązany z integratorem i jest przez niego generowany. Jest to identyfikator, za pomocą którego integrator zna tę transakcję. Dla wygody ten identyfikator jest podany w szczegółach płatności |
disburseFundsResult |
WYMAGANE: wynik wywołania wypłaty środków. |
UpiDetails
Szczegóły konta UPI, na które chcesz wypłacić środki.
| Zapis JSON |
|---|
{ "vpa": string } |
| Pola | |
|---|---|
vpa |
WYMAGANE: wirtualny adres płatności użytkownika (VPA) używany do przesyłania pieniędzy przy użyciu protokołu UPI. Na przykład foo@icici. |
DisburseFundsResult
Informacje o ostatecznym wyniku wypłaty.
| Zapis JSON |
|---|
{ "disburseFundsResultCode": enum ( |
| Pola | |
|---|---|
disburseFundsResultCode |
WYMAGANE: kod wyniku wypłaty. |
rawResult |
OPCJONALNIE: nieprzetworzony wynik wypłaty. Dane są używane do przekazywania informacji do programu wykrywającego zagrożenia Google i analiz. 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 tym przypadku Ta wartość jest wymagana, jeśli |
Pole sumy
|
|
transactionMaxLimit |
OPCJONALNIE: jeśli Ta wartość to micros tej samej wartości |
transactionMinLimit |
OPCJONALNIE: jeśli Ta wartość to micros tej samej wartości |
DisburseFundsResultCode
Kody wyników rozmowy dotyczącej wypłaty środków.
| Wartości w polu enum | |
|---|---|
UNKNOWN_RESULT |
Nigdy nie ustawiaj tej wartości domyślnej. |
SUCCESS |
Wypłata została zrealizowana. |
DISBURSEMENT_UNDER_TRANSACTION_LIMIT |
Żądana kwota wypłaty nie spełnia minimalnej kwoty wypłaty określonej przez integratora na transakcję. Jeśli ten kod jest używany, w polu transactionMinLimit wpisz minimalną kwotę transakcji na potrzeby wiadomości dla użytkowników. |
DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT |
Żądana kwota wypłaty przekracza maksymalny limit na transakcję integratora. Jeśli ten kod jest używany, w polu transactionMaxLimit wpisz limit transakcji na potrzeby wiadomości dla użytkowników. |
ACCOUNT_CLOSED |
Konto użytkownika powiązane z integratorem zostało zamknięte. Ta wartość zwrotna spowoduje zamknięcie instrumentu użytkownika przez Google. Użytkownik będzie musiał dodać nowy instrument. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Konto użytkownika integratora zostało zamknięte. Istnieje podejrzenie przejęcia konta. Ta wartość zwrotna spowoduje zamknięcie instrumentu użytkownika przez Google. Użytkownik będzie musiał dodać nowy instrument. |
ACCOUNT_CLOSED_FRAUD |
Konto użytkownika powiązane z integratorem zostało zamknięte z powodu oszustwa. Ta wartość zwrotna spowoduje zamknięcie instrumentu użytkownika przez Google. Użytkownik będzie musiał dodać nowy instrument. |
ACCOUNT_ON_HOLD |
Konto użytkownika jest wstrzymane. |
RawResult
Obiekt nieprzetworzonego wyniku.
| Zapis JSON |
|---|
{ "scope": string, "rawCode": string } |
| Pola | |
|---|---|
scope |
OPTIONAL: zakres kodu rawCode może być pusty. |
rawCode |
WYMAGANE: nieprzetworzony kod z integratora lub jego podsystemów. |