Method: refund

Zwraca część lub całość transakcji zainicjowanej za pomocą capture. Połączenie elementu requestId w nagłówku i elementu paymentIntegratorAccountId to klucz idempotentności, który jednoznacznie identyfikuje tę transakcję.

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",
  "captureRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
  "currencyCode": "INR",
  "refundAmount": "208000000"
}

Przykładowa odpowiedź wygląda tak:


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "result": "SUCCESS",
  "paymentIntegratorRefundId": "cmVmdW5kIGlkZW50aWZpZXINCg"
}

Żądanie HTTP

POST https://www.integratorhost.example.com/v1/refund

Treść żądania

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

Zapis JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "captureRequestId": string,
  "currencyCode": string,
  "refundAmount": string
}
Pola
requestHeader

object (RequestHeader)

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

paymentIntegratorAccountId

string

WYMAGANE: jest to identyfikator konta integratora płatności, który określa ograniczenia umowne dotyczące tej transakcji.

captureRequestId

string

WYMAGANE: unikalny identyfikator transakcji. To jest requestId wygenerowany przez Google podczas rozmowy w usłudze capture, z którą jest powiązane to żądanie.

currencyCode

string

WYMAGANE: trzyliterowy kod waluty w standardzie ISO 4217.

refundAmount

string (Int64Value format)

WYMAGANE: kwota zwrotu środków, dodatnia liczba mikro jednostki waluty.

Treść odpowiedzi

Obiekt odpowiedzi dla metody zwrotu środków.

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

Zapis JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorRefundId": string,
  "result": enum (RefundResultCode),
  "rawResult": {
    object (RawResult)
  }
}
Pola
responseHeader

object (ResponseHeader)

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

paymentIntegratorRefundId

string

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

result

enum (RefundResultCode)

WYMAGANE: wynik zwrotu.

rawResult

object (RawResult)

OPCJONALNY: nieprzetworzony wynik zwrotu środków. 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 scope będzie to „wiza”. a rawCode to wszystko, co zwróciła sieć VISA.

Ta wartość jest wymagana, jeśli result nie ma wartości SUCCESS.

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 v1.Zwrot środków nie powiódł się, brak środków na transakcji. 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.