本頁內容適用於 Apigee 和 Apigee Hybrid。
查看
Apigee Edge 說明文件。
本頁說明如何管理預付帳單帳戶。
您可以使用 Apigee API 管理應用程式開發人員和 AppGroup 的預付帳單帳戶。使用 API 可執行下列工作:
查看營利設定
如要查看應用程式開發人員的營利設定,請向下列 API 發出 GET 要求:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig
如要查看 AppGroup 的營利設定,請對這個 API 發出 GET 要求:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/APPGROUP_ID/monetizationConfig
您可以使用 API 查看帳單類型。如要進一步瞭解 API,請參閱 organizations.developers.getMonetizationConfig 或 organizations.appgroups.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
如要更新 AppGroup 的營利設定,請對下列 API 發出 PUT 要求:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/monetizationConfig
您可以使用這項 API 更新帳單類型。如要進一步瞭解 API,請參閱 updateMonetizationConfig 或 organizations.appgroups.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",
}變更帳單類型
應用程式開發人員和 AppGroup 可以將帳單從預付改為後付,反之亦然。本節說明變更帳單類型時,Apigee 會發生的變化。
後付轉預付
從後付費方案改為預付費方案時,Apigee 會立即將設定中的 billingType 設為 PREPAID。應用程式開發人員或 AppGroup 可開始使用 API,但使用額度不得超過預付加值金額。根據自訂營利報表,您 (API 提供者) 應另外為後付費帳戶的現有用量計費。
預付卡轉後付卡
從預付方案改為後付方案時,Apigee 會立即將設定中的 billingType 設為 POSTPAID。自訂營利報表會將預付帳戶中所有貨幣的現有餘額顯示為一筆交易。計算帳單週期後的應付金額時,您 (API 供應商) 必須將帳戶中的抵免額餘額納入考量。
查看餘額
如要查看應用程式開發人員預付帳戶的餘額,請對下列 API 發出 GET 要求:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance
如要查看 AppGroup 預付帳戶的餘額,請對下列 API 發出 GET 要求:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/balance
如要進一步瞭解 API,請參閱 organizations.developers.getBalance 或 organizations.appgroups.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 時間格式,表示上次餘額入帳的時間。
餘額為負
如果應用程式開發人員或 AppGroup 在短時間內發出多項 API 呼叫,可能會超出允許的 API 呼叫次數,導致錢包餘額不足。
如果多個訊息處理器正在處理來自相同應用程式開發人員或 AppGroup 的 API 呼叫,就會發生這種情況。每個訊息處理器都會有餘額副本,並根據該副本允許 API 呼叫。所有訊息處理器都會定期與主要餘額同步餘額。由於同步作業會稍微延遲,訊息處理器中的錢包餘額可能與主要餘額不同步。舉例來說,在特定時間點,如果訊息處理器的錢包餘額為 $2 美元,主餘額可能為 $0 美元。因此訊息處理器會允許 API 呼叫,認為錢包仍有 2 美元。
Apigee 會近乎即時地同步處理訊息處理器的錢包餘額,但可能會有些微延遲,且您無法控制或設定 Apigee 的這項行為。不過,在這種情況下,系統會將超額的 API 呼叫次數納入計算。處理完應用程式開發人員或 AppGroup 的所有 API 呼叫後,錢包中的最終金額會反映費用,即使 API 呼叫次數超出上限也是如此。因此,應用程式開發人員或 AppGroup 下次為帳戶充值時,必須先付清錢包中的任何負餘額,才能確保錢包餘額為正數。
抵免額
如要將預付帳戶餘額存入應用程式開發人員帳戶,請對下列 API 發出 POST 要求:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:credit
如要將款項存入 AppGroup 的預付帳戶,請對下列 API 發出 POST 要求:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/balance:credit
如要進一步瞭解 API,請參閱 organizations.developers.balance.credit 或 organizations.appgroups.balance.credit。
如要將餘額計入帳戶,請依序完成下列步驟:
- 應用程式開發人員或 AppGroup 會透過付款閘道,從開發人員入口網站為帳戶加值。
- 開發人員入口網站會為加值交易產生專屬交易 ID。
- 開發人員入口網站會使用適當的 API 更新開發人員餘額,無論是應用程式開發人員或 AppGroup 都是如此。
以下範例顯示步驟 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"
}
]
}調整餘額
如果帳戶的收費金額有誤,可以使用 adjustBalanceAPI 減少或增加帳戶餘額。
如要調整應用程式開發人員預付帳戶的餘額,請對下列 API 發出 POST 要求:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:adjust
如要調整 AppGroup 預付帳戶的餘額,請向下列 API 發出 POST 要求:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/balance:adjust
如要進一步瞭解 API,請參閱 organizations.developers.balanceadjustBalance 或 organizations.appgroups.balance.adjustBalance。
如要減少收費不足的應用程式開發人員或 AppGroup 的餘額,請將要求中的 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"
}
]
}
如要增加超額收費的應用程式開發人員或 AppGroup 的餘額,請將要求中的 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"
}
]
}