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ć
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.ErrorResponse
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 ( |
Pola | |
---|---|
requestHeader |
REQUIRED: wspólny nagłówek dla wszystkich żądań, |
paymentIntegratorAccountId |
WYMAGANE: identyfikator konta integratora płatności, na którym pojawił się zwrot środków. |
refundRequestId |
WYMAGANE: unikalny identyfikator zwrotu środków utworzony za pomocą pola |
refundResult |
WYMAGANE: zwrot środków. |
paymentIntegratorRefundId |
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 ( |
Pola | |
---|---|
responseHeader |
WYMAGANE: wspólny nagłówek wszystkich odpowiedzi. |
result |
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. |