- Żądanie HTTP
- Treść żądania
- Treść odpowiedzi
- MandateDetails
- MandateWithNotificationDetails
- CaptureContext
- CaptureResultCode
Inicjuje przesyłanie pieniędzy między kontem klienta przechowywanym w Google a podmiotem przetwarzającym płatności. Kombinacja requestId
w nagłówku i paymentIntegratorAccountId
jest kluczem idempotentności i jednoznacznie identyfikuje tę transakcję. Wszystkie mutacje w tej transakcji (zwroty środków) wypełniają wartość requestId
w polu captureRequestId
.
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": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"requestTimestamp": "1502220196077"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"googlePaymentToken": "ZXhhbXBsZSB1bmlxdWUgcGF5bWVudCB0b2tlbiB2YWx1ZQ",
"transactionDescription": "Google - Music",
"currencyCode": "INR",
"amount": "728000000",
"captureContext": {}
}
Przykładowa odpowiedź wygląda tak:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "SUCCESS",
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}
Żądanie HTTP
POST https://www.integratorhost.example.com/v1/capture
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: to identyfikator konta integratora płatności, który określa ograniczenia umowne dotyczące tej transakcji. |
transactionDescription |
REQUIRED: to opis transakcji, który może zostać umieszczony na wyciągu klienta. Przetłumaczony na wartość userLocale z pliku |
currencyCode |
WYMAGANE: 3-literowy kod waluty w formacie ISO 4217 |
amount |
REQUIRED: kwota zakupu wyrażona w mikro jednostki waluty. |
captureContext |
REQUIRED: kontekst tego zapisu. |
Pole sumy fopDetails . REQUIRED: szczegóły formy płatności dla tej transakcji Capture. fopDetails może mieć tylko jedną z tych wartości: |
|
googlePaymentToken |
Token, którego obie firmy będą używać do identyfikowania konta do dokonywania zakupów między sobą. |
mandateDetails |
Szczegóły płatności dotyczące upoważnienia. |
mandateWithNotificationDetails |
Dane do płatności związane z upoważnieniami (jeśli wymagany jest |
Pole sumy
|
|
authenticationRequestId |
OPCJONALNIE: Jeśli ten parametr występuje, użytkownik został uwierzytelniony bezpośrednio przed tym połączeniem lub uwierzytelniony podczas konfigurowania harmonogramu płatności automatycznych. |
otpVerification |
OPCJONALNIE: dane niezbędne do weryfikacji hasła jednorazowego wygenerowanego za pomocą |
Treść odpowiedzi
Obiekt odpowiedzi dla metody przechwytywania.
W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:
Zapis JSON |
---|
{ "responseHeader": { object ( |
Pola | |
---|---|
responseHeader |
REQUIRED: wspólny nagłówek wszystkich odpowiedzi. |
paymentIntegratorTransactionId |
OPCJONALNIE: ten identyfikator jest specyficzny dla integratora i jest przez niego generowany. Jest to identyfikator, na podstawie którego integrator zna tę transakcję. Dla ułatwienia ten identyfikator jest podany w szczegółach płatności |
userMessage |
WYCOFANE: opis wyniku, który wyświetla się użytkownikowi, jeśli wynik nie jest |
result |
REQUIRED: wynik przechwytywania. |
rawResult |
OPTIONAL: nieprzetworzony wynik przechwytywania; Informacje są wykorzystywane w celu informowania silnika ryzyka i analiz Google. 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 takim przypadku wartością Ta wartość jest wymagana, jeśli |
transactionLimit |
OPCJONALNIE: jeśli wynik to Musi to być limit w stosunku do wartości |
currentBalance |
OPCJONALNIE: jeśli wynik to Ta wartość musi być w tej samej walucie co |
MandateDetails
Szczegółowe informacje o upoważnieniu do robienia zdjęć.
Zapis JSON |
---|
{ "mandateId": string } |
Pola | |
---|---|
mandateId |
WYMAGANE: wygenerowany przez Google identyfikator upoważnienia, który został wysłany podczas rozmowy |
MandateWithNotificationDetails
Szczegółowe informacje o upoważnieniu, z którego pochodzą, oraz o wymaganych powiadomieniach.
Zapis JSON |
---|
{ "mandateId": string, "upcomingTransactionNotificationId": string } |
Pola | |
---|---|
mandateId |
WYMAGANE: wygenerowany przez Google identyfikator upoważnienia, który został wysłany podczas rozmowy |
upcomingTransactionNotificationId |
REQUIRED: |
CaptureContext
Ten obiekt dostarcza informacji o tym, jak zażądano przechwytywania.
Zapis JSON |
---|
{ "userIpAddress": string } |
Pola | |
---|---|
userIpAddress |
OPCJONALNIE: jest to adres IP urządzenia użytkownika, jeśli zakupu dokonał w trakcie sesji użytkownika. Jeśli użytkownika nie było w sesji, pole jest puste. Jeśli w umowie nie określono potrzeby wypełnienia tego pola, to pole zawsze będzie puste. |
CaptureResultCode
Kody wyników do przechwytywania.
Wartości w polu enum | |
---|---|
UNKNOWN_RESULT |
Nigdy nie ustawiaj tej wartości domyślnej. |
SUCCESS |
Udało się zarejestrować, dostarczyć towary. |
CHARGE_EXCEEDS_TRANSACTION_LIMIT |
amount tego żądania przechwytywania przekracza limit na transakcję. Jeśli ten kod jest używany, wypełnij pole transactionLimit na potrzeby komunikacji z użytkownikami. |
CHARGE_EXCEEDS_DAILY_LIMIT |
Nie możesz w tej chwili użyć tego konta do zakupów, ponieważ zostało przekroczone dzienne limity. |
CHARGE_EXCEEDS_MONTHLY_LIMIT |
Nie możesz w tej chwili użyć tego konta do zakupów, ponieważ przekroczyło miesięczne limity. |
CHARGE_UNDER_LIMIT |
amount tego żądania zapisu nie spełnia minimalnej kwoty transakcji. |
INSUFFICIENT_FUNDS |
Na tym koncie nie ma wystarczających środków, aby zagwarantować przejęcie. |
ACCOUNT_DOES_NOT_SUPPORT_CURRENCY |
To konto nie obsługuje żądanej waluty. |
ACCOUNT_CLOSED |
Konto użytkownika 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, ponownie przechodząc proces powiązania. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Konto użytkownika w usłudze integratora zostało zamknięte. Podejrzewamy przejęcie konta. Zwrócenie tej wartości spowoduje zamknięcie instrumentu użytkownika przez Google. Użytkownik będzie musiał dodać nowy instrument, ponownie przechodząc proces powiązania. |
ACCOUNT_ON_HOLD |
Konto jest wstrzymane. |
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, ponownie przechodząc proces powiązania. |
GOOGLE_PAYMENT_TOKEN_INVALIDATED_BY_USER |
Konto jest aktywne, ale tag GPT został unieważniony przez użytkownika po stronie integratora. Zwrócenie tej wartości spowoduje zamknięcie instrumentu użytkownika przez Google. Użytkownik będzie musiał dodać nowy instrument, ponownie przechodząc proces powiązania. |
TOKEN_REFRESH_REQUIRED |
Zwrócenie tego wyniku wymaga od użytkownika przejścia przez proces odświeżania. |
OTP_NOT_MATCHED |
Hasło jednorazowe nie jest zgodne z tym, co wysłał integrator. |
OTP_ALREADY_USED |
Hasło jednorazowe zostało już użyte. |
RISK_DECLINED |
Transakcja została odrzucona z powodu kontroli ryzyka po stronie integratora. Jest to trwała nieudana próba płatności, ale nie powoduje to zamknięcia instrumentu płatności użytkownika w Google. |
NO_GOOD_FUNDING_SOURCE_AVAILABLE |
Użytkownik nie ma na swoim koncie żadnego działającego źródła finansowania, które mogłoby zapłacić za transakcję. |
FUNDING_SOURCE_UNAVAILABLE |
Wydawca lub źródło środków jest niedostępne. Próba ponowienia próby nie powiedzie się. Ponawiamy próby płatności, gdy partner zwróci kod odpowiedzi 4xx lub 5xx. Z tego powodu partnerzy powinni zwykle zwracać jeden z tych kodów odpowiedzi, jeśli ponowna próba dokonania tej samej płatności może się udać, gdy źródło środków będzie ponownie dostępne. Jeśli jednak z przyczyn technicznych Google ponowienie próby płatności nie powiedzie się, partner może zwrócić wartość „FUNDING_SOURCE_UNAVAILABLE”, aby poinformować Google, że nie należy ponawiać próby dokonania tej samej płatności. Uwaga: Google nadal może ponowić tę płatność, ale z użyciem innego identyfikatora żądania, ta prośba zostanie jednak oznaczona jako odrzucona. |
MANDATE_NOT_ACTIVE |
Upoważnienie użyte do tego zapisu nie jest już aktywne. Ta wartość zwracana spowoduje zamknięcie instrumentu rozliczeniowego użytkownika w Google. |
UPCOMING_TRANSACTION_NOTIFICATION_EXPIRED |
Powiadomienie wysłane do użytkownika w związku z cyklicznym obciążeniem wygasło. |