Method: refund

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

Jeśli podczas przetwarzania żądania punkt końcowy napotka błąd, treść odpowiedzi 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ź:


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

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

paymentIntegratorAccountId

string

WYMAGANE: jest to identyfikator konta integratora płatności, który określa ograniczenia umowne związane z tą transakcją.

captureRequestId

string

WYMAGANE: unikalny identyfikator tej transakcji. To jest requestId wygenerowane przez Google podczas wywołania capture, z którym powiązane jest to żądanie.

currencyCode

string

WYMAGANE: trzyliterowy kod waluty w standardzie ISO 4217

refundAmount

string (Int64Value format)

WYMAGANE: kwota zwrotu, dodatnia liczba micros jednostki waluty.

Treść odpowiedzi

Obiekt odpowiedzi na potrzeby 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

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

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

result

enum (RefundResultCode)

WYMAGANE: zwrot środków.

rawResult

object (RawResult)

OPTIONAL: nieprzetworzony wynik zwrotu środków. Dane służą do opracowywania silnika Google Analytics do analizy ryzyka. W przypadku mapowania kodu odrzucenia czasami dochodzi do utraty danych. Integrator może podać nieprzetworzony kod. Brama karty kredytowej (integrator) może na przykład użyć tego pola, by przekazać Google dokładny kod odrzucenia otrzymany od sieci VISA. W tym przypadku scope to „wiza”, a rawCode to wartość zwrócona przez sieć VISA.

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

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 Nie udało się dokonać transakcji w wersji v1.refund. Nie masz żadnych środków na 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.