- Żądanie HTTP
- Treść żądania
- Treść odpowiedzi
- UpiDetails
- TokenizedInstrumentDetails
- AsynchronousCaptureResultCode
Wywołuje rozpoczęcie operacji związanej z przepływem środków między kontem klienta a integratorem. Integrator powinien zaakceptować żądanie i wykonać wszystkie czynności niezbędne do zakończenia przechwytywania (np. zebrać kod PIN od użytkownika). Integrator informuje Google o ostatecznym wyniku przechwytywania, wywołując interfejs CaptureResult Notification API.
Kombinacja typu requestId w nagłówku i paymentIntegratorAccountId to klucz idempotentności, który jednoznacznie identyfikuje tę transakcję. Wszystkie mutacje w tej transakcji (zwroty środków) wypełniają wartość requestId w polu captureRequestId.
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": 1,
"revision": 0
},
"requestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"requestTimestamp": "1502220196077"
},
"paymentIntegratorAccountId": "InvisiCashIN_INR",
"upiDetails": {
"vpa": "foo@icici"
},
"transactionDescription": "Google - Music",
"currencyCode": "INR",
"amount": "728000000"
}
Przykładowa odpowiedź wygląda tak:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "ACKNOWLEDGED",
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}
Żądanie HTTP
POST https://www.integratorhost.example.com/v1/asynchronousCapture
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 w milionowych częściach jednostki waluty. |
Pole sumy
|
|
upiDetails |
OPCJONALNIE: szczegóły płatności związane z instrumentami UPI. |
tokenizedInstrumentDetails |
OPCJONALNIE: dane do płatności dotyczące instrumentów tokenizowanych. |
Treść odpowiedzi
Obiekt odpowiedzi dla metody przechwytywania.
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 |
result |
WYMAGANE: wynik wywołania asynchronicznego przechwytywania. |
UpiDetails
Szczegółowe informacje o koncie UPI, z którego ma być przechwytywane.
| 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. |
TokenizedInstrumentDetails
Szczegółowe informacje o koncie, z którego ma zostać przechwycony kod.
| Zapis JSON |
|---|
{ "googlePaymentToken": string } |
| Pola | |
|---|---|
googlePaymentToken |
WYMAGANE: tego tokena będą używać obie firmy do identyfikowania konta na potrzeby zakupów. |
AsynchronousCaptureResultCode
Kody wyników przechwytywania asynchronicznego.
| Wartości w polu enum | |
|---|---|
UNKNOWN_RESULT |
Nigdy nie ustawiaj tej wartości domyślnej. |
ACKNOWLEDGED |
Wysłano prośbę o przechwytywanie, a integrator wykona dodatkowe czynności, aby określić, czy przechwytywanie się udało. Gdy integrator zna wynik przechwytywania, poinformuje o tym Google, wywołując interfejs API captureResultNotification. |
ACCOUNT_CLOSED |
Konto użytkownika przypisane do integratora zostało zamknięte. Zwrócenie tej wartości spowoduje zamknięcie instrumentu użytkownika przez Google. Użytkownik będzie musiał dodać nowy instrument, wykonując ponownie proces tworzenia powiązania. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Konto użytkownika u integratora zostało zamknięte. Istnieje podejrzenie przejęcia konta. Zwrócenie tej wartości spowoduje zamknięcie instrumentu użytkownika przez Google. Użytkownik będzie musiał dodać nowy instrument, wykonując ponownie proces tworzenia powiązania. |
ACCOUNT_ON_HOLD |
Konto jest wstrzymane. |
ACCOUNT_CLOSED_FRAUD |
Konto użytkownika powiązane z integratorem zostało zamknięte z powodu oszustwa. Zwrócenie tej wartości spowoduje zamknięcie instrumentu użytkownika przez Google. Użytkownik będzie musiał dodać nowy instrument, wykonując ponownie proces tworzenia powiązania. |