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

Melihat konfigurasi monetisasi

Untuk melihat konfigurasi monetisasi developer, buat 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 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 ini:

{
  "billingType": "PREPAID",
}

Memperbarui konfigurasi monetisasi

Untuk memperbarui konfigurasi monetisasi developer, buat 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 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 ini:

{
  "billingType": "POSTPAID",
}

Perubahan jenis penagihan

Developer Anda dapat mengalihkan 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 menetapkan billingType developer ke PREPAID dalam konfigurasi. Developer dapat mulai menggunakan API hingga jumlah penambahan saldo prabayar. Berdasarkan laporan monetisasi kustom Anda, penggunaan apa pun 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 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 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, buat 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 dalam format waktu epoch, dan menunjukkan waktu saat saldo developer terakhir kali dikreditkan.

Saldo developer negatif

Jika developer melakukan beberapa panggilan API dalam jangka waktu singkat, developer tersebut mungkin diizinkan untuk melakukan panggilan API berlebih, yang mengakibatkan saldo dompet negatif untuk developer.

Skenario ini terjadi saat beberapa pemroses pesan menangani panggilan API dari developer yang sama. Setiap pemroses pesan akan memiliki salinan saldo developer yang menjadi dasar untuk mengizinkan panggilan API. Semua pemroses pesan secara berkala menyinkronkan saldonya 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 USD 2, saldo utama mungkin USD 0. Jadi, pemroses pesan mengizinkan panggilan API dari developer, dengan menganggap bahwa dompet developer masih memiliki USD 2.

Apigee menyinkronkan saldo dompet pemroses pesan secara hampir real time dengan sedikit penundaan, dan Anda tidak dapat mengontrol atau mengonfigurasi perilaku Apigee ini. Namun, semua kelebihan panggilan API yang dilakukan oleh developer akan diperhitungkan. Setelah memproses semua panggilan API developer, jumlah akhir di dompet developer akan mencerminkan tagihan bahkan untuk panggilan API yang berlebih. Jadi, saat developer mengisi ulang akun pada lain waktu, untuk memiliki saldo dompet positif, developer harus membayar jumlah saldo negatif di dompet terlebih dahulu.

Saldo developer kredit

Untuk mengkreditkan saldo di akun prabayar developer, buat 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.

Penambahan saldo developer melibatkan langkah-langkah berikut secara berurutan:

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

Contoh berikut menunjukkan panggilan API untuk langkah 3 dan mengkredit 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"
    }
  ]
}

Menyesuaikan saldo developer

Jika Anda telah menagih akun developer terlalu rendah atau terlalu tinggi, Anda dapat menggunakan adjustBalance API untuk mengurangi atau menambah saldo akun.

Untuk menyesuaikan saldo di akun prabayar developer, buat 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 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 ini:

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

Jika Anda ingin meningkatkan saldo developer yang ditagih berlebihan, 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 ini:

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