- HTTP-Anfrage
- Anfragetext
- Antworttext
- CaptureResult
- CaptureResultCode-Code
- RawResult
- CaptureResultNotificationResultCode fest.
Benachrichtigen Sie Google nach dem Aufruf einer Methode capture
oder asynchronousCapture
über das Ergebnis einer Aufnahme.
Der Wert captureResult
ist für diese captureRequestId
idempotent, d. h., er kann durch einen nachfolgenden Aufruf dieser Methode nicht geändert werden.
Wenn beim Verarbeiten der Anfrage ein Fehler auftritt, hat die Antwort vom Endpunkt
.ErrorResponse
Die Antworten auf diese Abfrage können leer sein, wenn die Methode kein HTTP 200 zurückgibt. Der Antworttext ist leer, wenn ein
mit einer klaren Beschreibung verwendet werden könnte, um einem Angreifer die Identifizierung des Zahlungsintegrators mit anderen Integratoren zu erleichtern. Wenn der Signaturschlüssel nicht übereinstimmt, die Zahlungsintegrations-ID nicht gefunden wurde oder der Verschlüsselungsschlüssel unbekannt ist, gibt diese Methode einen HTTP 404-Code mit leerem Text zurück. Wenn die Anfragesignatur verifiziert werden kann, werden zusätzliche Informationen zum Fehler im Antworttext zurückgegeben.ErrorResponse
Eine Beispielanfrage sieht so aus:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 1,
"revision": 0
},
"requestId": "KcgwSKrV76eVNDUbsZ4UA3",
"requestTimestamp": "1481852928293"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"captureRequestId": "awNaC510cefae3IJdNEvW2",
"captureResult": {
"captureResultCode": "SUCCESS"
}
}
Eine Beispielantwort sieht so aus:
{
"responseHeader": {
"responseTimestamp": "1481852928324"
},
"result": "SUCCESS"
}
HTTP-Anfrage
POST https://vgw.googleapis.com/secure-serving/gsp/v1/captureResultNotification/:PIAID
Anfragetext
Der Anfragetext enthält Daten mit folgender Struktur:
JSON-Darstellung |
---|
{ "requestHeader": { object ( |
Felder | |
---|---|
requestHeader |
REQUIRED: Allgemeiner Header für alle Anfragen. |
paymentIntegratorAccountId |
ERFORDERLICH: Die ID des Zahlungsintegrationskontos, für das die Erfassung erfolgt ist. |
captureRequestId |
REQUIRED: Eine eindeutige Kennung für diese Transaktion. Dies ist die Dieser String hat eine maximale Länge von 100 Zeichen und darf nur die Zeichen „a–z“, „A–Z“, „0–9“, „":"“, „-“ und „_“ enthalten. |
captureResult |
ERFORDERLICH: Ergebnis der Aufnahme. |
paymentIntegratorTransactionId |
OPTIONAL: Diese Kennung wird für den Integrator verwendet und generiert. Das ist die Kennung, mit der der Integrationspartner diese Transaktion kennt. Der Einfachheit halber ist diese ID in den Überweisungsdetails enthalten. |
Antworttext
Antwortobjekt für die Methode captureResultNotification
.
Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:
JSON-Darstellung |
---|
{ "responseHeader": { object ( |
Felder | |
---|---|
responseHeader |
REQUIRED: Allgemeiner Header für alle Antworten. |
result |
ERFORDERLICH: Ergebnis des Anrufs. |
Aufnahmeergebnis
Informationen zum Endergebnis einer Aufnahme.
JSON-Darstellung |
---|
{ "captureResultCode": enum ( |
Felder | |
---|---|
captureResultCode |
ERFORDERLICH: Ergebniscode dieser Aufnahme. |
rawResult |
OPTIONAL: Unformatiertes Ergebnis dieser Aufnahme. Wird verwendet, um die Risiko-Engine und Analysen von Google zu unterstützen. Bei der Ablehnung von Codezuordnungen gehen Daten manchmal verloren. Dieser kann Google einen Rohcode geben. Über ein Kreditkarten-Gateway (Integrator) kann beispielsweise dieses Feld verwendet werden, um Google über den genauen Ablehnungscode zu informieren, der vom VISA-Netzwerk empfangen wurde. In diesem Fall wäre das Dieser Wert ist erforderlich, wenn |
Union-Feld Für |
|
transactionMaxLimit |
OPTIONAL: Wenn Dieser Betrag ist micros des gleichen |
transactionMinLimit |
OPTIONAL: Wenn Dieser Betrag ist micros des gleichen |
currentBalance |
OPTIONAL: Wenn das Ergebnis Dieser Wert muss in derselben Währung angegeben werden wie der |
CaptureResultCode
Ergebniscodes für eine Aufnahme
Enums | |
---|---|
UNKNOWN_RESULT |
Legen Sie diesen Standardwert nie fest. |
SUCCESS |
Aufnahme erfolgreich. |
CHARGE_UNDER_TRANSACTION_LIMIT |
Der angeforderte Aufnahmebetrag entspricht nicht dem Mindestbetrag des Integrationspartners pro Transaktion. Wenn dieser Code verwendet wird, füllen Sie das Feld transactionMinLimit mit dem Mindesttransaktionsbetrag für Nutzermitteilungen aus. |
CHARGE_EXCEEDS_TRANSACTION_LIMIT |
Der angeforderte Aufnahmebetrag überschreitet das maximale Transaktionslimit des Integrationspartners. Wenn dieser Code verwendet wird, füllen Sie das Feld transactionMaxLimit mit dem Transaktionslimit für Nutzermitteilungen aus. |
CHARGE_EXCEEDS_DAILY_LIMIT |
Das Nutzerkonto kann nicht für Käufe verwendet werden, da das Tageslimit überschritten wurde. |
CHARGE_EXCEEDS_MONTHLY_LIMIT |
Das Nutzerkonto kann nicht für Käufe verwendet werden, da das monatliche Limit überschritten wurde. |
INSUFFICIENT_FUNDS |
Das Konto ist nicht ausreichend gedeckt, um diese Aufnahme zu sichern. |
SUSPECTED_FRAUD |
Der Integrator hat Grund zu der Annahme, dass diese Transaktion betrügerisch ist. |
ACCOUNT_CLOSED |
Das mit dem Integrationsinhaber verknüpfte Konto wurde geschlossen. Dieser Wert führt dazu, dass das Zahlungsmittel des Nutzers bei Google geschlossen wird. Der Nutzer wird gezwungen, ein neues Zahlungsmittel hinzuzufügen. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Das Nutzerkonto des Integrationspartners wurde geschlossen. Verdacht auf eine Kontoübernahme. Dieser Wert führt dazu, dass das Zahlungsmittel des Nutzers bei Google geschlossen wird. Der Nutzer wird gezwungen, ein neues Zahlungsmittel hinzuzufügen. |
ACCOUNT_CLOSED_FRAUD |
Das Nutzerkonto des Integrationspartners wurde wegen Betrugs geschlossen. Dieser Wert führt dazu, dass das Zahlungsmittel des Nutzers bei Google geschlossen wird. Der Nutzer wird gezwungen, ein neues Zahlungsmittel hinzuzufügen. |
ACCOUNT_ON_HOLD |
Das Konto des Nutzers ist vorübergehend deaktiviert. |
OTP_NOT_MATCHED |
Das OTP entsprach nicht dem, was der Integrator gesendet hat. |
OTP_ALREADY_USED |
OTP wurde bereits verwendet. |
CAPTURE_REQUEST_EXPIRED |
Es hat zu lange gedauert, bis der Integrator die Gelder des Nutzers erfasst hat. Google behandelt diese Ablehnung als endgültigen Status. Der Integrator muss also dafür sorgen, dass das Geld des Nutzers nicht später eingeholt wird oder dass der Nutzer automatisch eine Erstattung erhält, wenn die Erfassung abgeschlossen ist. |
INVALID_PIN |
Der Nutzer hat eine ungültige PIN angegeben. |
OS_LOCK_FAILED |
Für diesen Zahlungsvorgang ist eine Identitätssperre erforderlich und der Nutzer konnte das Gerät nicht entsperren. |
PIN_ENTRY_ATTEMPTS_EXHAUSTED |
Bei diesem Zahlungsvorgang muss die PIN des Nutzers eingegeben werden. Der Nutzer hat die PIN-Eingabe so oft wiederholt, dass keine Wiederholungen mehr möglich waren. |
USER_EXITED_PAYMENT_FLOW |
Der Nutzer hat den gesamten Zahlungsversuch abgebrochen (entweder bei der Betriebssystemsperre oder auf dem Bildschirm zur PIN-Eingabe). |
MONTHLY_FREQUENCY_LIMIT_EXCEEDED |
Das Konto des Nutzers kann derzeit nicht für Käufe verwendet werden, da das monatliche Limit für Transaktionsversuche überschritten wurde. |
DECLINED_BY_ISSUER |
Dieser Ablehnungscode sollte nie im stabilen Zustand verwendet werden. Es handelt sich um einen vorübergehenden Catchall-Code, der verwendet wird, wenn der Integrationspartner einen unbekannten Ablehnungscode vom zugrunde liegenden Aussteller des Gerätes des Nutzers erkennt. Dieser Ergebniscode kann verwendet werden, während der Integrator einen geeigneteren Ergebniscode ermittelt, der verwendet werden kann, oder mit dem Aushandeln eines neuen Ergebniscodes in diese Spezifikation verhandelt. Dieser Ablehnungscode ist jedoch eine echte Ablehnung. Dies gilt für Google dauerhaft. Wenn der Integrator dies zurückgibt, muss er herausfinden, was der Code des Ausstellers wirklich bedeutet, und dem Nutzer eine Erstattung gewähren, wenn der Code tatsächlich Wenn dieser Ablehnungscode länger als eine bestimmte Anzahl von Tagen für denselben Ablehnungscode verwendet wird, behandelt Google ihn als Programmfehler und verfolgt ihn in Bezug auf vertragliche Strafen bezüglich der Behebung von Programmfehlern entsprechend. |
Rohergebnis
Ergebnisobjekt.
JSON-Darstellung |
---|
{ "scope": string, "rawCode": string } |
Felder | |
---|---|
scope |
OPTIONAL: Der Bereich des RawCode-Bereichs kann leer sein. |
rawCode |
ERFORDERLICH: Der Rohcode des Integrations- oder untergeordneten Systems. |
Screenshot: ResultResultResultCode
Ergebniscodes für die Methode captureResultNotification
.
Enums | |
---|---|
UNKNOWN_RESULT |
Legen Sie diesen Standardwert nie fest. |
SUCCESS |
Benachrichtigung über das Aufnahmeergebnis wurde verarbeitet. |