Prepaid-Guthaben verwalten

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Auf dieser Seite wird beschrieben, wie Sie Ihre Prepaid-Rechnungskonten verwalten können.

Sie können die Apigee APIs verwenden, um die Prepaid-Rechnungskonten Ihrer Entwickler zu verwalten. Mit den APIs können Sie die folgenden Aufgaben ausführen:

Monetarisierungskonfiguration ansehen

Senden Sie eine GET-Anfrage an die folgende API, um die Monetarisierungskonfiguration eines Entwicklers aufzurufen:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig

Mit dieser API können Sie den Abrechnungstyp des Entwicklers anzeigen. Weitere Informationen zur API finden Sie unter getMonetizationConfig.

Das folgende Beispiel zeigt, wie Sie die Monetarisierungskonfiguration für einen Entwickler mit dem Befehl curl aufrufen:

curl -H "Authorization: Bearer $TOKEN" \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig

Wenn Sie den Befehl ausführen, wird eine Antwort ähnlich der folgenden angezeigt:

{
  "billingType": "PREPAID",
}

Monetarisierungskonfiguration aktualisieren

Um die Monetarisierungskonfiguration eines Entwicklers zu aktualisieren, senden Sie eine PUT-Anfrage an die folgende API:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig

Mit dieser API können Sie den Abrechnungstyp des Entwicklers aktualisieren. Weitere Informationen zur API finden Sie unter updateMonetizationConfig.

Das folgende Beispiel zeigt, wie Sie die Monetarisierungskonfiguration für einen Entwickler mit dem Befehl curl aktualisieren:

curl -H "Authorization: Bearer $TOKEN" \
-H "Content-type: application/json" \
-X PUT \
-d '{
"billingType": "POSTPAID",
}' \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig

Wenn Sie den Befehl ausführen, wird eine Antwort ähnlich der folgenden angezeigt:

{
  "billingType": "POSTPAID",
}

Änderung des Abrechnungstyps

Ihre Entwickler können ihre Abrechnung von Prepaid in Postpaid und umgekehrt ändern. In diesem Abschnitt werden die Änderungen in Apigee beschrieben, wenn Entwickler ihren Abrechnungstyp ändern.

Von Postpaid zu Prepaid

Wenn ein Entwickler von Postpaid zu Prepaid wechselt, setzt Apigee in der Konfiguration sofort den billingType des Entwicklers auf PREPAID. Der Entwickler kann die APIs im Rahmen des eingezahlten Prepaid-Guthabens verwenden. Auf Grundlage Ihrer benutzerdefinierten Monetarisierungsberichte wird jede vorhandene Nutzung im Postpaid-Konto des Entwicklers von Ihnen (API-Anbieter) separat abgerechnet.

Von Prepaid zu Postpaid

Wenn ein Entwickler von Prepaid zu Postpaid wechselt, setzt Apigee in der Konfiguration sofort den billingType des Entwicklers auf POSTPAID. In Ihren benutzerdefinierten Monetarisierungsberichten wird ein vorhandenes Guthaben (alle Währungen) im Prepaid-Konto des Entwicklers als Guthabentransaktion angezeigt. Bei der Berechnung des fälligen Betrags von einem Entwickler nach dem Abrechnungszeitraum müssen Sie (API-Anbieter) das Guthaben im Entwicklerkonto berücksichtigen.

Entwicklerguthaben ansehen

Senden Sie eine GET-Anfrage an die folgende API, um den Kontostand im Prepaid-Konto eines Entwicklers aufzurufen:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance

Weitere Informationen zur API finden Sie unter getBalance.

Dieses Beispiel zeigt, wie Sie das Guthaben im Prepaid-Konto eines Entwicklers aufrufen:

curl -H "Authorization: Bearer $TOKEN" \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance

Wenn Sie den Befehl ausführen, wird eine Antwort ähnlich der folgenden angezeigt:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "150",
        "nanos": 500000000
      },
      "lastCreditTime": 1234567890
    },
    {
      "balance": {
        "currencyCode": "INR",
        "units": "10000",
        "nanos": 600000000
      },
      "lastCreditTime": 9876543210
    }
  ]
}

In der Beispielantwort hat der Entwickler zwei Prepaid-Guthaben, jeweils eines für jede Währung. Sie können den Kontostand aus den Feldern units und nanos erfahren. Das Feld lastCreditTime hat das Epochenformat und gibt den Zeitpunkt an, zu dem Entwickler zuletzt ein Guthaben gutgeschrieben wurde.

Negatives Entwickler-Guthaben

Wenn ein Entwickler innerhalb einer kurzen Zeitspanne mehrere API-Aufrufe tätigt, ist es möglich, dass der Entwickler zu viele API-Aufrufe tätigen darf, was zu einem negativen Wallet-Guthaben des Entwicklers führt.

Dieses Szenario tritt auf, wenn mehrere Message Processors die API-Aufrufe von demselben Entwickler verarbeiten. Jeder Nachrichtenverarbeiter hat eine Kopie des Entwicklersaldo, auf der die API-Aufrufe zugelassen sind. Alle Message Processors synchronisieren ihre Salden regelmäßig mit dem Hauptsaldo in der Cassandra-Datenbank. Aufgrund der geringfügigen Verzögerungen bei der Synchronisierung ist das Guthaben eines Entwicklers in einem Nachrichtenprozessor möglicherweise nicht mit dem Hauptsaldo synchron. Wenn zum Beispiel das Guthaben des Entwicklers in einem Nachrichtenprozessor zu einem bestimmten Zeitpunkt 2 $ beträgt, kann der Hauptsaldo 0 $ betragen. Der Nachrichtenprozessor lässt beispielsweise die API-Aufrufe des Entwicklers zu, da er der Meinung ist, dass die Wallet eines Entwicklers noch 2 $ hat.

Apigee synchronisiert das Wallet-Guthaben eines Message Processors nahezu in Echtzeit, jedoch mit sehr geringen Verzögerungen. Sie können dieses Verhalten von Apigee nicht steuern oder konfigurieren. Es werden aber alle von einem Entwickler durchgeführten überschüssigen API-Aufrufe berücksichtigt. Nach der Verarbeitung aller API-Aufrufe eines Entwicklers spiegelt der endgültige Betrag in der Wallet des Entwicklers auch die Kosten für solche überschüssige API-Aufrufe wider. Wenn der Entwickler das Konto das nächste Mal neu lädt, muss der Entwickler zuerst einen eventuellen negativen Saldobetrag begleichen, um ein positives Guthaben zu haben.

Guthaben für Entwickler gutschreiben

Senden Sie eine POST-Anfrage an die folgende API, um dem Prepaid-Konto eines Entwicklers ein Guthaben gutzuschreiben:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:credit

Weitere Informationen zur API finden Sie unter creditBalance.

Das Gutschreiben des Guthabens eines Entwicklers umfasst folgende Schritte in der angegebenen Reihenfolge:

  1. Ein Entwickler zahlt über das Entwicklerportal mithilfe eines Zahlungs-Gateways auf das Entwicklerkonto ein.
  2. Das Entwicklerportal generiert eine eindeutige Transaktions-ID für die Einzahlung.
  3. Das Entwicklerportal aktualisiert das Entwicklerguthaben mithilfe der organizations/{org}/developers/{developer}/balance:credit API.

Das folgende Beispiel zeigt den API-Aufruf für Schritt 3 und eine Gutschrift für den Entwickler von 150,21 $. transactionId ist auf den Wert der Transaktions-ID der Einzahlungstransaktion gesetzt (Schritt 3).

curl -H "Authorization: Bearer $TOKEN" \
-H "Content-type: application/json" \
-X POST \
-d '{
  "transactionAmount": {
     "currencyCode": "USD",
     "units": "150",
     "nanos": 210000000
  },
  "transactionId": "ab31b63e-f8e8-11eb-9a03-0242ac130003"
}' \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:credit

Wenn Sie den Befehl ausführen, wird eine Antwort ähnlich der folgenden angezeigt:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "300",
        "nanos": 710000000
      },
      "lastCreditTime": "9876543210"
    },
    {
      "balance": {
        "currencyCode": "INR",
        "units": "10000",
        "nanos": 600000000
      },
      "lastCreditTime": "1234567890"
    }
  ]
}

Guthaben für Entwickler anpassen

Wenn Sie das Konto eines Entwicklers zu niedrig oder zu stark belastet haben, können Sie den adjustBalance verwenden, um den Kontostand zu verringern oder zu erhöhen.

Senden Sie eine POST-Anfrage an die folgende API, um beim Prepaid-Konto eines Entwicklers das Guthaben anzupassen:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:adjust

Weitere Informationen zur API finden Sie unter adjustBalance.

Wenn Sie den Kontostand eines Entwicklers reduzieren möchten, der nicht belastet wird, setzen Sie das Feld units in der Anfrage auf einen positiven Wert. Im folgenden Beispiel wird das Guthaben im Prepaid-Konto eines Entwicklers um 50 USD verringert:

curl -H "Authorization: Bearer $TOKEN" \
-H "Content-type: application/json" \
-X POST \
-d '{
  "adjustment": {
    "units": "50",
    "currencyCode": "USD"
  }
}' \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:adjust

Wenn Sie den Befehl ausführen, wird eine Antwort ähnlich der folgenden angezeigt:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "150"
      },
      "lastCreditTime": "1635489199530"
    }
  ]
}

Wenn Sie den Kontostand eines überlasteten Entwicklers erhöhen möchten, setzen Sie das Feld units in der Anfrage auf einen negativen Wert. Im folgenden Beispiel wird das Guthaben im Prepaid-Konto eines Entwicklers um 50.1 USD erhöht:

curl -H "Authorization: Bearer $TOKEN" \
-H "Content-type: application/json" \
-X POST \
-d '{
  "adjustment": {
    "units": "-50",
    "nanos": "100000000",
    "currencyCode": "USD"
  }
}' \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:adjust

Wenn Sie den Befehl ausführen, wird eine Antwort ähnlich der folgenden angezeigt:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "200",
        "nanos": 100000000
      },
      "lastCreditTime": "1635489199530"
    }
  ]
}