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 dapat menggunakan Apigee API untuk mengelola akun penagihan prabayar developer Anda. Dengan menggunakan API, Anda dapat melakukan tugas-tugas berikut:

Lihat konfigurasi monetisasi

Untuk melihat konfigurasi monetisasi developer, ajukan 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 informasi lebih lanjut tentang API, lihat getMonetizationConfig.

Contoh berikut menunjukkan cara melihat konfigurasi monetisasi untuk developer dengan 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 ini:

{
  "billingType": "PREPAID",
}

Perbarui konfigurasi monetisasi

Untuk memperbarui konfigurasi monetisasi developer, ajukan 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 mengupdate jenis penagihan developer. Untuk informasi selengkapnya tentang API, lihat updateMonetizationConfig.

Contoh berikut menunjukkan cara memperbarui konfigurasi monetisasi untuk developer dengan 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 ini:

{
  "billingType": "POSTPAID",
}

Perubahan jenis penagihan

Developer Anda dapat mengalihkan penagihan mereka dari prabayar ke pascabayar dan sebaliknya. Bagian ini menjelaskan perubahan yang terjadi di Apigee saat developer mengubah jenis penagihan.

Pascabayar ke prabayar

Jika developer beralih dari pascabayar ke prabayar, Apigee segera menetapkan billingType developer ke PREPAID dalam konfigurasi. Developer dapat mulai menggunakan API sesuai dengan jumlah penambahan saldo prabayar. Berdasarkan laporan monetisasi kustom, 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 segera menetapkan billingType developer ke 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 terutang dari developer setelah siklus penagihan, Anda (penyedia API) harus mempertimbangkan saldo kredit di akun developer tersebut.

Lihat saldo developer

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

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

Untuk 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 ini:

{
  "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 menggunakan format waktu epoch, dan menunjukkan waktu saat saldo developer terakhir dikreditkan.

Saldo developer negatif

Jika developer melakukan beberapa panggilan API dalam rentang waktu singkat, developer dapat melakukan panggilan API berlebih, yang menyebabkan saldo dompet 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 izin yang diberikannya untuk panggilan API. Semua pemroses pesan menyinkronkan saldonya secara berkala dengan saldo utama dalam database Cassandra. Karena adanya sedikit keterlambatan sinkronisasi, saldo dompet developer dalam pemroses pesan mungkin tidak sinkron dengan saldo utama. Misalnya, pada waktu tertentu, jika saldo dompet developer dalam pemroses pesan adalah USD 2, saldo utamanya mungkin adalah USD 0. Jadi, pemroses pesan mengizinkan panggilan API dari developer, dengan anggapan bahwa dompet developer masih memiliki US$2.

Apigee menyinkronkan saldo wallet pemroses pesan hampir secara real time dengan penundaan kecil, 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 akan mencerminkan tagihan bahkan untuk panggilan API berlebih. Jadi, saat developer mengisi ulang akun di lain waktu, agar memiliki saldo dompet positif, developer harus melunasi jumlah saldo negatif terlebih dahulu di dompet.

Saldo developer kredit

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

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

Untuk informasi selengkapnya tentang API, lihat creditBalance.

Mengkreditkan saldo developer melibatkan langkah-langkah berikut secara berurutan:

  1. Developer menambah saldo akun developer dari portal developer dengan menggunakan gateway pembayaran.
  2. Portal developer membuat ID transaksi unik untuk penambahan saldo.
  3. Portal developer memperbarui saldo developer dengan 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 penambahan 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 ini:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "300",
        "nanos": 710000000
      },
      "lastCreditTime": "9876543210"
    },
    {
      "balance": {
        "currencyCode": "INR",
        "units": "10000",
        "nanos": 600000000
      },
      "lastCreditTime": "1234567890"
    }
  ]
}

Sesuaikan saldo developer

Jika Anda menagih akun developer dengan tagihan yang rendah atau membebankan biaya yang berlebihan, Anda dapat menggunakan adjustBalance API untuk mengurangi atau menambah saldo akun.

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

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

Untuk informasi selengkapnya tentang API, lihat adjustBalance.

Jika Anda ingin mengurangi saldo developer yang dikenai biaya rendah, tetapkan kolom units dalam permintaan ke nilai positif. Contoh berikut mengurangi saldo di akun prabayar developer sebesar 50 USD:

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 ini:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "150"
      },
      "lastCreditTime": "1635489199530"
    }
  ]
}

Jika Anda ingin menambah saldo developer yang ditagih berlebihan, tetapkan kolom units dalam permintaan ke nilai negatif. Contoh berikut meningkatkan saldo di akun prabayar developer sebesar 50.1 USD:

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 ini:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "200",
        "nanos": 100000000
      },
      "lastCreditTime": "1635489199530"
    }
  ]
}