- Żądanie HTTP
- Treść żądania
- Treść odpowiedzi
- CaptureResult
- CaptureResultCode
- RawResult
- CaptureResultNotificationResultCode
Powiadom Google o wyniku przechwytywania po wywołaniu metody capture lub asynchronousCapture.
Wartość captureResult jest idempotentna dla tego parametru captureRequestId, więc nie można jej zmienić przez kolejne wywołanie tej metody.
Jeśli podczas przetwarzania żądania punkt końcowy napotka błąd, odpowiedź z tego punktu końcowego będzie typu .ErrorResponse
Jeśli ta metoda nie zwraca kodu HTTP 200, odpowiedzi na to zapytanie mogą być puste. Treść odpowiedzi jest pusta w sytuacjach, gdy można wykorzystać pole z jasnym opisem, aby ułatwić osobie przeprowadzającej atak rozpoznanie identyfikatora konta integratora płatności innych integratorów. W takich sytuacjach, gdy klucz podpisywania nie pasuje, nie znaleziono identyfikatora integratora płatności lub klucz szyfrowania jest nieznany, ta metoda zwróci błąd HTTP 404 z pustą treścią. Jeśli podpis żądania można zweryfikować, dodatkowe informacje dotyczące błędu zostaną zwrócone w treści odpowiedzi.ErrorResponse
Przykładowe żądanie wygląda tak:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 1,
"revision": 0
},
"requestId": "KcgwSKrV76eVNDUbsZ4UA3",
"requestTimestamp": "1481852928293"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"captureRequestId": "awNaC510cefae3IJdNEvW2",
"captureResult": {
"captureResultCode": "SUCCESS"
}
}
Przykładowa odpowiedź wygląda tak:
{
"responseHeader": {
"responseTimestamp": "1481852928324"
},
"result": "SUCCESS"
}
Żądanie HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/captureResultNotification/:PIAID
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, na którym przechwycono dane. |
captureRequestId |
WYMAGANE: unikalny identyfikator transakcji. To jest Jest to ciąg o maksymalnej długości 100 znaków, który zawiera tylko znaki „a–z”, „A–Z”, „0–9”, „:”, „-” i „_”. |
captureResult |
WYMAGANE: wynik tego przechwytywania. |
paymentIntegratorTransactionId |
OPCJONALNY: 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 |
Treść odpowiedzi
Obiekt odpowiedzi dla metody captureResultNotification.
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. |
result |
WYMAGANE: wynik tego wywołania. |
CaptureResult
Informacje o ostatecznym wyniku skanowania.
| Zapis JSON |
|---|
{ "captureResultCode": enum ( |
| Pola | |
|---|---|
captureResultCode |
WYMAGANE: kod wyniku tego zapisu. |
rawResult |
OPCJONALNY: nieprzetworzony wynik tego zapisu. 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 |
currentBalance |
OPCJONALNIE: jeśli Wynik to Ta wartość musi być w tej samej walucie co |
CaptureResultCode
Kody wyników przechwytywania.
| Wartości w polu enum | |
|---|---|
UNKNOWN_RESULT |
Nigdy nie ustawiaj tej wartości domyślnej. |
SUCCESS |
Przechwycono. |
CHARGE_UNDER_TRANSACTION_LIMIT |
Żądana kwota przechwytywania nie spełnia minimalnej kwoty na transakcję integratora. Jeśli ten kod jest używany, w polu transactionMinLimit wpisz minimalną kwotę transakcji na potrzeby wiadomości dla użytkowników. |
CHARGE_EXCEEDS_TRANSACTION_LIMIT |
Żądana kwota przechwytywania 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. |
CHARGE_EXCEEDS_DAILY_LIMIT |
Nie możesz teraz używać tego konta do dokonywania zakupów, ponieważ został przekroczony limit dzienny. |
CHARGE_EXCEEDS_MONTHLY_LIMIT |
Nie możesz teraz używać konta użytkownika do robienia zakupów, ponieważ przekroczył on miesięczny limit. |
INSUFFICIENT_FUNDS |
Na tym koncie nie ma wystarczających środków, aby zagwarantować wykonanie tego zdjęcia. |
SUSPECTED_FRAUD |
Integrator ma powody, aby podejrzewać, że ta transakcja jest oszustwem. |
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. |
OTP_NOT_MATCHED |
Hasło jednorazowe nie odpowiada temu, co wysłał integrator. |
OTP_ALREADY_USED |
Hasło jednorazowe zostało już użyte. |
CAPTURE_REQUEST_EXPIRED |
Przejęcie środków użytkownika przez integratora trwało zbyt długo. Google będzie traktować to odrzucenie jako ostateczny stan, dlatego integrator musi zadbać o to, aby środki użytkownika nie zostały pobrane później lub że użytkownik otrzyma automatyczny zwrot środków, jeśli rejestracja zakończyła się sukcesem. |
INVALID_PIN |
Użytkownik podał nieprawidłowy kod PIN. |
OS_LOCK_FAILED |
Ten proces płatności wymaga blokady systemu operacyjnego, a użytkownik nie może odblokować urządzenia. |
PIN_ENTRY_ATTEMPTS_EXHAUSTED |
Ten proces płatności wymaga podania kodu PIN użytkownika. Użytkownik nie próbował podać kodu PIN tyle razy, że nie mógł już wykonywać 1 próby. |
USER_EXITED_PAYMENT_FLOW |
Użytkownik anulował całą próbę płatności (na ekranie blokady systemu operacyjnego lub na ekranie wprowadzania kodu PIN). |
MONTHLY_FREQUENCY_LIMIT_EXCEEDED |
Nie możesz teraz używać konta użytkownika do robienia zakupów, ponieważ przekroczył on miesięczny limit prób transakcji. |
DECLINED_BY_ISSUER |
Tego kodu odrzucenia nie należy nigdy używać w stałym stanie. Jest to tymczasowy kod typucatch-all, który ma być używany, gdy integrator napotka nieznany kod odrzucenia u wydawcy instrumentu użytkownika. Tego kodu wyniku można używać, gdy integrator określa bardziej odpowiedni kod wyniku do użycia lub negocjuje dodanie nowego kodu wyniku do tej specyfikacji. Co ważne, ten kod odrzucenia to rzeczywisty kod odrzucenia. Z punktu widzenia Google jest to stały spadek. Po zwróceniu tego kodu przez integratora musi znaleźć kod wydawcy i zwrócić środki użytkownikowi, jeśli okaże się, że kod rzeczywiście oznaczał Jeśli ten kod odrzucenia jest używany w przypadku tego samego kodu odrzucenia przez więcej niż pewną liczbę dni, Google potraktuje go jako błąd i odpowiednio śledzi go pod kątem wszelkich kar umownych dotyczących naprawiania błędów. |
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. |
CaptureResultNotificationResultCode
Kody wyników dla metody captureResultNotification.
| Wartości w polu enum | |
|---|---|
UNKNOWN_RESULT |
Nigdy nie ustawiaj tej wartości domyślnej. |
SUCCESS |
Powiadomienie o wyniku przechwytywania zostało przetworzone. |