Method: refundResultNotification

Powiadom Google o wyniku zwrotu środków po wywołaniu metody refund.

Zwroty środków powinny być obsługiwane synchronicznie podczas wywołania metody refund, ale ta metoda zapewnia Google szybki sygnał zapasowy na wypadek niepowodzenia wywołania synchronicznego po wykonaniu działania, ale przed jego zwróceniem. Pozwoli to uniknąć opóźnienia związanego z zaplanowaniem przez Google ponownej próby w przyszłości.

Wartość refundResult jest idempotentna dla tego parametru refundRequestId, 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 ErrorResponse 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.

Przykładowe żądanie wygląda tak:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "HsKv5pvtQKTtz7rdcw1YqE",
    "requestTimestamp": "1481855928301"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "refundRequestId": "hH1T32PI86CpKwjuf6oD2r",
  "paymentIntegratorRefundId": "invisi/Id::xx__1243",
  "refundResult": "SUCCESS"
}

Przykładowa odpowiedź wygląda tak:


{
  "responseHeader": {
    "responseTimestamp": "1481855928376"
  },
  "result": "SUCCESS"
}

Żądanie HTTP

POST https://vgw.googleapis.com/secure-serving/gsp/v1/refundResultNotification/:PIAID

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "refundRequestId": string,
  "refundResult": enum (RefundResultCode),
  "paymentIntegratorRefundId": string
}
Pola
requestHeader

object (RequestHeader)

WYMAGANE: wspólny nagłówek dla wszystkich żądań.

paymentIntegratorAccountId

string

WYMAGANE: identyfikator konta integratora płatności, na którym dokonano zwrotu środków.

refundRequestId

string

WYMAGANE: unikalny identyfikator tego zwrotu środków, określony w polu requestId podczas wywoływania metody refund.

refundResult

enum (RefundResultCode)

WYMAGANE: wynik zwrotu.

paymentIntegratorRefundId

string

WYMAGANE: ten identyfikator jest powiązany z integratorem i jest przez niego generowany. Jest to identyfikator, pod którym integrator zna dany zwrot.

Dla wygody ten identyfikator jest podany w szczegółach płatności

Treść odpowiedzi

Obiekt odpowiedzi dla metody refundResultNotification.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (RefundResultNotificationResultCode)
}
Pola
responseHeader

object (ResponseHeader)

WYMAGANE: wspólny nagłówek wszystkich odpowiedzi.

result

enum (RefundResultNotificationResultCode)

WYMAGANE: wynik tego wywołania.

RefundResultCode

Zwrot środków za unikalne kody wyników.

Wartości w polu enum
UNKNOWN_RESULT Nigdy nie ustawiaj tej wartości domyślnej.
SUCCESS Zwrot środków został zrealizowany.
NO_MONEY_LEFT_ON_TRANSACTION Zwrot środków nie powiódł się. Na transakcji nie pozostały żadne środki. Zwykle jest to błąd komunikacji między integratorem a Google. Nie należy prosić o zwrot środków w wysokości wyższej niż pierwotna cena.
ACCOUNT_CLOSED

Konto powiązane z integratorem 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_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.

ACCOUNT_ON_HOLD Konto użytkownika jest obecnie zawieszone i nie może przyjąć zwrotu środków, ale może je później zaakceptować na jego koncie. W przyszłości Google może poprosić o kolejny zwrot środków, ale zrobi to za pomocą nowego konta requestId, dlatego należy uznać tę prośbę za zakończoną.
REFUND_EXCEEDS_MAXIMUM_BALANCE W tej chwili nie można przetworzyć zwrotu środków, ponieważ saldo użytkownika spowodowałoby przekroczenie maksymalnej dozwolonej kwoty. W przyszłości Google może poprosić o kolejny zwrot środków, ale zrobi to za pomocą nowego konta requestId, dlatego należy uznać tę prośbę za zakończoną.
REFUND_WINDOW_EXCEEDED Nie można przetworzyć zwrotu środków, ponieważ prośba wygasła po dozwolonym okresie zwrotu.

RefundResultNotificationResultCode

Kody wyników dla metody refundResultNotification.

Wartości w polu enum
UNKNOWN_RESULT Nigdy nie ustawiaj tej wartości domyślnej.
SUCCESS Powiadomienie o wyniku zwrotu środków zostało zrealizowane.