Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.
Questa pagina descrive come gestire gli account di fatturazione prepagati.
Puoi utilizzare le API Apigee per gestire gli account di fatturazione prepagata dei tuoi sviluppatori. Utilizzando le API, puoi eseguire le seguenti attività:
- Visualizzare la configurazione della monetizzazione
- Aggiornare la configurazione della monetizzazione
- Visualizzare il saldo dello sviluppatore
- Creditare il saldo dello sviluppatore
- Aggiusta il saldo dello sviluppatore
Visualizza la configurazione della monetizzazione
Per visualizzare la configurazione di monetizzazione di uno sviluppatore, invia una richiesta GET
alla seguente API:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig
Con questa API, puoi visualizzare il tipo di fatturazione dello sviluppatore. Per ulteriori informazioni sull'API, consulta getMonetizationConfig.
L'esempio seguente mostra come visualizzare la configurazione della monetizzazione per uno sviluppatore 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 vedere una risposta simile alla seguente:
{ "billingType": "PREPAID", }
Aggiornare la configurazione della monetizzazione
Per aggiornare la configurazione della monetizzazione di uno sviluppatore, invia una richiesta PUT
alla seguente API:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig
Con questa API puoi aggiornare il tipo di fatturazione dello sviluppatore. Per ulteriori informazioni sull'API, consulta updateMonetizationConfig.
Il seguente esempio mostra come aggiornare la configurazione della monetizzazione per uno sviluppatore 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 vedere una risposta simile alla seguente:
{ "billingType": "POSTPAID", }
Modifica del tipo di fatturazione
Gli sviluppatori possono passare dalla fatturazione prepagata a quella postpaid e viceversa. Questa sezione descrive le modifiche che si verificano in Apigee quando gli sviluppatori cambiano il tipo di fatturazione.
Da postpaid a prepagato
Se uno sviluppatore passa dal pagamento posticipato a quello prepagato, Apigee imposta immediatamente billingType
su PREPAID
nella configurazione. Lo sviluppatore può iniziare a utilizzare le API fino all'importo del ricaricamento prepagato. In base ai tuoi report personalizzati sulla monetizzazione, qualsiasi utilizzo esistente nell'account postpaid dello sviluppatore deve essere fatturato separatamente da te (fornitore dell'API).
Da prepagato a postpaid
Se uno sviluppatore passa dal pagamento prepagato a quello posticipato, Apigee imposta immediatamente billingType
su POSTPAID
nella configurazione. I report sulla monetizzazione personalizzata mostrano qualsiasi saldo esistente (di tutte le valute) nell'account prepagato dello sviluppatore come transazione di credito. Quando calcoli l'importo dovuto da uno sviluppatore dopo il ciclo di fatturazione, tu (fornitore dell'API) devi considerare il saldo del credito nell'account dello sviluppatore.
Visualizzare il saldo dello sviluppatore
Per visualizzare il saldo dell'account prepagato di uno sviluppatore, invia una richiesta GET
alla seguente API:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance
Per ulteriori informazioni sull'API, consulta getBalance.
L'esempio seguente mostra come visualizzare il saldo nell'account prepagato di uno sviluppatore:
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 vedere 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 ha due saldi dell'account prepagati, uno per ogni valuta.
Puoi conoscere l'importo del saldo dai campi units
e nanos
. Il campo lastCreditTime
è in formato epoch time e indica l'ora dell'ultimo accredito sul saldo dello sviluppatore.
Saldo dello sviluppatore negativo
Se uno sviluppatore effettua più chiamate API in un breve lasso di tempo, è possibile che sia autorizzato a effettuare chiamate API in eccesso, il che si traduce in un saldo del portafoglio negativo per lo sviluppatore.
Questo scenario si verifica quando più processori di messaggi gestiscono le chiamate API dello stesso sviluppatore. Ogni elaboratore di messaggi avrà una copia del saldo dello sviluppatore in base alla quale consente le chiamate API. Tutti gli elaboratori di messaggi sincronizzano periodicamente i propri saldi con il saldo principale nel database Cassandra. A causa dei piccoli ritardi nella sincronizzazione, il saldo del wallet di uno sviluppatore in un elaboratore di messaggi potrebbe non essere sincronizzato con il saldo principale. Ad esempio, in un determinato momento, se il saldo del portafoglio dello sviluppatore in un elaboratore di messaggi è di 2 €, il saldo principale potrebbe essere pari a 0 €. Di conseguenza, il processore di messaggi consente le chiamate API dello sviluppatore, pensando che il suo portafoglio contenga ancora 2 $.
Apigee sincronizza il saldo del portafoglio di un elaboratore di messaggi in tempo quasi reale con piccoli ritardi e non puoi controllare o configurare questo comportamento di Apigee. Tuttavia, tutte le chiamate API in eccesso effettuate da uno sviluppatore vengono prese in considerazione. Dopo aver elaborato tutte le chiamate API di uno sviluppatore, l'importo finale nel suo portafoglio riflette l'addebito anche per le chiamate API in eccesso. Pertanto, la prossima volta che lo sviluppatore ricaricherà l'account, per avere un saldo positivo del portafoglio, dovrà prima pagare l'eventuale saldo negativo del portafoglio.
Saldo del credito dello sviluppatore
Per accreditare il saldo nell'account prepagato di uno sviluppatore, invia una richiesta POST
alla seguente API:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:credit
Per ulteriori informazioni sull'API, consulta creditBalance.
L'accreditamento del saldo di uno sviluppatore prevede i seguenti passaggi:
- Uno sviluppatore ricarica l'account sviluppatore dal portale per sviluppatori utilizzando un gateway di pagamento.
- Il portale per gli sviluppatori genera un ID transazione univoco per il ricaricamento.
- Il portale per sviluppatori aggiorna il saldo dello sviluppatore utilizzando l'API
organizations/{org}/developers/{developer}/balance:credit
.
L'esempio seguente mostra la chiamata API per il passaggio 3 e accredita 150,21 $ sul saldo dello sviluppatore.
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 vedere una risposta simile alla seguente:
{ "wallets": [ { "balance": { "currencyCode": "USD", "units": "300", "nanos": 710000000 }, "lastCreditTime": "9876543210" }, { "balance": { "currencyCode": "INR", "units": "10000", "nanos": 600000000 }, "lastCreditTime": "1234567890" } ] }
Regolare il saldo dello sviluppatore
Se hai addebitato un importo inferiore o superiore a quello dovuto all'account di uno sviluppatore, puoi utilizzare l'API adjustBalance
per diminuire o aumentare il saldo dell'account.
Per modificare il saldo dell'account prepagato di uno sviluppatore, invia una richiesta POST
alla seguente API:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:adjust
Per ulteriori informazioni sull'API, consulta adjustBalance.
Se vuoi ridurre il saldo di uno sviluppatore a cui è stato addebitato un importo inferiore, imposta il campo units
nella richiesta su un valore positivo.
Nell'esempio seguente, il saldo dell'account prepagato di uno sviluppatore diminuisce di 50
$:
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 vedere una risposta simile alla seguente:
{ "wallets": [ { "balance": { "currencyCode": "USD", "units": "150" }, "lastCreditTime": "1635489199530" } ] }
Se vuoi aumentare il saldo di uno sviluppatore a cui è stato addebitato un importo eccessivo, imposta il campo units
nella richiesta su un valore negativo.
Nell'esempio seguente, il saldo dell'account prepagato di uno sviluppatore aumenta di 50.1
$:
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 vedere una risposta simile alla seguente:
{ "wallets": [ { "balance": { "currencyCode": "USD", "units": "200", "nanos": 100000000 }, "lastCreditTime": "1635489199530" } ] }