Method: refundResultNotification

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

Zwroty środków należy realizować synchronicznie podczas wywołania metody refund, ale ta metoda przekazuje Google szybki sygnał zapasowy na wypadek, gdyby wywołanie synchroniczne zakończyło się niepowodzeniem po wykonaniu działania, ale przed zwróceniem wyniku. Pozwoli to uniknąć opóźnienia spowodowanego przez Google zaplanowania ponownej próby w przyszłości.

Wartość refundResult jest idempotentna dla refundRequestId, więc nie można jej zmienić przez kolejne wywołanie tej metody.

Jeśli podczas przetwarzania żądania punkt końcowy otrzyma 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 użyć ErrorResponse z wyraźnym opisem, aby ułatwić atakującemu rozpoznanie identyfikatora konta integratora płatności innych integratorów. W takich przypadkach, jeśli klucz podpisywania nie pasuje, nie znaleziono identyfikatora integratora płatności lub klucz szyfrowania jest nieznany, ta metoda zwraca kod HTTP 404 z pustą treścią. Jeśli będzie można zweryfikować podpis w żądaniu, w treści odpowiedzi zostaną zwrócone dodatkowe informacje o błędzie.

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ź:


{
  "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)

REQUIRED: wspólny nagłówek dla wszystkich żądań,

paymentIntegratorAccountId

string

WYMAGANE: identyfikator konta integratora płatności, na którym pojawił się zwrot środków.

refundRequestId

string

WYMAGANE: unikalny identyfikator zwrotu środków utworzony za pomocą pola requestId podczas wywoływania metody refund.

refundResult

enum (RefundResultCode)

WYMAGANE: zwrot środków.

paymentIntegratorRefundId

string

REQUIRED: ten identyfikator jest przeznaczony dla integratora i jest generowany przez integratora. Integrator zna ten zwrot środków.

Dla wygody podajemy ten identyfikator w szczegółach przelewu.

Treść odpowiedzi

Obiekt odpowiedzi na metodę 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 połączenia.

Kod zwrotu środków

Unikalny kod zapewnia zwrot środków.

Wartości w polu enum
UNKNOWN_RESULT Nie ustawiaj nigdy tej wartości domyślnej!
SUCCESS Zwrot środków został zrealizowany.
NO_MONEY_LEFT_ON_TRANSACTION Zwrot środków nie powiódł się, zostały środki z transakcji. Zwykle oznacza to błąd między integratorem a Google. Google nie powinno prosić o zwrot środków w wysokości wyższej niż pierwotna.
ACCOUNT_CLOSED

Konto zamknięte z integratorem zostało zamknięte.

Zwracanie tej wartości spowoduje zamknięcie instrumentu użytkownika w Google. Użytkownik będzie musiał dodać nowy instrument, przechodząc proces tworzenia powiązania.

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

Konto użytkownika u integratora zostało zamknięte, co do których zachodzi podejrzenie, że konto zostanie przejęte.

Zwracanie tej wartości spowoduje zamknięcie instrumentu użytkownika w Google. Użytkownik będzie musiał dodać nowy instrument, przechodząc proces tworzenia powiązania.

ACCOUNT_CLOSED_FRAUD

Konto użytkownika objęte integratorem zostało zamknięte z powodu oszustwa.

Zwracanie tej wartości spowoduje zamknięcie instrumentu użytkownika w Google. Użytkownik będzie musiał dodać nowy instrument, przechodząc proces tworzenia powiązania.

ACCOUNT_ON_HOLD Konto użytkownika jest obecnie wstrzymane i nie może zaakceptować zwrotu środków, ale konto użytkownika może później zaakceptować zwrot. W przyszłości możemy poprosić o kolejny zwrot środków, ale na nowym koncie – requestId, więc Twoje zgłoszenie zostanie uznane za zrealizowane.
REFUND_EXCEEDS_MAXIMUM_BALANCE W tej chwili nie możemy przetworzyć zwrotu środków, ponieważ spowodowałoby to, że saldo użytkownika przekroczyło maksymalną dozwoloną kwotę. W przyszłości możemy poprosić o kolejny zwrot środków, ale na nowym koncie – requestId, więc Twoje zgłoszenie zostanie uznane za zrealizowane.
REFUND_WINDOW_EXCEEDED Nie można przetworzyć zwrotu środków, ponieważ prośba wykracza poza dozwolony okres zwrotu.

RefundResultNotificationResultCode

Kody wyników metody metody refundResultNotification.

Wartości w polu enum
UNKNOWN_RESULT Nie ustawiaj nigdy tej wartości domyślnej!
SUCCESS Powiadomienie o zwrocie środków zostało wysłane.