Mengelola saldo akun prabayar

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

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:

  1. Developer aplikasi atau AppGroup mengisi ulang akun dari portal developer menggunakan gateway pembayaran.
  2. Portal developer menghasilkan ID transaksi unik untuk pengisian ulang.
  3. 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"
    }
  ]
}