- HTTP-Anfrage
- Anfragetext
- Antworttext
- MandateDetails
<ph type="x-smartling-placeholder">
- </ph>
- JSON-Darstellung
- MandateWithNotificationDetails
<ph type="x-smartling-placeholder">
- </ph>
- JSON-Darstellung
- CaptureContext
<ph type="x-smartling-placeholder">
- </ph>
- JSON-Darstellung
- CaptureResultCode
Veranlasst Geldtransfer zwischen dem bei Google geführten Kundenkonto und dem Zahlungsabwickler. Die Kombination aus requestId
im Header und paymentIntegratorAccountId
ist der Idempotenzschlüssel und identifiziert diese Transaktion eindeutig. Bei allen Mutationen bei dieser Transaktion (Erstattungen) wird der Wert requestId
im Feld captureRequestId
eingetragen.
Wenn am Endpunkt bei der Verarbeitung der Anfrage ein Fehler auftritt, sollte der Antworttext von diesem Endpunkt den Typ
haben.ErrorResponse
Eine Beispielanfrage sieht so aus:
{
"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": {}
}
Eine Beispielantwort sieht so aus:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "SUCCESS",
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}
HTTP-Anfrage
POST https://www.integratorhost.example.com/v1/capture
Anfragetext
Der Anfragetext enthält Daten mit folgender Struktur:
JSON-Darstellung |
---|
{ "requestHeader": { object ( |
Felder | |
---|---|
requestHeader |
ERFORDERLICH: Gemeinsamer Header für alle Anfragen. |
paymentIntegratorAccountId |
ERFORDERLICH: Dies ist die Konto-ID des Zahlungsintegrators, die vertragliche Einschränkungen für diese Transaktion angibt. |
transactionDescription |
ERFORDERLICH: Beschreibung der Transaktion, die auf der Abrechnung des Kunden verwendet werden kann. Lokalisiert gemäß der userLocale, die in |
currencyCode |
ERFORDERLICH: Der dreistellige Währungscode gemäß ISO 4217. |
amount |
ERFORDERLICH: Der Kaufbetrag in Mikros der Währungseinheit. |
captureContext |
ERFORDERLICH: Kontext zu dieser Aufnahme. |
Union-Feld fopDetails . ERFORDERLICH: FOP-Details für diese Capture-Transaktion. Für fopDetails ist nur einer der folgenden Werte zulässig: |
|
googlePaymentToken |
Token, das beide Unternehmen verwenden, um das Konto für Käufe untereinander zu identifizieren. |
mandateDetails |
Spezielle Zahlungsdetails für Einzugsermächtigungen. |
mandateWithNotificationDetails |
Zahlungsdetails für Einzugsermächtigungen, für die eine |
Union-Feld Für |
|
authenticationRequestId |
OPTIONAL: Wenn dieser Wert vorhanden ist, wurde der Nutzer unmittelbar vor diesem Aufruf authentifiziert oder er wurde bei der Einrichtung eines automatischen Zahlungsablaufs authentifiziert. |
otpVerification |
OPTIONAL: Daten, die zur Bestätigung eines über |
Antworttext
Antwortobjekt für die Erfassungsmethode.
Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:
JSON-Darstellung |
---|
{ "responseHeader": { object ( |
Felder | |
---|---|
responseHeader |
ERFORDERLICH: Gemeinsamer Header für alle Antworten. |
paymentIntegratorTransactionId |
OPTIONAL: Diese Kennung ist für den Integrator spezifisch und wird vom Integrator generiert. Dies ist die Kennung, anhand derer der Integrator diese Transaktion erkennt. Der Einfachheit halber ist diese ID in den Überweisungsdetails enthalten. |
userMessage |
EINGESTELLT: Eine Beschreibung des Ergebnisses, das dem Nutzer angezeigt wird, wenn das Ergebnis nicht |
result |
REQUIRED: Ergebnis dieser Aufnahme. |
rawResult |
OPTIONAL: Rohergebnis dieser Aufnahme. Wird zur Verbesserung der Risikoanalyse und der Risikoanalyse von Google verwendet. Bei abgelehnten Codezuordnungen gehen Daten manchmal verloren. Der Integrator kann Google einen Rohcode zur Verfügung stellen. Beispielsweise kann ein Kreditkarten-Gateway (der Integrationspartner) dieses Feld verwenden, um Google den genauen Ablehnungscode mitzuteilen, der vom VISA-Netzwerk erhalten wurde. In diesem Fall wäre die Dieser Wert ist erforderlich, wenn |
transactionLimit |
OPTIONAL: Wenn das Ergebnis Dies muss ein Limit relativ zum |
currentBalance |
OPTIONAL: Wenn das Ergebnis Dieser Wert muss dieselbe Währung haben wie die |
MandateDetails
Details zum Lastschriftmandat, von dem die Aufnahmen gemacht werden sollen.
JSON-Darstellung |
---|
{ "mandateId": string } |
Felder | |
---|---|
mandateId |
ERFORDERLICH: Die von Google generierte Lastschriftmandat-ID, die während des |
MandateWithNotificationDetails
Details zum Lastschriftmandat für die Erfassung sowie die erforderlichen Benachrichtigungsdetails.
JSON-Darstellung |
---|
{ "mandateId": string, "upcomingTransactionNotificationId": string } |
Felder | |
---|---|
mandateId |
ERFORDERLICH: Die von Google generierte Lastschriftmandat-ID, die während des |
upcomingTransactionNotificationId |
ERFORDERLICH: Die |
CaptureContext
Dieses Objekt liefert Kontext dazu, wie die Erfassung angefordert wurde.
JSON-Darstellung |
---|
{ "userIpAddress": string } |
Felder | |
---|---|
userIpAddress |
OPTIONAL: Dies ist die IP-Adresse des Nutzergeräts, wenn der Kauf von einem Nutzer in einer Sitzung getätigt wurde. Wenn der Nutzer nicht in der Sitzung war, ist dieses Feld leer. Wenn dieses Feld im Vertrag nicht benötigt wird, ist es immer leer. |
CaptureResultCode
Ergebniscodes für die Erfassung.
Enums | |
---|---|
UNKNOWN_RESULT |
Legen Sie diesen Standardwert niemals fest. |
SUCCESS |
Die Aufnahme war erfolgreich, die Ware wird geliefert. |
CHARGE_EXCEEDS_TRANSACTION_LIMIT |
Der amount dieser Erfassungsanfrage überschreitet das Limit pro Transaktion. Wenn dieser Code verwendet wird, füllen Sie das Feld „transactionLimit“ für Mitteilungen an Nutzer aus. |
CHARGE_EXCEEDS_DAILY_LIMIT |
Dieses Konto kann momentan nicht für Käufe verwendet werden, da das Tageslimit überschritten ist. |
CHARGE_EXCEEDS_MONTHLY_LIMIT |
Dieses Konto kann momentan nicht für Käufe verwendet werden, da das monatliche Limit überschritten wurde. |
CHARGE_UNDER_LIMIT |
Der amount dieser Erfassungsanfrage entspricht nicht dem Mindesttransaktionsbetrag. |
INSUFFICIENT_FUNDS |
Das Konto ist nicht ausreichend gedeckt, um diese Aufnahme zu garantieren. |
ACCOUNT_DOES_NOT_SUPPORT_CURRENCY |
Die gewünschte Währung wird in diesem Konto nicht unterstützt. |
ACCOUNT_CLOSED |
Das beim Integrator geführte Nutzerkonto wurde geschlossen. Wird dieser Wert zurückgegeben, wird das Zahlungsmittel des Nutzers mit Google geschlossen. Der Nutzer wird gezwungen, ein neues Zahlungsmittel hinzuzufügen, indem er den Verknüpfungsvorgang noch einmal durchläuft. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Das Nutzerkonto beim Integrator wurde geschlossen, da eine Kontoübernahme vermutet wird. Wird dieser Wert zurückgegeben, wird das Zahlungsmittel des Nutzers mit Google geschlossen. Der Nutzer wird gezwungen, ein neues Zahlungsmittel hinzuzufügen, indem er den Verknüpfungsvorgang noch einmal durchläuft. |
ACCOUNT_ON_HOLD |
Das Konto wurde vorübergehend deaktiviert. |
ACCOUNT_CLOSED_FRAUD |
Das Konto des Integrators wurde wegen Betrugs geschlossen. Wird dieser Wert zurückgegeben, wird das Zahlungsmittel des Nutzers mit Google geschlossen. Der Nutzer wird gezwungen, ein neues Zahlungsmittel hinzuzufügen, indem er den Verknüpfungsvorgang noch einmal durchläuft. |
GOOGLE_PAYMENT_TOKEN_INVALIDATED_BY_USER |
Das Konto ist aktiv, aber das GPT wurde vom Nutzer auf der Seite des Integrators ungültig gemacht. Wird dieser Wert zurückgegeben, wird das Zahlungsmittel des Nutzers mit Google geschlossen. Der Nutzer wird gezwungen, ein neues Zahlungsmittel hinzuzufügen, indem er den Verknüpfungsvorgang noch einmal durchläuft. |
TOKEN_REFRESH_REQUIRED |
Für die Rückgabe muss der Nutzer einen Aktualisierungsvorgang durchlaufen. |
OTP_NOT_MATCHED |
Das OTP stimmte nicht mit den vom Integrator gesendeten Informationen überein. |
OTP_ALREADY_USED |
OTP wurde bereits verwendet. |
RISK_DECLINED |
Die Transaktion wurde aufgrund einer Risikoprüfung aufseiten des Integrators abgelehnt. Dies ist ein dauerhafter Fehler bei dieser Zahlung, führt jedoch nicht dazu, dass das Zahlungsmittel des Nutzers bei Google geschlossen wird. |
NO_GOOD_FUNDING_SOURCE_AVAILABLE |
Für den Nutzer wurde in seinem Konto keine funktionierende Zahlungsquelle konfiguriert, mit der die Transaktion bezahlt werden kann. |
FUNDING_SOURCE_UNAVAILABLE |
Der zugrunde liegende Aussteller oder die Zahlungsquelle ist nicht verfügbar. Der Versuch, diese Zahlung erneut auszuführen, schlägt fehl. Google versucht, Zahlungen zu wiederholen, wenn ein Partner einen 4xx- oder 5xx-Antwortcode zurückgibt. Daher sollten Partner normalerweise einen dieser Antwortcodes zurückgeben, wenn eine Wiederholung derselben Zahlung erfolgreich sein kann, wenn die zugrunde liegende Zahlungsquelle wieder verfügbar ist. Sollte ein Zahlungsversuch aus technischen Gründen weiterhin fehlschlagen, kann der Partner „FUNDING_SOURCE_UNAVAILABLE“ zurückgeben. , um Google mitzuteilen, dass diese Zahlung nicht wiederholt werden soll. Hinweis: Google kann diese Zahlung weiterhin wiederholen, allerdings nur mit einer anderen requestId. Die Zahlungsanforderung wird jedoch als abgelehnt gekennzeichnet. |
MANDATE_NOT_ACTIVE |
Das für diese Aufnahme verwendete Lastschriftmandat ist nicht mehr aktiv. Dieser Rückgabewert führt dazu, dass das Lastschriftmandat des Nutzers mit Google geschlossen wird. |
UPCOMING_TRANSACTION_NOTIFICATION_EXPIRED |
Die Benachrichtigung, die der Nutzer für eine wiederkehrende Einzugsermächtigung erhalten hat, ist abgelaufen. |