本頁內容適用於 Apigee 和 Apigee Hybrid。
查看
Apigee Edge 說明文件。
本頁說明如何管理預付帳單帳戶。
您可以使用 Apigee API 管理開發人員的預付帳單帳戶。使用 API 可執行下列工作:
查看營利設定
如要查看開發人員的營利設定,請向下列 API 發出 GET
要求:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig
您可以使用這項 API 查看開發人員的帳單類型。如要進一步瞭解 API,請參閱 getMonetizationConfig。
以下範例說明如何使用 curl
指令,查看開發人員的營利設定:
curl -H "Authorization: Bearer $TOKEN" \ https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig
執行指令後,您會看到類似以下的回應:
{ "billingType": "PREPAID", }
更新營利設定
如要更新開發人員的營利設定,請對下列 API 發出 PUT
要求:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig
您可以使用這項 API 更新開發人員的帳單類型。如要進一步瞭解 API,請參閱 updateMonetizationConfig。
以下範例說明如何使用 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
執行指令後,您會看到類似以下的回應:
{ "billingType": "POSTPAID", }
變更帳單類型
開發人員可以將帳單從預付改為後付,反之亦然。本節說明開發人員變更帳單類型時,Apigee 會發生的變化。
後付轉預付
如果開發人員從後付改為預付,Apigee 會立即在設定中將開發人員的 billingType
設為 PREPAID
。開發人員可開始使用 API,但用量不得超過預付金額。根據自訂營利報表,開發人員後付費帳戶中的任何現有用量,都應由您 (API 供應商) 另外計費。
預付卡轉後付卡
如果開發人員從預付改為後付,Apigee 會立即將開發人員的 billingType
設定為 POSTPAID
。自訂營利報表會將開發人員預付帳戶中所有幣別的現有餘額,顯示為一筆抵免額交易。在結算週期結束後計算開發人員應付金額時,您 (API 供應商) 必須考量開發人員帳戶中的抵免額餘額。
查看開發人員餘額
如要查看開發人員預付帳戶的餘額,請對下列 API 發出 GET
要求:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance
如要進一步瞭解 API,請參閱 getBalance。
以下範例說明如何查看開發人員預付帳戶的餘額:
curl -H "Authorization: Bearer $TOKEN" \ https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance
執行指令後,您會看到類似以下的回應:
{ "wallets": [ { "balance": { "currencyCode": "USD", "units": "150", "nanos": 500000000 }, "lastCreditTime": 1234567890 }, { "balance": { "currencyCode": "INR", "units": "10000", "nanos": 600000000 }, "lastCreditTime": 9876543210 } ] }
在範例回應中,開發人員有兩筆預付帳戶餘額,分別以不同貨幣計價。
你可以從 units
和 nanos
欄位得知餘額。lastCreditTime
欄位採用 Epoch 時間格式,表示開發人員餘額上次入帳的時間。
開發人員餘額為負值
如果開發人員在短時間內發出多項 API 呼叫,系統可能會允許開發人員發出過多的 API 呼叫,導致開發人員的錢包餘額為負數。
如果多個訊息處理器處理來自同一位開發人員的 API 呼叫,就會發生這種情況。每個訊息處理器都會根據開發人員的餘額副本,允許 API 呼叫。所有訊息處理器都會定期與 Cassandra 資料庫中的主要餘額同步餘額。由於同步作業會稍微延遲,訊息處理器中開發人員的錢包餘額可能與主要餘額不同。舉例來說,在特定時間點,如果訊息處理器的開發人員錢包餘額為 $2 美元,主要餘額可能為 $0 美元。因此,訊息處理器會允許開發人員發出 API 呼叫,因為處理器認為開發人員的錢包仍有 2 美元。
Apigee 會近乎即時地同步處理訊息處理器的錢包餘額,但可能會出現些微延遲,且您無法控制或設定 Apigee 的這項行為。不過,系統會將開發人員的所有超額 API 呼叫納入計算。處理完開發人員的所有 API 呼叫後,開發人員錢包中的最終金額會反映費用,即使是超出配額的 API 呼叫也不例外。因此,開發人員下次為帳戶加值時,必須先支付錢包中的任何負餘額,才能讓錢包餘額為正數。
開發人員抵免額餘額
如要將款項存入開發人員的預付帳戶,請對下列 API 發出 POST
要求:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:credit
如要進一步瞭解 API,請參閱 creditBalance。
如要將款項計入開發人員餘額,請依序完成下列步驟:
- 開發人員透過付款閘道,從開發人員入口網站為開發人員帳戶加值。
- 開發人員入口網站會為加值交易產生專屬交易 ID。
- 開發人員入口網站會使用
organizations/{org}/developers/{developer}/balance:credit
API 更新開發人員餘額。
以下範例顯示步驟 3 的 API 呼叫,並將開發人員的餘額增加 $150.21 美元。
transactionId
會設為加值交易的交易 ID 值 (步驟 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
執行指令後,您會看到類似以下的回應:
{ "wallets": [ { "balance": { "currencyCode": "USD", "units": "300", "nanos": 710000000 }, "lastCreditTime": "9876543210" }, { "balance": { "currencyCode": "INR", "units": "10000", "nanos": 600000000 }, "lastCreditTime": "1234567890" } ] }
調整開發人員餘額
如果開發人員帳戶的扣款金額有誤,可以使用 adjustBalance
API 減少或增加帳戶餘額。
如要調整開發人員預付帳戶的餘額,請對下列 API 發出 POST
要求:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:adjust
如要進一步瞭解 API,請參閱 adjustBalance。
如要減少收費不足的開發人員餘額,請將要求中的 units
欄位設為正值。
以下範例會將開發人員預付帳戶的餘額減少 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
執行指令後,您會看到類似以下的回應:
{ "wallets": [ { "balance": { "currencyCode": "USD", "units": "150" }, "lastCreditTime": "1635489199530" } ] }
如要增加超額收費開發人員的餘額,請將要求中的 units
欄位設為負值。以下範例會將開發人員預付帳戶的餘額增加 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
執行指令後,您會看到類似以下的回應:
{ "wallets": [ { "balance": { "currencyCode": "USD", "units": "200", "nanos": 100000000 }, "lastCreditTime": "1635489199530" } ] }