Ikhtisar
Dodo Payments API menggunakan kode status HTTP standar dan kode kesalahan kustom untuk menunjukkan keberhasilan atau kegagalan permintaan API. Ketika terjadi kesalahan, API mengembalikan kode status HTTP yang sesuai dan respons JSON yang berisi informasi rinci tentang kesalahan tersebut. Setiap respons kesalahan mencakup:- Kode status HTTP yang menunjukkan kategori umum dari kesalahan
- Kode kesalahan spesifik yang mengidentifikasi sifat tepat dari kesalahan
- Pesan kesalahan yang dapat dibaca manusia yang menjelaskan apa yang salah
- Rincian tambahan tentang kesalahan jika berlaku
- Memecahkan masalah integrasi
- Menerapkan penanganan kesalahan yang tepat dalam aplikasi Anda
- Memberikan umpan balik yang berarti kepada pengguna akhir
- Mempertahankan sistem pemrosesan pembayaran yang kuat
Ini adalah kesalahan API dan logika bisnis. Untuk alasan penolakan kartu yang dikembalikan pada pembayaran yang gagal (seperti
INSUFFICIENT_FUNDS atau CARD_DECLINED), lihat referensi Kegagalan Transaksi sebagai gantinya.Kode Kesalahan API Standar
| HTTP Status | Nama | Deskripsi |
|---|---|---|
| 400 | Bad Request | Permintaan salah bentuk atau mengandung parameter tidak valid |
| 401 | Unauthorized | Autentikasi gagal atau kunci API tidak valid |
| 403 | Forbidden | Kunci API tidak memiliki izin untuk mengakses sumber daya yang diminta |
| 404 | Not Found | Sumber daya yang diminta tidak ada |
| 405 | Method Not Allowed | Metode HTTP tidak didukung untuk endpoint ini |
| 409 | Conflict | Permintaan bertentangan dengan status sumber daya saat ini |
| 422 | Unprocessable Entity | Permintaan tepat bentuk tetapi mengandung kesalahan semantik |
| 429 | Too Many Requests | Batas laju terlampaui |
| 500 | Internal Server Error | Terjadi kesalahan yang tidak terduga di server kami |
| 502 | Bad Gateway | Server menerima respons tidak valid dari server hulu |
| 503 | Service Unavailable | Layanan sementara tidak tersedia |
| 504 | Gateway Timeout | Server kehabisan waktu menunggu respons hulu |
Format Respons Kesalahan
Ketika terjadi kesalahan, API mengembalikan respons JSON dengan struktur berikut:Referensi Kode Kesalahan
Kode kesalahan di bawah ini dikelompokkan berdasarkan area API yang mereka kaitkan. Setiap entri mencantumkan kondisi yang memicu dan pesan yang dikembalikan API.Autentikasi & Akun
-
UNAUTHORIZED- Pemicu: Tidak ada kunci API atau token/scope tidak valid
- Pesan: Anda tidak diizinkan untuk melakukan tindakan ini
-
MERCHANT_NOT_LIVE- Pemicu: Bisnis masih dalam mode tes/sandbox
- Pesan: Merchant belum aktif
Pembayaran & Checkout
-
CHECKOUT_SESSION_CONSUMED- Pemicu: Sesi checkout telah menghasilkan pembayaran
- Pesan: Sesi checkout telah digunakan
-
NO_ELIGIBLE_PAYMENT_METHODS- Pemicu: Setelah memfilter, tidak ada yang tersisa
- Pesan: Tidak ada metode pembayaran yang memenuhi syarat ditemukan
-
PAYMENT_NOT_SUCCEEDED- Pemicu: Upaya untuk mengembalikan/proses pembayaran tidak berhasil
- Pesan: Pembayaran yang diberikan tidak berhasil
-
PREVIOUS_PAYMENT_PENDING- Pemicu: Upaya untuk membuat tagihan sementara yang sebelumnya dalam keadaan non-terminal
- Pesan: Tidak dapat membuat tagihan baru karena pembayaran sebelumnya belum berhasil
-
UNSUCCESSFUL_PAYMENT_ID- Pemicu: ID Pembayaran mengacu pada pembayaran yang tidak berhasil
- Pesan: ID Pembayaran memiliki status tidak berhasil.
Konektor & BYOP
Kesalahan ini berkaitan dengan konektor pembayaran yang dimiliki merchant (Bawa Pemrosesor Anda Sendiri).-
BYOP_CONNECTOR_DISABLED- Pemicu: Memperbarui metode pembayaran pada langganan yang dialihkan melalui konektor BYOP yang dinonaktifkan
- Pesan: Langganan dialihkan melalui konektor BYOP milik merchant yang saat ini dinonaktifkan
-
BYOP_CUSTOM_INVOICE_ADDRESS_MISSING- Pemicu: Pembayaran BYOP merchant kehilangan alamat faktur khusus yang dibutuhkan
- Pesan: Alamat faktur khusus BYOP diperlukan ketika pembayaran dialihkan melalui konektor merchant
-
CONNECTOR_LABEL_ALREADY_EXISTS- Pemicu: Membuat konektor dengan label yang sudah ada
- Pesan: Konektor dengan label ini sudah ada. Silakan pilih label lain.
Pengembalian Uang
-
EXISTING_REFUND_REQUEST_PROCESSING- Trigger: Permintaan pengembalian dana sebelumnya masih diproses
- Message: Permintaan pengembalian dana dengan status “Pending” masih diproses
-
LINE_ITEM_FULLY_REFUNDED- Pemicu: Upaya untuk mengembalikan item yang telah dikembalikan sepenuhnya
- Pesan: Item telah dikembalikan sepenuhnya tidak dapat dikembalikan lebih lanjut.
-
LINE_ITEM_NOT_FOUND- Pemicu: ID Item bukan bagian dari pembayaran yang dirujuk
- Pesan: Item tidak ditemukan dalam pembayaran
-
LINE_ITEM_PRORATED- Pemicu: Pengembalian atau pembaruan dicoba pada baris didiskon
- Pesan: Item tidak dapat dikembalikan karena diprorata
-
LINE_ITEM_REFUND_AMOUNT_TOO_HIGH- Pemicu: Jumlah pengembalian > jumlah dibayar (pajak termasuk)
- Pesan: Item diminta jumlah pengembalian termasuk pajak adalah yang melebihi jumlah dibayar
-
LINE_ITEM_REFUND_AMOUNT_TOO_LOW- Pemicu: Jumlah pengembalian di bawah ambang batas minimum
- Pesan: Item diminta jumlah pengembalian adalah yang terlalu rendah
-
NOTHING_TO_REFUND- Pemicu: Tidak ada jumlah yang dapat dikembalikan tersisa; semua item positif telah dikembalikan sepenuhnya
- Pesan: Tidak ada jumlah yang dapat dikembalikan tersisa. Semua item positif telah dikembalikan sepenuhnya.
-
PARTIAL_REFUND_NOT_ALLOWED- Pemicu: Pengembalian parsial dicoba pada metode pembayaran yang hanya mendukung pengembalian penuh
- Pesan: Pengembalian parsial tidak diperbolehkan untuk metode pembayaran ini
-
PAYMENT_ALREADY_REFUNDED- Pemicu: Duplikasi pengembalian
- Pesan: Pembayaran ini sudah dikembalikan
-
PAYMENT_HAS_BEEN_REFUNDED- Pemicu: Pembayaran telah dikembalikan sepenuhnya
- Pesan: ID Pembayaran telah dikembalikan sepenuhnya.
-
REFUND_AMOUNT_EXCEEDS_PAID_AMOUNT- Pemicu: Jumlah pengembalian agregat > jumlah dibayar
- Pesan: Jumlah pengembalian yang dihitung lebih besar dari jumlah dibayar
-
REFUND_WINDOW_EXPIRED- Pemicu: Di luar jendela pengembalian yang diperbolehkan
- Pesan: Pengembalian tidak dapat dilakukan hari setelah pembuatan pembayaran. Hubungi support@dodopayments.com.
-
ZERO_AMOUNT_PAYMENT_REFUND_NOT_ALLOWED- Pemicu: Upaya untuk mengembalikan pembayaran dengan jumlah nol
- Pesan: Tidak dapat mengembalikan pembayaran dengan jumlah mata uang nol
Langganan & Tambahan
-
ADDONS_IN_USAGE_BASED_BILLING_NOT_SUPPORTED- Pemicu: Upaya untuk menambahkan addon pada langganan penagihan berbasis penggunaan
- Pesan: Addon pada Langganan tidak didukung untuk Penagihan Berbasis Penggunaan
-
ADDONS_NOT_ALLOWED_FOR_ON_DEMAND- Pemicu: Upaya untuk menambahkan addon pada langganan sesuai permintaan
- Pesan: Addon tidak diperbolehkan untuk langganan sesuai permintaan
-
CANCEL_SCHEDULED_PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED- Pemicu: Portal Pelanggan berupaya membatalkan perubahan rencana yang dijadwalkan sementara bisnis telah menonaktifkan tindakan tersebut
- Pesan: Pembatalan perubahan rencana yang dijadwalkan dinonaktifkan untuk portal pelanggan.
-
CHARGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION- Pemicu: Upaya untuk menagih langganan yang dijadwalkan untuk pembatalan
- Pesan: Langganan dijadwalkan untuk pembatalan
-
CUSTOMER_HAS_EXISTING_SUBSCRIPTION- Pemicu: Membuat langganan untuk pelanggan yang sudah memiliki satu, ketika beberapa langganan per pelanggan tidak diperbolehkan
- Pesan: Pelanggan sudah memiliki langganan. Untuk mengizinkan beberapa langganan per pelanggan, ubah pengaturan bisnis
-
DO_NOT_BILL_NOT_ALLOWED_IN_CUSTOMER_PORTAL- Pemicu:
do_not_billmode prorasi digunakan dalam perubahan rencana Portal Pelanggan - Pesan: do_not_bill mode prorasi tidak diperbolehkan di portal pelanggan
- Pemicu:
-
DUPLICATE_ADDON_IDS_IN_REQUEST- Pemicu:
addon_idyang sama muncul lebih dari sekali dalam permintaan - Pesan: ID addon ganda tidak diperbolehkan
- Pemicu:
-
INACTIVE_SUBSCRIPTION_PLAN_CHANGE_NOT_SUPPORTED- Pemicu: Perubahan rencana pada langganan tidak aktif
- Pesan: Mengganti rencana tidak didukung untuk langganan tidak aktif
-
INVALID_PRORATION_MODE_WITH_NEXT_BILLING_DATE- Pemicu: Mode prorasi selain
full_immediatelydigunakan denganeffective_at: next_billing_date - Pesan: Hanya mode prorasi full_immediately yang diperbolehkan dengan effective_at: next_billing_date
- Pemicu: Mode prorasi selain
-
MISSING_ADDON_IDS- Pemicu: Daftar
addon_idkosong atau ID tidak dikenal - Pesan: Satu atau lebih ID produk tidak ada:
- Pemicu: Daftar
-
ON_DEMAND_PLAN_CHANGE_NOT_SUPPORTED- Pemicu: Tukar rencana tidak diperbolehkan sesuai permintaan
- Pesan: Mengganti rencana tidak didukung untuk langganan sesuai permintaan
-
ON_DEMAND_USAGE_BASED_BILLING_NOT_SUPPORTED- Pemicu: Upaya untuk menggunakan sesuai permintaan dengan penagihan berbasis penggunaan
- Pesan: Langganan Sesuai Permintaan tidak didukung untuk Penagihan Berbasis Penggunaan
-
ONE_TIME_PRODUCTS_NOT_ALLOWED_FOR_ON_DEMAND- Pemicu: Produk satu kali ditambahkan ke langganan sesuai permintaan
- Pesan: Produk satu kali tidak diperbolehkan untuk langganan sesuai permintaan
-
PENDING_PLAN_CHANGE_EXISTS- Pemicu: Permintaan perubahan rencana baru sementara yang sebelumnya masih menunggu pembayaran
- Pesan: Perubahan rencana tertunda sudah ada untuk langganan ini. Silakan menunggu pembayaran saat ini selesai.
-
PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED- Pemicu: Perubahan rencana melalui Portal Pelanggan sementara bisnis telah menonaktifkannya
- Pesan: Perubahan rencana langganan untuk portal pelanggan dinonaktifkan.
-
PLAN_CHANGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION- Pemicu: Perubahan rencana dicoba pada langganan yang dijadwalkan untuk pembatalan
- Pesan: Langganan dijadwalkan untuk pembatalan
-
SCHEDULE_PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED- Pemicu: Menjadwalkan perubahan rencana melalui Portal Pelanggan sementara bisnis telah menonaktifkannya
- Pesan: Menjadwalkan perubahan rencana dinonaktifkan untuk bisnis ini.
-
SCHEDULED_PLAN_CHANGE_EXISTS- Pemicu: Membuat perubahan rencana yang dijadwalkan ketika yang satu sudah ada
- Pesan: Perubahan rencana yang dijadwalkan sudah ada untuk langganan ini. Silakan batalkan perubahan terjadwal yang ada sebelum membuat yang baru.
-
SCHEDULED_PLAN_CHANGE_NOT_FOUND- Pemicu: Mengacu atau membatalkan perubahan rencana yang dijadwalkan yang tidak ada
- Pesan: Tidak ditemukan perubahan rencana yang dijadwalkan untuk langganan ini.
-
SUBSCRIPTION_EXPIRED- Pemicu: Penagihan melebihi
ends_at - Pesan: Langganan kedaluwarsa tidak dapat membuat tagihan baru
- Pemicu: Penagihan melebihi
-
SUBSCRIPTION_INACTIVE- Pemicu: Status ≠
ACTIVE - Pesan: Langganan tidak aktif
- Pemicu: Status ≠
-
SUBSCRIPTION_NOT_ON_DEMAND- Pemicu: Diharapkan sesuai permintaan tetapi mendapatkan interval tetap
- Pesan: Langganan sudah tidak sesuai permintaan
-
SUBSCRIPTION_PAYMENT_RETRY_LIMIT_EXCEEDED- Pemicu: Pembayaran langganan mengalami kegagalan ulang melebihi batas maksimum percobaan
- Pesan: Batas percobaan ulang maksimum dari 10 percobaan pada langganan ini telah terlampaui
Produk, Keranjang & Merek
-
BRAND_MISMATCH- Pemicu: Item keranjang berasal dari merek yang berbeda
- Pesan: Semua item dalam keranjang produk harus berasal dari merek yang sama
-
BRAND_NOT_ENABLED- Pemicu: Merek dinonaktifkan atau tidak aktif
- Pesan: Merek yang diberikan tidak diaktifkan
-
BRAND_SUBMISSION_NOT_ENABLED- Pemicu: Fitur pengajuan verifikasi merek tidak diaktifkan
- Pesan: Pengajuan ulang verifikasi merek tidak diaktifkan
-
FILE_IN_USE- Pemicu: Menghapus file produk digital yang masih direferensikan oleh pemberian hak aktif (lewati
?force=trueuntuk override) - Pesan: File digital masih direferensikan oleh pemberian hak aktif
- Pemicu: Menghapus file produk digital yang masih direferensikan oleh pemberian hak aktif (lewati
-
INVALID_SUGGESTED_PRICE- Pemicu: Harga PWYW < harga minimum yang diperbolehkan
- Pesan: Harga yang disarankan tidak dapat lebih rendah dari harga minimum. Dalam kasus bayar sesuka hati, harga dianggap sebagai jumlah minimum yang diterima
-
LOCALIZED_PRICE_ALREADY_EXISTS- Pemicu: Harga lokal untuk produk dan negara/mata uang ini sudah ada
- Pesan: Harga lokal untuk produk dan negara/mata uang ini sudah ada
-
LOCALIZED_PRICE_DUPLICATES_BASE- Pemicu: Harga lokal menduplikasi mata uang/negara dasar produk
- Pesan: Harga lokal menduplikasi mata uang/negara dasar produk
-
LOCALIZED_PRICE_SHAPE_MISMATCH- Pemicu: Bentuk harga lokal tidak cocok dengan
pricing_modeproduk - Pesan: Bentuk harga lokal tidak cocok dengan pricing_mode produk
- Pemicu: Bentuk harga lokal tidak cocok dengan
-
MISSING_PRODUCT_INFORMATION- Pemicu: Produk ada tetapi informasi wajib hilang
- Pesan: Produk ada tetapi informasi wajib lainnya hilang atau salah
-
PAY_AS_YOU_WANT_AMOUNT_REQUIRED- Pemicu: Harga hilang untuk produk PWYW
- Pesan: Jumlah wajib untuk produk bayar sesuka hati
-
PRODUCT_CART_EMTPY- Pemicu: Keranjang produk yang kosong dikirimkan
- Pesan: product_cart kosong (kode kesalahan ini sengaja dieja
EMTPYuntuk mencocokkan nilai persis yang dikembalikan API)
-
PRODUCT_COLLECTION_IS_DELETED- Pemicu: Mengoperasikan kumpulan produk yang dihapus
- Pesan: Tidak ada pesan
-
PRODUCT_COLLECTION_MUST_HAVE_PRODUCTS- Pemicu: Menghapus produk terakhir (atau group terakhir dengan produk) dari sebuah kumpulan
- Pesan: Tidak dapat menghapus produk terakhir dalam kumpulan. Arsipkan kumpulan sebagai gantinya.
-
PRODUCT_IS_DELETED- Pemicu: Produk dihapus secara lembut
- Pesan: Tidak ada pesan
-
PRODUCT_PRICING_MODE_REQUIRED- Pemicu: Menambahkan harga lokal sebelum
pricing_modeproduk disetel - Pesan: Product pricing_mode harus disetel sebelum menambahkan harga lokal
- Pemicu: Menambahkan harga lokal sebelum
-
SLUG_ALREADY_TAKEN- Pemicu: Slug produk yang diminta / URL pendek sudah digunakan
- Pesan: Slug sudah digunakan
-
UNABLE_TO_EDIT_PRIMARY_BRAND- Pemicu: Upaya untuk memperbarui merek utama melalui API biasa
- Pesan: Merek utama tidak dapat diperbarui melalui endpoint API ini.
Diskon
-
DISCOUNT_ALREADY_USED_ON_SUBSCRIPTION- Pemicu: Menggunakan kembali diskon yang sudah digunakan pada langganan ini
- Pesan: Diskon ini sudah digunakan pada langganan ini
-
DISCOUNT_CODE_ALREADY_EXISTS- Pemicu: Pembuatan kode diskon duplikat
- Pesan: Kode Diskon sudah ada
-
DISCOUNT_CODE_EXPIRED- Pemicu: Kode diskon melampaui
expires_attanggal - Pesan: Kode diskon kedaluwarsa
- Pemicu: Kode diskon melampaui
-
DISCOUNT_CODE_USAGE_LIMIT_EXCEEDED- Pemicu: Diskon digunakan kembali setelah
usage_limittercapai - Pesan: Batas penggunaan tidak dapat kurang dari kali_digunakan / Batas penggunaan kode diskon tercapai
- Pemicu: Diskon digunakan kembali setelah
-
DISCOUNT_NOT_APPLICABLE_TO_NEW_PRODUCT- Pemicu: Perubahan rencana ke produk yang tidak diterapkan diskon yang ada
- Pesan: Diskon tidak berlaku pada produk rencana baru
-
DISCOUNT_NOT_AVAILABLE_FOR_ON_DEMAND- Pemicu: Kode diterapkan pada langganan sesuai permintaan
- Pesan: Kupon diskon tidak tersedia untuk langganan sesuai permintaan
-
DISCOUNT_NOT_AVAILABLE_FOR_PRODUCT- Pemicu: Kode diterapkan pada produk yang tidak terkait
- Pesan: Kupon diskon tidak tersedia untuk produk ini
-
INVALID_DISCOUNT_CODE- Pemicu: Kode tidak ada / tidak berlaku
- Pesan: Kode Diskon tidak valid / Kode Diskon tidak dapat diterapkan pada produk apa pun dalam keranjang
-
INVALID_PERCENTAGE- Pemicu: Persentase jumlah > 100% (atau 10.000 basis poin)
- Pesan: Persentase jumlah tidak dapat lebih dari 10000 / Jumlah kode diskon tidak dapat lebih dari 100%
-
UNSUPPORTED_DISCOUNT_TYPE- Pemicu: Diskon jumlah tetap, dll., belum aktif
- Pesan: Hanya kode diskon persentase yang didukung untuk saat ini
Kunci Lisensi
-
ACTIVATION_LIMIT_LESS_THAN_CURRENT_AMOUNT- Pemicu: Aktivasi kunci lisensi: batas baru < jumlah instansi yang ada
- Pesan: Batas aktivasi baru tidak dapat kurang dari jumlah instansi saat ini
-
INACTIVE_LICENSE_KEY- Pemicu: Status kunci ≠
ACTIVE - Pesan: Kunci lisensi tidak aktif
- Pemicu: Status kunci ≠
-
LICENSE_KEY_LIMIT_REACHED- Pemicu: Aktivasi = batas
- Pesan: Batas aktivasi kunci lisensi tercapai
-
LICENSE_KEY_NOT_FOUND- Pemicu: ID instansi atau ID kunci tidak valid
- Pesan: Instansi kunci lisensi tidak ditemukan atau bukan milik kunci lisensi ini
-
NO_EXPIRY_ON_SUBSCRIPTION_LICENSE_KEYS- Pemicu: Upaya untuk mengatur kadaluarsa pada kunci berbasis langganan
- Pesan: Tidak dapat mengatur tanggal kadaluarsa untuk kunci lisensi berbasis langganan
Penagihan Berbasis Penggunaan & Meter
-
DUPLICATE_METER_IDS_IN_REQUEST- Pemicu: ID meter yang sama muncul beberapa kali dalam permintaan
- Pesan: ID Meter duplikat tidak diperbolehkan
-
INVALID_QUANTITY- Pemicu: Kuantitas tidak valid ditentukan untuk penetapan harga berbasis penggunaan
- Pesan: Hanya 1 kuantitas yang diizinkan untuk produk harga berbasis penggunaan
-
METER_IS_DELETED- Pemicu: Upaya untuk menggunakan meter yang dihapus
- Pesan: Meteran sudah dihapus
-
MISSING_METER_IDS- Pemicu: Daftar ID meter kosong atau berisi ID tidak valid
- Pesan: Satu atau lebih ID meter tidak ada:
Penagihan Berbasis Kredit
-
CREDIT_ENTITLEMENT_IS_DELETED- Pemicu: Mengoperasikan hak kredit yang telah dihapus
- Pesan: Hak kredit sudah dihapus
-
CREDIT_ENTITLEMENT_NAME_ALREADY_EXISTS- Pemicu: Membuat hak kredit dengan nama yang sudah ada
- Pesan: Hak kredit dengan nama ini sudah ada
-
OVERAGE_LIMIT_EXCEEDED- Pemicu: Penggunaan atau pengurangan kredit akan melebihi batas overage yang dikonfigurasi
- Pesan: Batas overage terlampaui
Dompet
-
INSUFFICIENT_WALLET_FUNDS- Pemicu: Saldo dompet < jumlah debit
- Pesan: Dana di dompet tidak mencukupi
-
NEGATIVE_BALANCE_ADJUSTMENT- Pemicu: Upaya untuk membuat saldo dompet negatif
- Pesan: Saldo dompet tidak boleh negatif
Mata Uang, Pajak & Wilayah
-
EXCHANGE_RATE_NOT_FOUND- Pemicu: Tidak ada kurs tukar untuk pasangan mata uang
from → to - Pesan: Kurs tukar tidak ditemukan untuk konversi dari Mata Uang ke Mata Uang
- Pemicu: Tidak ada kurs tukar untuk pasangan mata uang
-
INVALID_TAX_ID- Pemicu: Validasi VAT/GST/TIN gagal
- Pesan: Tax Id tidak valid
-
REQUEST_AMOUNT_BELOW_MINIMUM- Pemicu: Jumlah < minimum produk
- Pesan: Jumlah tidak boleh kurang dari jumlah minimum yang ditentukan untuk produk
-
TOTAL_PAYMENT_AMOUNT_BELOW_MINIMUM_AMOUNT- Pemicu: Total kombinasi keranjang < minimum gateway
- Pesan: Jumlah minimum dibutuhkan untuk memproses pembayaran
-
UNSUPPORTED_BILLING_CURRENCY- Pemicu: Langganan dibatasi untuk USD
- Pesan: Mata uang penagihan non USD tidak didukung untuk langganan
-
UNSUPPORTED_COUNTRY- Pemicu: Geo belum didukung
- Pesan: Negara saat ini tidak didukung
-
UNSUPPORTED_CURRENCY- Pemicu: Mata uang produk atau addon tidak valid
- Pesan: Mata uang saat ini tidak didukung / Hanya produk USD dan INR yang didukung saat ini / Hanya USD dan INR yang didukung untuk harga addon / Hanya dapat meminta USD atau INR untuk mata uang penagihan / Mata Uang Tidak Didukung / Mata uang tak terduga untuk langganan kartu India
-
UNSUPPORTED_TAX_CATEGORY- Pemicu: String kategori pajak tidak ada dalam enum
- Pesan: Kategori saat ini tidak didukung
Validasi & Permintaan
-
DUPLICATE_LINE_ITEMS_IN_REQUEST- Pemicu:
item_idyang sama muncul dua kali dalamitems[] - Pesan: item_ids duplikat ditentukan dalam array item
- Pemicu:
-
INVALID_QUERY_PARAMS- Pemicu: Parameter kueri saling eksklusif / salah bentuk
- Pesan: Parameter kueri harus hanya mengandung waktu_kerangka atau (awal, akhir)
-
INVALID_REQUEST_BODY- Pemicu: JSON salah bentuk atau pelanggaran skema
- Pesan: Body permintaan Anda tidak valid. Harap periksa header dan objek permintaan Anda.
-
INVALID_REQUEST_PARAMETERS- Pemicu: Semantik salah (misalnya, tanggal di masa lalu)
- Pesan: Tidak dapat mengubah next_billing_date ke waktu masa lalu
-
MAXIMUM_KEYS_REACHED- Pemicu: Metadata / custom-fields melebihi 50 pasang
- Pesan: Melebihi 50 pasangan kunci-nilai
Umum & Sistem
-
INTEGER_CONVERSION_FAILURE- Pemicu: Konversi bilangan bulat ↔ string/desimal yang gagal di sisi server
- Pesan: Kegagalan Konversi Bilangan Bulat
-
INTERNAL_SERVER_ERROR- Pemicu: Pengecualian tidak tertangkap; Anda harus mencatat detailnya di sisi server
- Pesan: Tidak ada pesan umum (500 generic)
-
NOT_FOUND- Pemicu: 404 umum untuk sumber yang hilang
- Pesan: Item tidak ditemukan (atau lebih spesifik)
-
TOO_MANY_REQUESTS- Pemicu: 429 batas laju
- Pesan: Tidak ada pesan
-
UNSUPPORTED_ACTION- Pemicu: Tindakan tidak didukung untuk jenis sumber daya
- Pesan: Mengubah rencana untuk langganan berbasis penggunaan tidak didukung
Praktik Terbaik
- Selalu tangani kesalahan dengan baik dalam aplikasi Anda
- Implementasikan logging kesalahan yang tepat
- Gunakan pesan kesalahan yang sesuai untuk pengguna akhir
- Implementasikan logika retry untuk kesalahan sementara
- Hubungi dukungan untuk masalah yang belum terpecahkan