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 Anda. Dengan menggunakan API, Anda dapat melakukan tugas berikut:

Melihat konfigurasi monetisasi

Untuk melihat konfigurasi monetisasi developer, kirim permintaan GET ke API berikut:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig

Dengan API ini, Anda dapat melihat jenis penagihan developer. Untuk mengetahui informasi selengkapnya tentang API, lihat getMonetizationConfig.

Contoh berikut menunjukkan cara melihat konfigurasi monetisasi untuk developer 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, kirim permintaan PUT ke API berikut:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig

Dengan API ini, Anda dapat memperbarui jenis penagihan developer. Untuk mengetahui informasi selengkapnya tentang API, lihat updateMonetizationConfig.

Contoh berikut menunjukkan cara memperbarui konfigurasi monetisasi untuk developer 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 Anda dapat mengubah penagihan dari prabayar ke pascabayar dan sebaliknya. Bagian ini menjelaskan perubahan yang terjadi di Apigee saat developer mengubah jenis penagihan mereka.

Pascabayar ke prabayar

Jika developer beralih dari pascabayar ke prabayar, Apigee akan langsung menyetel billingType developer menjadi PREPAID dalam konfigurasi. Developer dapat mulai menggunakan API hingga jumlah pengisian ulang prabayar. Berdasarkan laporan monetisasi kustom Anda, setiap penggunaan yang ada di akun pascabayar developer harus ditagih secara terpisah oleh Anda (penyedia API).

Prabayar ke pascabayar

Jika developer beralih dari prabayar ke pascabayar, Apigee akan langsung menyetel billingType developer menjadi POSTPAID dalam konfigurasi. Laporan monetisasi kustom Anda menampilkan saldo yang ada (dari semua mata uang) di akun prabayar developer sebagai transaksi kredit. Saat menghitung jumlah yang harus dibayar dari developer setelah siklus penagihan, Anda (penyedia API) harus mempertimbangkan saldo kredit di akun developer.

Melihat saldo developer

Untuk melihat saldo di akun prabayar developer, kirim permintaan GET ke API berikut:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance

Untuk mengetahui informasi selengkapnya tentang API, lihat getBalance.

Contoh berikut menunjukkan cara melihat saldo di akun prabayar developer:

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 memiliki dua saldo akun prabayar; satu untuk setiap mata uang. Anda dapat mengetahui jumlah saldo dari kolom units dan nanos. Kolom lastCreditTime berada dalam format waktu epoch, dan menunjukkan waktu saat saldo developer terakhir kali dikreditkan.

Saldo negatif developer

Jika developer melakukan beberapa panggilan API dalam rentang waktu yang singkat, developer tersebut mungkin diizinkan untuk melakukan panggilan API berlebih, yang mengakibatkan saldo e-wallet negatif bagi developer.

Skenario ini terjadi saat beberapa pemroses pesan menangani panggilan API dari developer yang sama. Setiap pemroses pesan akan memiliki salinan saldo developer berdasarkan saldo tersebut, panggilan API diizinkan. Semua pemroses pesan secara berkala menyinkronkan saldo mereka dengan saldo utama di database Cassandra. Karena penundaan kecil dalam sinkronisasi, saldo dompet developer di pemroses pesan mungkin tidak sinkron dengan saldo utama. Misalnya, pada waktu tertentu, jika saldo dompet developer di pemroses pesan adalah 2 USD, saldo utama mungkin 0 USD. Jadi, pemroses pesan mengizinkan panggilan API dari developer, dengan mengira bahwa dompet developer 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, semua panggilan API berlebih yang dilakukan oleh developer akan diperhitungkan. Setelah memproses semua panggilan API developer, jumlah akhir di dompet developer mencerminkan biaya bahkan untuk panggilan API yang berlebihan. Jadi, saat developer mengisi ulang akun pada waktu berikutnya, untuk memiliki saldo dompet yang positif, developer harus terlebih dahulu melunasi jumlah saldo negatif di dompet.

Saldo developer kredit

Untuk mengkreditkan saldo di akun prabayar developer, kirim permintaan POST ke API berikut:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:credit

Untuk mengetahui informasi selengkapnya tentang API, lihat creditBalance.

Pengkreditan saldo developer melibatkan langkah-langkah berikut secara berurutan:

  1. Developer mengisi saldo akun developer dari portal developer menggunakan gateway pembayaran.
  2. Portal developer menghasilkan ID transaksi unik untuk pengisian ulang.
  3. Portal developer memperbarui saldo developer menggunakan organizations/{org}/developers/{developer}/balance:credit API.

Contoh berikut menunjukkan panggilan API untuk langkah 3 dan mengkreditkan saldo developer 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 developer

Jika Anda telah menagih kurang atau lebih dari akun developer, Anda dapat menggunakan adjustBalance API untuk mengurangi atau menambah saldo akun.

Untuk menyesuaikan saldo di akun prabayar developer, kirim permintaan POST ke API berikut:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:adjust

Untuk mengetahui informasi selengkapnya tentang API, lihat adjustBalance.

Jika Anda ingin mengurangi saldo developer yang kurang ditagih, tetapkan kolom units dalam permintaan ke nilai positif. Contoh berikut mengurangi saldo di akun prabayar developer 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 yang dikenai biaya berlebih, tetapkan kolom units dalam permintaan ke nilai negatif. Contoh berikut meningkatkan saldo di akun prabayar developer 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"
    }
  ]
}