Gestione dei saldi dell'account con pagamento anticipato

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Questa pagina descrive come gestire i tuoi account di fatturazione prepagati.

Puoi utilizzare le API Apigee per gestire gli account di fatturazione prepagata degli sviluppatori di app e dei gruppi di app. Utilizzando le API, puoi eseguire le seguenti attività:

Visualizza la configurazione della monetizzazione

Per visualizzare la configurazione della monetizzazione di uno sviluppatore di app, invia una richiesta GET alla seguente API:

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

Per visualizzare la configurazione della monetizzazione di un gruppo di app, invia una richiesta GET a questa API:

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

Con l'API, puoi visualizzare il tipo di fatturazione. Per saperne di più sull'API, consulta organizations.developers.getMonetizationConfig o organizations.appgroups.getMonetizationConfig.

L'esempio seguente mostra come visualizzare la configurazione della monetizzazione per uno sviluppatore di app utilizzando il comando curl:

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

Quando esegui il comando, puoi visualizzare una risposta simile alla seguente:

{
  "billingType": "PREPAID",
}

Aggiorna la configurazione della monetizzazione

Per aggiornare la configurazione della monetizzazione di uno sviluppatore di app, invia una richiesta PUT alla seguente API:

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

Per aggiornare la configurazione della monetizzazione di un gruppo di app, invia una richiesta PUT alla seguente API:

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

Con questa API, puoi aggiornare il tipo di fatturazione. Per ulteriori informazioni sull'API, consulta updateMonetizationConfig o organizations.appgroups.updateMonetizationConfig.

L'esempio seguente mostra come aggiornare la configurazione della monetizzazione per uno sviluppatore di app utilizzando il comando curl:

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

Quando esegui il comando, puoi visualizzare una risposta simile alla seguente:

{
  "billingType": "POSTPAID",
}

Modifica del tipo di fatturazione

Gli sviluppatori di app e i gruppi di app possono passare dalla fatturazione prepagata a quella postpagata e viceversa. Questa sezione descrive le modifiche che si verificano in Apigee quando si cambia un tipo di fatturazione.

Passaggio dal pagamento posticipato al pagamento anticipato

Quando passi dal postpagamento al prepagamento, Apigee imposta immediatamente billingType su PREPAID nella configurazione. Lo sviluppatore dell'app o AppGroup può iniziare a utilizzare le API fino all'importo della ricarica prepagata. In base ai report sulla monetizzazione personalizzati, l'utilizzo esistente nell'account postpagato deve essere fatturato separatamente da te, il fornitore dell'API.

Passaggio dal prepagato al postpagato

Quando passi dal prepagato al postpagato, Apigee imposta immediatamente billingType su POSTPAID nella configurazione. I report sulla monetizzazione personalizzata mostrano l'eventuale saldo esistente (di tutte le valute) nell'account prepagato come transazione di credito. Quando calcoli l'importo dovuto dopo il ciclo di fatturazione, tu (il fornitore di API) devi considerare il saldo del credito nell'account.

Visualizza saldo

Per visualizzare il saldo nel conto prepagato di uno sviluppatore di app, invia una richiesta GET alla seguente API:

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

Per visualizzare il saldo nel conto prepagato di un gruppo di app, invia una richiesta GET alla seguente API:

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

Per saperne di più sull'API, consulta organizations.developers.getBalance o organizations.appgroups.getBalance.

Il seguente esempio mostra come visualizzare il saldo nel conto prepagato di uno sviluppatore di app:

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

Quando esegui il comando, puoi visualizzare una risposta simile alla seguente:

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

Nella risposta di esempio, lo sviluppatore dell'app ha due saldi prepagati dell'account, uno per ogni valuta. Puoi trovare l'importo del saldo nei campi units e nanos. Il campo lastCreditTime è nel formato ora Unix e indica l'ora in cui è stato accreditato l'ultimo saldo.

Saldo negativo

Se uno sviluppatore di app o un gruppo di app effettua più chiamate API in un breve periodo di tempo, potrebbe superare le chiamate API consentite, con conseguente saldo negativo del wallet.

Questo scenario si verifica quando più processori di messaggi gestiscono le chiamate API dello stesso sviluppatore di app o AppGroup. Ogni processore di messaggi avrà una copia del saldo in base al quale consente le chiamate API. Tutti i processori di messaggi sincronizzano periodicamente i propri saldi con il saldo principale. A causa del leggero ritardo nella sincronizzazione, il saldo del portafoglio in un processore di messaggi potrebbe non essere sincronizzato con il saldo principale. Ad esempio, in un determinato momento, se il saldo del portafoglio in un processore di messaggi è pari a 2 $, il saldo principale potrebbe essere pari a 0 $. Pertanto, il processore di messaggi consente le chiamate API, pensando che il portafoglio abbia ancora 2 $.

Apigee sincronizza il saldo del portafoglio di un processore di messaggi quasi in tempo reale con ritardi minimi e non puoi controllare o configurare questo comportamento di Apigee. Tuttavia, in questa situazione le chiamate API in eccesso vengono prese in considerazione. Dopo aver elaborato tutte le chiamate API dello sviluppatore di app o di AppGroup, l'importo finale nel wallet riflette l'addebito anche per le chiamate API in eccesso. Pertanto, quando lo sviluppatore dell'app o AppGroup ricarica l'account la volta successiva, per avere un saldo positivo del portafoglio, lo sviluppatore dell'app o AppGroup deve prima pagare l'eventuale importo del saldo negativo nel portafoglio.

Saldo del credito

Per accreditare il saldo nel conto prepagato di uno sviluppatore di app, invia una richiesta POST alla seguente API:

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

Per accreditare il saldo in un account prepagato di un gruppo di app, invia una richiesta POST alla seguente API:

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

Per saperne di più sull'API, consulta organizations.developers.balance.credit o organizations.appgroups.balance.credit.

L'accredito di un saldo prevede i seguenti passaggi, in ordine:

  1. Uno sviluppatore di app o un gruppo di app ricarica l'account dal portale sviluppatori utilizzando un gateway di pagamento.
  2. Il portale sviluppatori genera un ID transazione univoco per la ricarica.
  3. Il portale per sviluppatori aggiorna il saldo dello sviluppatore utilizzando l'API appropriata, che si tratti di uno sviluppatore di app o di un gruppo di app.

L'esempio seguente mostra la chiamata API per il passaggio 3 e accredita 150,21 $ sul saldo di uno sviluppatore di app. transactionId è impostato sul valore dell'ID transazione della transazione di ricarica (passaggio 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

Quando esegui il comando, puoi visualizzare una risposta simile alla seguente:

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

Modificare il saldo

Se hai addebitato un importo inferiore o superiore a un account, puoi utilizzare l'API adjustBalance per diminuire o aumentare il saldo dell'account.

Per modificare il saldo nel conto prepagato di uno sviluppatore di app, invia una richiesta POST alla seguente API:

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

Per modificare il saldo nel conto prepagato di un gruppo di app, invia una richiesta POST alla seguente API:

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

Per saperne di più sull'API, consulta organizations.developers.balanceadjustBalance o organizations.appgroups.balance.adjustBalance.

Se vuoi ridurre il saldo di uno sviluppatore di app o di un AppGroup a cui è stato addebitato un importo inferiore, imposta il campo units nella richiesta su un valore positivo. L'esempio seguente riduce il saldo del conto prepagato di uno sviluppatore di app di 50 $ USA:

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

Quando esegui il comando, puoi visualizzare una risposta simile alla seguente:

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

Se vuoi aumentare il saldo di uno sviluppatore di app o di un gruppo di app a cui è stato addebitato un importo eccessivo, imposta il campo units nella richiesta su un valore negativo. L'esempio seguente aumenta il saldo del conto prepagato di uno sviluppatore di app di 50.1 $ USA:

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

Quando esegui il comando, puoi visualizzare una risposta simile alla seguente:

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