Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Lihat dokumentasi
Apigee Edge.
Halaman ini menjelaskan cara mengelola akun penagihan prabayar Anda.
Anda dapat menggunakan Apigee API untuk mengelola akun penagihan prabayar developer aplikasi dan AppGroup Anda. Dengan menggunakan API, Anda dapat melakukan tugas berikut:
- Melihat konfigurasi monetisasi
- Memperbarui konfigurasi monetisasi
- Lihat saldo
- Saldo kredit
- Menyesuaikan saldo
Melihat konfigurasi monetisasi
Untuk melihat konfigurasi monetisasi developer aplikasi, kirim permintaan GET ke
API berikut:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig
Untuk melihat konfigurasi monetisasi AppGroup, kirim permintaan GET ke API ini:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/APPGROUP_ID/monetizationConfig
Dengan API, Anda dapat melihat jenis penagihan. Untuk mengetahui informasi selengkapnya tentang API, lihat organizations.developers.getMonetizationConfig atau organizations.appgroups.getMonetizationConfig.
Contoh berikut menunjukkan cara melihat konfigurasi monetisasi untuk developer aplikasi menggunakan perintah curl:
curl -H "Authorization: Bearer $TOKEN" \ https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig
Saat menjalankan perintah, Anda dapat melihat respons yang mirip dengan berikut:
{
"billingType": "PREPAID",
}Memperbarui konfigurasi monetisasi
Untuk memperbarui konfigurasi monetisasi developer aplikasi, kirim permintaan PUT ke API berikut:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig
Untuk memperbarui konfigurasi monetisasi AppGroup, kirim permintaan PUT ke
API berikut:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/monetizationConfig
Dengan API ini, Anda dapat memperbarui jenis penagihan. Untuk mengetahui informasi selengkapnya tentang API, lihat updateMonetizationConfig atau organizations.appgroups.updateMonetizationConfig.
Contoh berikut menunjukkan cara memperbarui konfigurasi monetisasi untuk developer aplikasi menggunakan perintah 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
Saat menjalankan perintah, Anda dapat melihat respons yang mirip dengan berikut:
{
"billingType": "POSTPAID",
}Perubahan jenis penagihan
Developer aplikasi dan AppGroup Anda dapat mengalihkan penagihan dari prabayar ke pascabayar dan sebaliknya. Bagian ini menjelaskan perubahan yang terjadi di Apigee saat mengubah jenis penagihan.
Pascabayar ke prabayar
Saat beralih dari pascabayar ke prabayar, Apigee akan langsung menyetel billingType ke
PREPAID dalam konfigurasi. Developer aplikasi atau AppGroup dapat mulai menggunakan API
hingga jumlah isi ulang prabayar. Berdasarkan laporan monetisasi kustom Anda, setiap penggunaan yang ada di akun pascabayar harus ditagih secara terpisah oleh Anda, penyedia API.
Prabayar ke pascabayar
Saat beralih dari prabayar ke pascabayar, Apigee akan langsung menyetel billingType ke
POSTPAID dalam konfigurasi. Laporan monetisasi kustom Anda menampilkan saldo yang ada (dari semua mata uang) di akun prabayar sebagai transaksi kredit. Saat menghitung jumlah yang harus dibayar setelah siklus penagihan, Anda (penyedia API) harus mempertimbangkan saldo kredit di akun.
Lihat saldo
Untuk melihat saldo di akun prabayar developer aplikasi, kirim permintaan GET ke API berikut:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance
Untuk melihat saldo di akun prabayar AppGroup, kirimkan permintaan GET ke
API berikut:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/balance
Untuk mengetahui informasi selengkapnya tentang API, lihat organizations.developers.getBalance atau organizations.appgroups.getBalance.
Contoh berikut menunjukkan cara melihat saldo di akun prabayar developer aplikasi:
curl -H "Authorization: Bearer $TOKEN" \ https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance
Saat menjalankan perintah, Anda dapat melihat respons yang mirip dengan berikut:
{
"wallets": [
{
"balance": {
"currencyCode": "USD",
"units": "150",
"nanos": 500000000
},
"lastCreditTime": 1234567890
},
{
"balance": {
"currencyCode": "INR",
"units": "10000",
"nanos": 600000000
},
"lastCreditTime": 9876543210
}
]
}Dalam contoh respons, developer aplikasi memiliki dua saldo akun prabayar; satu untuk setiap mata uang.
Anda dapat menemukan jumlah saldo di kolom units dan nanos. Kolom
lastCreditTime menggunakan format waktu epoch, dan menunjukkan waktu saat
saldo terakhir kali dikreditkan.
Saldo negatif
Jika developer aplikasi atau AppGroup melakukan beberapa panggilan API dalam rentang waktu yang singkat, mereka dapat melebihi panggilan API yang diizinkan, sehingga saldo dompet menjadi negatif.
Skenario ini terjadi saat beberapa pemroses pesan menangani panggilan API dari developer aplikasi atau AppGroup yang sama. Setiap pemroses pesan akan memiliki salinan saldo yang digunakan untuk mengizinkan panggilan API. Semua pemroses pesan secara berkala menyelaraskan saldo mereka dengan saldo utama. Karena penundaan sinkronisasi kecil, saldo dompet di pemroses pesan mungkin tidak sinkron dengan saldo utama. Misalnya, pada waktu tertentu, jika saldo dompet di pemroses pesan adalah 2 USD, saldo utama mungkin 0 USD. Jadi, pemroses pesan mengizinkan panggilan API, dengan mengira bahwa dompet masih memiliki USD 2.
Apigee menyinkronkan saldo dompet pemroses pesan hampir secara real time dengan sedikit penundaan, dan Anda tidak dapat mengontrol atau mengonfigurasi perilaku Apigee ini. Namun, dalam situasi ini, panggilan API berlebih akan diperhitungkan. Setelah memproses semua panggilan API dari developer aplikasi atau AppGroup, jumlah akhir di dompet mencerminkan biaya bahkan untuk panggilan API yang berlebih. Jadi, saat developer aplikasi atau AppGroup mengisi ulang akun lain kali, agar saldo e-wallet positif, developer aplikasi atau AppGroup harus melunasi jumlah saldo negatif di e-wallet terlebih dahulu.
Saldo kredit
Untuk mengkreditkan saldo di akun prabayar developer aplikasi, kirim permintaan POST ke API berikut:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:credit
Untuk menambahkan saldo di akun prabayar AppGroup, kirim permintaan POST ke
API berikut:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/balance:credit
Untuk mengetahui informasi selengkapnya tentang API, lihat organizations.developers.balance.credit atau organizations.appgroups.balance.credit.
Pengkreditan saldo melibatkan langkah-langkah berikut, secara berurutan:
- Developer aplikasi atau AppGroup mengisi ulang akun dari portal developer menggunakan gateway pembayaran.
- Portal developer menghasilkan ID transaksi unik untuk pengisian ulang.
- Portal developer memperbarui saldo developer menggunakan API yang sesuai, baik developer aplikasi maupun AppGroup.
Contoh berikut menunjukkan panggilan API untuk langkah 3 dan mengkreditkan saldo developer aplikasi sebesar USD 150,21.
transactionId ditetapkan ke nilai ID transaksi dari transaksi tambah saldo (langkah 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
Saat menjalankan perintah, Anda dapat melihat respons yang mirip dengan berikut:
{
"wallets": [
{
"balance": {
"currencyCode": "USD",
"units": "300",
"nanos": 710000000
},
"lastCreditTime": "9876543210"
},
{
"balance": {
"currencyCode": "INR",
"units": "10000",
"nanos": 600000000
},
"lastCreditTime": "1234567890"
}
]
}Menyesuaikan saldo
Jika Anda mengenakan biaya terlalu rendah atau terlalu tinggi pada akun, Anda dapat menggunakan adjustBalance
API untuk mengurangi atau menambah saldo akun.
Untuk menyesuaikan saldo di akun prabayar developer aplikasi, kirim permintaan POST ke API berikut:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:adjust
Untuk menyesuaikan saldo di akun prabayar AppGroup, kirim permintaan POST ke
API berikut:
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/balance:adjust
Untuk mengetahui informasi selengkapnya tentang API, lihat organizations.developers.balanceadjustBalance atau organizations.appgroups.balance.adjustBalance.
Jika Anda ingin mengurangi saldo developer aplikasi atau AppGroup yang kurang ditagih, tetapkan kolom
units dalam permintaan ke nilai positif.
Contoh berikut mengurangi saldo di akun prabayar developer aplikasi sebesar USD 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
Saat menjalankan perintah, Anda dapat melihat respons yang mirip dengan berikut:
{
"wallets": [
{
"balance": {
"currencyCode": "USD",
"units": "150"
},
"lastCreditTime": "1635489199530"
}
]
}
Jika Anda ingin menambah saldo developer aplikasi atau AppGroup yang ditagih terlalu tinggi, tetapkan
kolom units dalam permintaan ke nilai negatif.
Contoh berikut meningkatkan saldo di akun prabayar developer aplikasi sebesar USD 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
Saat menjalankan perintah, Anda dapat melihat respons yang mirip dengan berikut:
{
"wallets": [
{
"balance": {
"currencyCode": "USD",
"units": "200",
"nanos": 100000000
},
"lastCreditTime": "1635489199530"
}
]
}