# Kunci API Gunakan kunci API untuk mengautentikasi permintaan API. Stripe mengautentikasi permintaan API menggunakan kunci API akun Anda. Jika suatu permintaan tidak menyertakan kunci yang valid, Stripe akan menampilkan [kesalahan permintaan tidak valid](https://docs.stripe.com/error-handling.md#invalid-request-errors). Jika suatu permintaan menyertakan kunci yang sudah dihapus atau kedaluwarsa, Stripe akan menampilkan [kesalahan autentikasi](https://docs.stripe.com/error-handling.md#authentication-errors). Gunakan [Dashboard Pengembang](https://dashboard.stripe.com/test/apikeys) untuk membuat, menampilkan, menghapus, dan mengganti kunci API. Anda dapat mengakses kunci API Anda pada tab [Kunci API](https://dashboard.stripe.com/test/apikeys). > #### Jika Anda baru mengenal Stripe > > - **Jaga keamanan bisnis Anda:** Baca [praktik terbaik](https://docs.stripe.com/keys-best-practices.md) kami dalam mengelola kunci API. - **Buat dan coba**: Gunakan kunci *sandbox (mode percobaan)* Anda. Kunci sandbox dimulai dengan `pk_test_` (dapat dipublikasikan), `rk_test_` (dibatasi), dan `sk_test_` (rahasia). Kunci ini memungkinkan Anda mencoba tanpa memengaruhi data live. - **Ketika Anda siap menerima pembayaran nyata**: Beralihlah ke **kunci mode live**, yang dimulai dengan `pk_live_`, `rk_live_`, dan `sk_live_`. Lihat [Beralih ke mode live](https://docs.stripe.com/keys.md#switch-to-live-mode) untuk instruksi lebih lanjut. - **Mencari rahasia penandatanganan webhook**: Rahasia webhook berbeda dari kunci API. Anda dapat menemukannya di bagian [Webhook](https://dashboard.stripe.com/webhooks) pada Dashboard di bawah setiap endpoint webhook. ## Tipe kunci Saat mendaftar akun Stripe, kami membuat tiga jenis kunci API untuk Anda: | Tipe | Aman untuk diungkapkan | Deskripsi | | ------------------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Kunci API yang dibatasi (RAK)`rk_...` | Tidak | Kunci API dengan izin yang Anda kendalikan. Batasi kerugian pada bisnis yang dapat ditimbulkan oleh pihak yang tidak bertanggung jawab jika mereka mendapatkan kunci Anda. Buat RAK sebanyak yang Anda inginkan dan tetapkan ke berbagai bagian aplikasi. [Panduan ini](https://docs.stripe.com/keys/restricted-api-keys.md) menjelaskan cara mengonfigurasi dan menggunakan RAK. | | Kunci API yang dapat dipublikasikan | Ya | Kunci API yang dapat ditempatkan dalam kode front-end atau aplikasi yang Anda distribusikan. | | Kunci API rahasia`sk_...` | Tidak | Kunci API yang memiliki izin tidak dibatasi pada semua API Stripe. Karena Anda tidak dapat membatasi izinnya, kami tidak merekomendasikan penggunaan kunci rahasia untuk contoh penggunaan baru, dan untuk integrasi yang sudah ada, kami merekomendasikan migrasi penggunaan kunci rahasia ke RAK. | | Kunci API Organisasi`sk_org_...` | Tidak | Kunci API yang berfungsi di tingkat organisasi. Kunci ini sama seperti kunci rahasia atau kunci terbatas di tingkat akun, tetapi beroperasi di tingkat [organisasi](https://docs.stripe.com/get-started/account/orgs.md) untuk mengelola beberapa akun Stripe sekaligus. [Panduan ini](https://docs.stripe.com/keys/organization-api-keys.md) menjelaskan cara mengonfigurasi dan menggunakan kunci API organisasi. | Kami juga mendukung [kunci API terkelola](https://docs.stripe.com/keys/managed-api-keys.md) yang diterbitkan oleh platform hosting tertentu. Kunci terkelola ini merupakan kunci API rahasia yang dikirimkan oleh platform hosting langsung ke aplikasi hosting Anda. Anda tidak perlu mengelola kunci terkelola ini secara langsung; penyedia layanan hosting yang akan menerbitkan dan memperbarui kunci terkelola secara berkala untuk Anda. > #### Rahasia penandatanganan webhook > > Rahasia penandatanganan webhook bukanlah kunci API—rahasia per-webhook yang digunakan penerima webhook Anda untuk mengautentikasi bahwa webhook sebenarnya berasal dari Stripe. Anda dapat menemukan rahasia penandatanganan untuk setiap endpoint webhook di [Webhook](https://dashboard.stripe.com/webhooks) bagian Dashboard. Jika membuat akun Stripe sebelum Mei 2026, Anda mungkin tidak memiliki kunci API yang dibatasi. Kami merekomendasikan pembuatan RAK dan migrasi dari kunci rahasia. Anda bertanggung jawab untuk mengelola kunci API dengan aman. Baca panduan kami tentang [praktik terbaik untuk melindungi kunci API](https://docs.stripe.com/keys-best-practices.md). ### Sandbox versus mode live Semua permintaan API Stripe berlangsung baik dalam *sandbox* (A sandbox is an isolated test environment that allows you to test Stripe functionality in your account without affecting your live integration. Use sandboxes to safely experiment with new features and changes) maupun *mode langsung* (Use this mode when you’re ready to launch your app. Card networks or payment providers process payments). Anda dapat menggunakan sandbox untuk menguji integrasi Anda dan mengakses data pengujian, serta mode langsung untuk mengakses data akun yang sebenarnya. Setiap mode memiliki kumpulan kunci API tersendiri, dan objek dalam satu mode tidak dapat diakses oleh mode lainnya. Sebagai contoh, [objek product](https://docs.stripe.com/api/products/object.md) di sandbox tidak dapat menjadi bagian dari pembayaran mode langsung. | Tipe | Waktu menggunakan | Objek | Cara menggunakan | Pertimbangan | | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Sandbox | Gunakan sandbox, dan kunci API percobaan yang terkait, saat Anda membuat integrasi. Di sandbox, jaringan kartu dan penyedia pembayaran tidak memproses pembayaran. | API memanggil kembali objek simulasi. Sebagai contoh, Anda dapat mengambil dan menggunakan objek `account`, `payment`, `customer`, `charge`, `refund`, `transfer`, `balance`, dan `subscription` percobaan. | Gunakan [kartu kredit dan akun percobaan](https://docs.stripe.com/testing.md#cards). Anda tidak dapat menerima metode pembayaran aktual atau menggunakan akun aktual. | [Identitas](https://docs.stripe.com/identity.md) tidak melakukan pemeriksaan verifikasi. Selain itu, [objek akun](https://docs.stripe.com/api/accounts/object.md) Connect tidak mengembalikan bidang sensitif. | | Mode live | Gunakan mode live, dan kunci API live yang terkait, saat Anda siap meluncurkan integrasi dan menerima uang aktual. Dalam mode live, jaringan kartu dan penyedia pembayaran akan memproses pembayaran. | API memanggil kembali objek aktual. Sebagai contoh, Anda dapat mengambil dan menggunakan objek `account`, `payment`, `customer`, `charge`, `refund`, `transfer`, `balance`, dan `subscription` aktual. | Terima kartu kredit aktual dan gunakan akun pelanggan. Anda dapat menerima otorisasi pembayaran, charge, dan penarikan aktual untuk kartu kredit dan akun. | Sengketa memiliki alur yang lebih bernuansa dan [proses percobaan](https://docs.stripe.com/testing.md#disputes) yang lebih sederhana. Selain itu, beberapa [metode pembayaran](https://docs.stripe.com/payments/payment-methods.md) memiliki alur yang lebih bernuansa dan memerlukan lebih banyak langkah. | ## Lindungi kunci Anda Hanya kunci yang dapat dipublikasikan yang aman untuk ditampilkan di luar backend aplikasi Anda. Anda bertanggung jawab melindungi kunci API Stripe lainnya, termasuk kunci API terbatas. Berikut beberapa cara untuk melindungi kunci Anda: - Simpan kunci sensitif di brankas rahasia yang disediakan oleh platform hosting Anda. [Postingan blog ini](https://stripe.dev/blog/securing-stripe-api-keys-aws-automatic-rotation) memberikan contohnya. Jika Anda tidak dapat menggunakan brankas rahasia, gunakan variabel lingkungan untuk menyediakan kunci ke aplikasi backend Anda. - Jangan menaruh kunci dalam kode sumber atau file konfigurasi yang disimpan dalam kontrol versi. - [Batasi kunci ke alamat IP tertentu](https://docs.stripe.com/keys.md#limit-api-secret-keys-ip-address) sehingga hanya server Anda yang dapat menggunakannya. - [Putar tombol](https://docs.stripe.com/keys.md#rolling-keys) saat anggota tim dengan akses ke kunci meninggalkan organisasi Anda. - Jangan membagikan kunci melalui email, obrolan, atau saluran lain yang tidak terenkripsi. Untuk panduan lengkapnya, baca [praktik terbaik dalam mengelola kunci API rahasia](https://docs.stripe.com/keys-best-practices.md). Kami juga menyediakan [pustaka keterampilan](https://github.com/stripe/ai/tree/main/skills) untuk membantu agen AI mengikuti praktik terbaik tersebut. ## Mengelola kunci API Anda Gunakan [Dashboard](https://dashboard.stripe.com/apikeys) untuk membuat, menampilkan, mengubah, menghapus, dan merotasi kunci API Anda. #### Buat kunci API yang dibatasi Gunakan [kunci API terbatas](https://docs.stripe.com/keys/restricted-api-keys.md) (RAK) untuk sebagian besar kasus penggunaan. Dengan menggunakan RAK, Anda dapat menetapkan izin akses yang tepat sesuai kebutuhan integrasi Anda, sehingga mengurangi dampak yang dapat ditimbulkan oleh pihak tidak bertanggung jawab terhadap bisnis Anda apabila mereka memperoleh kunci Anda. - Ikuti petunjuk pada [Kunci API Terbatas](https://docs.stripe.com/keys/restricted-api-keys.md) untuk membuat RAK, mengonfigurasi izin aksesnya, dan bermigrasi dari kunci rahasia. #### Buat kunci API rahasia Buat kunci API rahasia tanpa batasan hanya ketika integrasi Anda memerlukan akses ke seluruh API dan sumber daya Stripe tanpa pembatasan. Jika pihak tidak bertanggung jawab memperoleh kunci rahasia Anda, mereka dapat merugikan bisnis Anda. Kami menyarankan penggunaan RAK sebagai gantinya. 1. Di tab [Kunci API](https://dashboard.stripe.com/test/apikeys), klik **Buat kunci rahasia**. 1. Pada dialog, masukkan kode verifikasi yang kami kirimkan melalui email atau pesan teks. Jika dialog tidak berlanjut secara otomatis, klik **Lanjutkan**. 1. Masukkan nama di bidang **Nama kunci**, kemudian klik **Buat**. 1. Klik nilai kunci untuk menyalinnya. 1. Simpan nilai kunci. Anda tidak dapat mengambilnya nanti. 1. Di bidang **Tambahkan catatan**, masukkan lokasi tempat Anda menyimpan kunci dan klik **Selesai**. ### Perlihatkan kunci API Saat Anda membuat kunci rahasia dalam mode langsung, kami menampilkannya sekali sebelum Anda menyimpannya. Salin kunci tersebut sebelum menyimpan karena Anda tidak dapat menampilkannya lagi setelah itu. Dalam mode langsung, Anda hanya dapat menampilkan kunci API yang kami buat untuk Anda, seperti kunci rahasia bawaan atau kunci yang dihasilkan melalui rotasi terjadwal. Dalam mode sandbox, Anda dapat melihat seluruh kunci API Anda kapan saja, termasuk kunci terbatas dan kunci rahasia. > Simpan kunci sensitif di tempat yang aman agar tidak hilang, seperti brankas rahasia yang disediakan oleh platform Anda. Jangan menaruh kunci dalam kode aplikasi Anda. Kunci API yang dapat dipublikasikan tidak bersifat sensitif, sehingga kami menampilkannya secara default dan Anda tidak perlu melakukan apa pun untuk menampilkannya. Kami tidak dapat memulihkan kunci yang terlupakan atau yang aksesnya hilang. Jika Anda kehilangan suatu kunci, ganti atau hapus kunci tersebut dan buat yang baru. #### Untuk menampilkan RAK dalam mode live Anda hanya dapat menampilkan RAK mode langsung yang kami buat untuk Anda. Jika Anda membuat RAK sendiri, Anda tidak dapat menampilkannya kembali setelah pertama kali melihatnya. 1. Pada tab [Kunci API](https://dashboard.stripe.com/apikeys) dalam mode live, pada daftar **Kunci terbatas**, klik **Tampilkan kunci live** untuk kunci yang ingin Anda tampilkan. 1. Klik nilai kunci untuk menyalinnya. 1. Simpan nilai kunci di tempat yang aman, seperti brankas rahasia platform atau konfigurasi variabel lingkungan backend Anda. 1. Klik **Sembunyikan kunci live**. #### Untuk menampilkan kunci API rahasia dalam mode live Anda hanya dapat menampilkan kunci rahasia mode live yang kami buat untuk Anda. Jika Anda membuat sendiri kunci rahasia tersebut, Anda tidak dapat menampilkannya kembali setelah pertama kali melihatnya. 1. Pada tab [Kunci API](https://dashboard.stripe.com/apikeys) dalam mode live, pada daftar **Kunci standar**, klik **Tampilkan kunci live** untuk kunci yang ingin Anda tampilkan. 1. Klik nilai kunci untuk menyalinnya. 1. Simpan nilai kunci di tempat yang aman, seperti brankas rahasia platform atau konfigurasi variabel lingkungan backend Anda. 1. Klik **Sembunyikan kunci live**. 1. Klik menu perluasan (⋯), kemudian pilih **Edit kunci** untuk kunci yang ingin Anda tambahkan catatan. 1. Di bidang **Catatan**, masukkan lokasi tempat Anda menyimpan kunci, kemudian klik **Simpan**. ### Batasi kunci API ke alamat IP tertentu Anda dapat membatasi kunci API rahasia atau kunci API terbatas ke rentang alamat IP tertentu, atau ke satu maupun beberapa alamat IP tertentu. Kami menyarankan untuk mengaktifkan pembatasan IP pada seluruh kunci mode live guna mencegah penggunaan dari lokasi yang tidak sah. Gunakan daftar izin IP terpisah untuk masing-masing kunci jika diperlukan (misalnya untuk membedakan lingkungan staging dan produksi). Alamat IP harus menggunakan protokol IPv4. Anda dapat menentukan rentang CIDR yang valid. Sebagai contoh, rentang yang valid adalah `100.10.38.0 - 100.10.38.255`, ditetapkan sebagai `100.10.38.0/24`. Semua alamat dalam rentang tersebut harus dimulai dengan `100.10.38`. 1. Pada tab [Kunci API](https://dashboard.stripe.com/test/apikeys), pada daftar **Kunci terbatas** atau **Kunci standar**, klik menu opsi tambahan (⋯) untuk kunci yang ingin Anda tampilkan. 1. Pilih **Kelola pembatasan IP** > **Batasi penggunaan ke serangkaian alamat IP**. 1. Lakukan salah satu hal berikut ini: - Masukkan satu atau beberapa alamat IP perorangan di bidang **Alamat IP**. - Untuk rentang alamat IP, masukkan alamat pertama dalam rentang (menggunakan notasi Classless Inter-Domain Routing (CIDR) di bidang **Alamat IP**. Masukkan ukuran prefiks jaringan tersebut di bidang **CIDR**. 1. Untuk menambahkan alamat atau rentang lain, klik **+ Tambahkan**. 1. Klik **Simpan**. ### Mengubah nama atau catatan kunci API 1. Di tab [Kunci API](https://dashboard.stripe.com/test/apikeys), klik menu perluasan (⋯) untuk kunci yang ingin Anda ubah. 1. Pilih **Edit kunci**. 1. Lakukan hal berikut ini: - Untuk mengubah nama, masukkan nama baru di bidang **Nama kunci**. - Untuk mengubah teks catatan, masukkan teks catatan baru di bidang **Catatan**. 1. Klik **Simpan**. ### Kedaluwarsa kunci API Jika Anda mengakhiri kunci API rahasia atau kunci API yang dibatasi, Anda harus membuat yang baru dan memperbarui kode apa pun yang menggunakan kunci yang kedaluwarsa. Kode apa pun yang menggunakan kunci kedaluwarsa tidak dapat lagi melakukan panggilan API. > Anda tidak dapat mengakhiri kedaluwarsa kunci yang dapat dipublikasikan. 1. Pada tab [Kunci API](https://dashboard.stripe.com/test/apikeys), pada daftar **Kunci terbatas** atau **Kunci standar**, klik menu opsi tambahan (⋯) untuk kunci yang ingin Anda nonaktifkan masa berlakunya. 1. Pilih **Kunci kedaluwarsa**. 1. Dalam dialog, klik **Tombol kedaluwarsa**. Jika Anda tidak ingin lagi kedaluwarsa kunci, klik **Batal**. ### Rotasikan kunci API Rotasikan kunci API akan mencabutnya dan menghasilkan kunci pengganti yang siap digunakan segera. Anda juga dapat menjadwalkan kunci API untuk berotasi setelah waktu tertentu. Nama kunci pengganti adalah sebagai berikut: - Nama kunci pengganti yang dapat dipublikasikan selalu berupa `Publishable key`. - Nama kunci rahasia penggantian selalu berupa kunci `Secret key`. - Nama kunci dibatasi penggantian sama dengan kunci yang dirotasi. Anda dapat mengubah nama kunci API rahasia atau dibatasi dengan mengedit kunci. Rotasikan kunci API dalam skenario seperti: - Jika Anda kehilangan kunci API rahasia atau dibatasi dalam mode live, dan Anda tidak dapat memulihkannya dari Dashboard. - Jika kunci API yang dibatasi atau rahasia diretas, Anda harus mencabutnya untuk memblokir permintaan API berpotensi berbahaya yang mungkin menggunakannya. - Jika anggota tim dengan akses ke kunci meninggalkan organisasi Anda atau mengubah peran. - Jika kebijakan Anda mengharuskan rotasi kunci pada interval tertentu. #### Untuk merotasikan kunci API 1. Di tab [Kunci API](https://dashboard.stripe.com/test/apikeys), klik menu perluasan (⋯) untuk kunci yang ingin Anda putar. 1. Pilih **Rotasikan kunci**. 1. Pilih tanggal kedaluwarsa dari menu dropdown **Kedaluwarsa**. Jika Anda memilih **Sekarang**, kunci lama akan dihapus. Jika Anda menentukan waktu, sisa waktu hingga kunci kedaluwarsa ditampilkan di bawah nama kunci. 1. Klik **Rotasikan kunci API**. 1. Klik nilai kunci untuk menyalinnya. 1. Simpan nilai kunci. Anda tidak dapat mengambilnya nanti. 1. Di bidang **Catatan**, masukkan lokasi tempat Anda menyimpan kunci, kemudian klik **Simpan** atau **Selesai**. ### Memulihkan akses kunci API Kunci API dapat dibatasi aksesnya jika tidak digunakan untuk membuat transfer, payout, atau memperbarui tujuan payout selama lebih dari 180 hari. Kunci dengan akses terbatas tidak dapat digunakan untuk membuat payout dan transfer maupun untuk membuat tujuan payout. Anda dapat memulihkan akses agar kunci tersebut dapat digunakan kembali secara normal atau untuk melakukan tindakan yang sebelumnya diblokir. #### Untuk memulihkan akses kunci API 1. Pada tab [Kunci API](https://dashboard.stripe.com/test/apikeys), klik menu overflow (⋯) untuk kunci yang ingin Anda pulihkan. 1. Pilih **Pulihkan akses**. 1. Klik **Pulihkan**. ## Melihat log permintaan API untuk suatu kunci Untuk [membuka log permintaan API](https://docs.stripe.com/development/dashboard/request-logs.md), klik menu perluasan (⋯), klik menu perluasan ({% icon type="overflow /%}) untuk mendapatkan kunci, kemudian pilih **Lihat permintaan log**. Membuka log akan mengalihkan Anda ke Dashboard Stripe. ## Beralih ke mode live Saat Anda siap menerima pembayaran sungguhan, gunakan kunci API mode live, bukan kunci sandbox (uji). Pada halaman [Kunci API](https://dashboard.stripe.com/apikeys), alihkan dari **mode sandbox** ke **mode live**. Halaman tersebut sekarang akan menampilkan kunci API mode live Anda. > #### Daftar periksa jadikan live lengkap > > Mengganti kunci API hanyalah salah satu langkah. Tinjau seluruh [daftar periksa go-live](https://docs.stripe.com/get-started/checklist/go-live.md) untuk memastikan integrasi Anda siap digunakan di lingkungan produksi. ### Kunci yang dapat dipublikasikan (sisi klien) Salin **kunci yang dapat dipublikasikan untuk mode live** Anda (diawali dengan `pk_live_`) dan ganti kunci `pk_test_` dalam kode sisi klien Anda. Kunci ini aman untuk disematkan di dalam kode atau aplikasi Anda. ### Kunci API terbatas atau rahasia (sisi server) Kunci API sisi server bersifat sensitif, jadi tinjau [praktik terbaik kami untuk mengelola kunci API rahasia](https://docs.stripe.com/keys-best-practices.md). Kami menyarankan untuk membuat [kunci API terbatas](https://docs.stripe.com/keys/restricted-api-keys.md) bagi kode sisi server Anda guna membatasi dampak terhadap bisnis Anda apabila suatu saat kunci tersebut terekspos atau disusupi. 1. Sebelum mulai menggunakan kunci mode live pada aplikasi backend Anda, hapus semua kunci API yang ditulis langsung (hardcoded) dalam kode Anda. Sebagai gantinya, gunakan brankas rahasia atau variabel lingkungan untuk menyediakan kunci sandbox, lalu pastikan aplikasi Anda tetap berjalan dengan baik. 1. [Tampilkan](https://docs.stripe.com/keys.md#reveal-an-api-key) dan salin **kunci mode live** Anda (yang diawali dengan `rk_live_` atau `sk_live_`) dan simpan dengan aman di lingkungan server Anda. 1. Konfigurasikan lingkungan server Anda untuk memberikan kunci mode live ke aplikasi Anda, bukan lagi kunci sandbox. #### Kunci penandatanganan webhook (sisi server) Jika Anda menggunakan webhook, perbarui URL setiap endpoint webhook dan salin **rahasia penandatanganan** baru dari [Webhook](https://dashboard.stripe.com/webhooks) bagian Dashboard. ## See also - [Praktik terbaik untuk mengelola kunci API rahasia](https://docs.stripe.com/keys-best-practices.md) - [Melindungi dari kunci API yang disusupi](https://support.stripe.com/questions/protecting-against-compromised-api-keys) - [Mengapa kunci API saya memiliki akses terbatas](https://support.stripe.com/questions/why-does-my-api-key-have-limited-access)