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 App-Entwickler und AppGroups 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 App-Entwicklers aufzurufen:

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

Senden Sie eine GET-Anfrage an diese API, um die Monetarisierungskonfiguration einer AppGroup aufzurufen:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/APPGROUP_ID/monetizationConfig

Mit der API können Sie den Abrechnungstyp anzeigen. Weitere Informationen zur API finden Sie unter organizations.developers.getMonetizationConfig oder organizations.appgroups.getMonetizationConfig.

Das folgende Beispiel zeigt, wie Sie die Monetarisierungskonfiguration für einen App-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 App-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

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

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/monetizationConfig

Mit dieser API können Sie den Abrechnungstyp aktualisieren. Weitere Informationen zur API finden Sie unter updateMonetizationConfig oder organizations.appgroups.updateMonetizationConfig.

Das folgende Beispiel zeigt, wie Sie die Monetarisierungskonfiguration für einen App-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 App-Entwickler und AppGroups können ihre Abrechnung von Prepaid in Postpaid und umgekehrt ändern. In diesem Abschnitt werden die Änderungen in Apigee beschrieben, wenn ein Abrechnungstyp geändert wird.

Von Postpaid zu Prepaid

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

Von Prepaid zu Postpaid

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

Kontostand ansehen

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

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

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

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/balance

Weitere Informationen zur API finden Sie unter organizations.developers.getBalance oder organizations.appgroups.getBalance.

Dieses Beispiel zeigt, wie Sie das Guthaben im Prepaid-Konto eines App-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 App-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 das Guthaben zuletzt gutgeschrieben wurde.

Negativer Kontostand

Wenn ein App-Entwickler oder eine AppGroup innerhalb einer kurzen Zeitspanne mehrere API-Aufrufe tätigt, kann es sein, dass die zulässigen API-Aufrufe überschritten werden, was zu einem negativen Wallet-Guthaben führt.

Dieses Szenario tritt auf, wenn mehrere Message Processors die API-Aufrufe von demselben App-Entwickler oder derselben AppGroup verarbeiten. Jeder Nachrichtenverarbeiter hat eine Kopie des Saldos, auf der die API-Aufrufe zugelassen sind. Alle Message Processors synchronisieren ihre Salden regelmäßig mit dem Hauptsaldo. Aufgrund der geringfügigen Verzögerung bei der Synchronisierung ist das Guthaben in einem Nachrichtenprozessor möglicherweise nicht mit dem Hauptsaldo synchron. Wenn zum Beispiel das Guthaben in einem Nachrichtenprozessor zu einem bestimmten Zeitpunkt 2 $ beträgt, kann der Hauptsaldo 0 $ betragen. Der Nachrichtenprozessor lässt beispielsweise die API-Aufrufe zu, da er der Meinung ist, dass die Wallet 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. In diesem Fall werden die überschüssigen API-Aufrufe jedoch berücksichtigt. Nach der Verarbeitung aller API-Aufrufe des App-Entwicklers oder der AppGroup spiegelt der endgültige Betrag in der Wallet auch die Kosten für solche überschüssige API-Aufrufe wider. Wenn der App-Entwickler oder die AppGroup das Konto das nächste Mal neu lädt, muss der App-Entwickler oder die AppGroup zuerst einen eventuellen negativen Saldobetrag begleichen, um ein positives Guthaben zu haben.

Guthaben

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

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

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

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/balance:credit

Weitere Informationen zur API finden Sie unter organizations.developers.balance.credit oder organizations.appgroups.balance.credit.

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

  1. Ein App-Entwickler oder eine AppGroup zahlt über das Entwicklerportal mithilfe eines Zahlungs-Gateways auf das Konto ein.
  2. Das Entwicklerportal generiert eine eindeutige Transaktions-ID für die Einzahlung.
  3. Das Entwicklerportal aktualisiert das Entwicklerguthaben mithilfe der entsprechenden API, unabhängig davon, ob es sich um einen App-Entwickler oder eine AppGroup handelt.

Das folgende Beispiel zeigt den API-Aufruf für Schritt 3 und eine Gutschrift für den App-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 anpassen

Wenn Sie ein Konto 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 App-Entwicklers das Guthaben anzupassen:

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

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

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/balance:adjust

Weitere Informationen zur API finden Sie unter organizations.developers.balanceadjustBalance oder organizations.appgroups.balance.adjustBalance.

Wenn Sie den Kontostand eines App-Entwicklers oder einer AppGroup 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 App-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 App-Entwicklers oder einer überlasteten AppGroup 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 App-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"
    }
  ]
}