# Kunci API

Gunakan kunci API untuk mengautentikasi permintaan API.

Stripe melakukan autentikasi permintaan API Anda menggunakan kunci API akun. Jika permintaan tidak menyertakan kunci yang valid, Stripe akan mengembalikan [kesalahan permintaan yang tidak valid](https://docs.stripe.com/error-handling.md#invalid-request-errors). Jika permintaan menyertakan kunci yang dihapus atau kedaluwarsa, Stripe akan mengembalikan [kesalahan autentikasi](https://docs.stripe.com/error-handling.md#authentication-errors).

Gunakan [Dashboard Pengembang](https://dashboard.stripe.com/test/apikeys) untuk membuat, memperlihatkan, menghapus, dan merotasikan kunci API. Anda dapat mengakses kunci API v1 di 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

Stripe mendukung berbagai jenis kunci API untuk contoh penggunaan yang berbeda. Anda bertanggung jawab untuk mengelola kunci ini dengan aman. Secara khusus, perlakukan kunci rahasia dan [kunci API yang dibatasi](https://docs.stripe.com/keys/restricted-api-keys.md) (RAK) sebagai sensitif dan jangan mengeksposnya di luar lingkungan server Anda. Untuk menjaga bisnis Anda tetap aman, baca dan pahami [praktik terbaik untuk mengelola kunci API rahasia](https://docs.stripe.com/keys-best-practices.md).

Mengembangkan dan [tes](https://docs.stripe.com/testing.md) dan aplikasi Anda dengan tombol sandbox, bukan tombol mode live, untuk memastikan Anda tidak secara tidak sengaja mengubah pelanggan atau biaya live Anda.

| Tipe                                                | Aman untuk diungkapkan | Dihasilkan secara default | Deskripsi                                                                                                                                                                                                                                                                                                     |
| --------------------------------------------------- | ---------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Kunci rahasia sandbox`sk_test_`                     | Tidak                  | Ya                        | Autentikasi permintaan di server Anda saat Anda menguji di sandbox. Secara default, Anda dapat menggunakan kunci ini untuk melakukan permintaan API apa pun tanpa batasan.                                                                                                                                    |
| Kunci API terbatas sandbox (RAK)`rk_test_`          | Tidak                  | Tidak                     | Seperti kunci rahasia, tetapi dengan izin Stripe API yang Anda kontrol. Anda dapat menggunakan RAK yang berbeda di berbagai bagian kode Anda untuk menyesuaikan izin dengan tepat ke komponen aplikasi. Gunakan RAK sandbox untuk menyempurnakan izin API Stripe aplikasi Anda sebelum membuat RAK mode live. |
| Kunci yang dapat diterbitkan sandbox`pk_test_`      | Ya                     | Ya                        | Uji permintaan di kode sisi klien web atau aplikasi seluler Anda.                                                                                                                                                                                                                                             |
| Kunci rahasia mode live`sk_live_`                   | Tidak                  | Ya                        | Gunakan kunci ini untuk mengautentikasi permintaan di server Anda saat dalam mode live. Secara default, Anda dapat menggunakan kunci ini untuk melakukan permintaan API apa pun tanpa batasan.                                                                                                                |
| Kunci API terbatas mode live (RAK)`rk_live_`        | Tidak                  | Tidak                     | Tetapkan izin khusus ke komponen sisi server untuk memberikan setiap bagian aplikasi Anda izin API Stripe yang dibutuhkan. Menggunakan RAK alih-alih kunci rahasia membatasi potensi kerusakan jika kunci terekspos secara tidak sengaja atau aplikasi Anda disusupi.                                         |
| Kunci yang dapat dipublikasikan mode live`pk_live_` | Ya                     | Ya                        | Saat Anda siap meluncurkan aplikasi, saat Anda siap meluncurkan aplikasi, di kode sisi klien web atau aplikasi seluler Anda.                                                                                                                                                                                  |

Temukan Anda [Kunci API](https://dashboard.stripe.com/apikeys) di dashboard Stripe. Jika Anda tidak dapat melihat kunci API tetapi perlu mengelola kunci untuk aplikasi Anda, minta pemilik akun Stripe Anda untuk menambahkan Anda ke mereka [tim](https://docs.stripe.com/get-started/account/teams.md) dengan izin yang tepat.

Jika Anda masuk ke Stripe, dokumentasi kami menyertakan kunci API pengujian Anda di beberapa tempat untuk mengilustrasikan penggunaan API. Hanya Anda yang dapat melihat nilai-nilai ini. Jika Anda belum masuk, contoh kode kami menyertakan kunci API yang dibuat secara acak.

> #### 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.

## Lindungi kunci Anda

Siapa pun dapat menggunakan kunci rahasia mode live Anda untuk melakukan panggilan API atas nama akun Anda, seperti membuat charge atau melakukan pengembalian dana. *Anda bertanggung jawab untuk menjaga keamanan kunci Anda*. Lindungi kunci Anda dengan mengikuti praktik terbaik berikut:

- Simpan kunci rahasia di brankas rahasia atau variabel lingkungan terenkripsi. Jangan simpan kunci dalam kode sumber atau file konfigurasi yang diperiksa ke dalam kontrol versi.
- Penggunaan [kunci API yang dibatasi](https://docs.stripe.com/keys.md#create-restricted-api-secret-key) alih-alih kunci rahasia jika memungkinkan. Kunci terbatas membatasi akses hanya ke sumber daya API tertentu yang dibutuhkan integrasi Anda, sehingga mengurangi dampak kunci yang disusupi.
- [Membatasi kunci ke alamat IP tertentu](https://docs.stripe.com/keys.md#limit-api-secret-keys-ip-address) jadi mereka hanya dapat digunakan dari server Anda yang dikenal.
- [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 detail selengkapnya, lihat [praktik terbaik untuk mengelola kunci API rahasia](https://docs.stripe.com/keys-best-practices.md).

## Sandbox versus mode live

Semua permintaan API Stripe terjadi dalam mode kotak pasir (*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)) atau mode langsung (*live mode* (Use this mode when you’re ready to launch your app. Card networks or payment providers process payments)). Anda dapat menggunakan mode kotak pasir untuk mengakses data uji, dan mode langsung untuk mengakses data akun yang sebenarnya. Setiap mode memiliki rangkaian kunci API sendiri, dan objek dalam satu mode tidak dapat diakses oleh mode yang lain. Misalnya, sebuah [objek produk](https://docs.stripe.com/api/products/object.md) sandbox tidak dapat menjadi bagian dari pembayaran mode langsung.

| Mode                | Awalan kunci                       | Keperluan                                                                      |
| ------------------- | ---------------------------------- | ------------------------------------------------------------------------------ |
| Sandbox (pengujian) | `pk_test_`, `sk_test_`, `rk_test_` | Bangun dan uji integrasi Anda dengan aman. Tidak ada charge nyata yang dibuat. |
| Live                | `pk_live_`, `sk_live_`, `rk_live`  | Terima pembayaran nyata dari pelanggan nyata.                                  |

> #### Akses kunci mode live
> 
> Anda hanya dapat memperlihatkan kunci API yang dibatasi atau mode live dibatasi satu kali. Jika kehilangannya, Anda tidak dapat mengambilnya dari Dashboard. Dalam hal ini, cabut atau hapus kunci dan buat yang baru.

| 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. |

## 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.

### Kunci yang dapat dipublikasikan (sisi klien)

1. Salin **kunci yang dapat dipublikasikan mode live** (dimulai dengan `pk_live_`) dan ganti `pk_test_` masukkan kode sisi client 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) jika Anda belum melakukannya. Kami menyarankan untuk membuat [kunci API terbatas](https://docs.stripe.com/keys/restricted-api-keys.md) untuk kode sisi server Anda guna membatasi risiko kerugian pada bisnis jika kunci Anda terekspos atau disalahgunakan.

1. Sebelum mulai menggunakan kunci mode live di aplikasi backend, hapus semua kunci API rahasia (atau terbatas) yang tertulis langsung di kode Anda. Sebagai gantinya, gunakan brankas rahasia atau variabel lingkungan untuk menyediakan kunci sandbox, lalu pastikan aplikasi Anda masih berfungsi dengan baik.
1. Tampilkan dan salin **kunci mode live** Anda (diawali dengan `rk_live_` atau `sk_live_`) dan simpan secara aman di lingkungan server Anda. Harap berhati-hati—setiap kunci terbatas atau rahasia mode live hanya dapat dilihat satu kali.
1. Konfigurasikan lingkungan server Anda untuk memberikan kunci mode live ke aplikasi Anda, bukan lagi kunci sandbox.
1. Jika Anda menggunakan webhook, perbarui URL setiap endpoint webhook dan salin **rahasia penandatanganan** baru dari [Webhook](https://dashboard.stripe.com/webhooks) bagian Dashboard.

> #### Daftar periksa jadikan live lengkap
> 
> Mengganti kunci API hanya satu langkah. Tinjau selengkapnya [daftar periksa jadikan live](https://docs.stripe.com/get-started/checklist/go-live.md) untuk memastikan integrasi Anda siap untuk produksi.

## Kunci yang dibatasi dan rahasia

Gunakan Dashboard untuk membuat, memperlihatkan, mengubah, menghapus, dan memutar kunci rahasia dan dibatasi.

### Buat kunci API

Direkomendasikan agar pengguna membuat RAK, bukan kunci rahasia. Penggunaan kunci rahasia dapat meningkatkan dampak risiko jika terjadi kebocoran data atau penyalahgunaan akun.

- Kami menyarankan pembuatan [kunci API dibatasi](https://docs.stripe.com/keys/restricted-api-keys.md) (RAK) untuk sebagian besar contoh penggunaan. Dengan RAK, Anda dapat menetapkan izin akses yang spesifik sesuai kebutuhan integrasi Anda, sehingga meminimalkan potensi kerusakan oleh pihak yang tidak bertanggung jawab jika kunci Anda jatuh ke tangan mereka. Buatlah kunci API rahasia tanpa batasan hanya jika integrasi Anda memerlukan akses ke seluruh API dan sumber daya Stripe.

#### Untuk membuat kunci API yang dibatasi:

1. Di tab [Kunci API](https://dashboard.stripe.com/test/apikeys), lakukan salah satu hal berikut:
   - Untuk membuat kunci dibatasi baru, klik **Buat kunci dibatasi**. Nilai default untuk semua izin adalah **Tidak ada**.
   - Untuk melakukan kloning kunci yang sudah ada, klik menu perluasan (⋯), kemudian pilih **Buat duplikat kunci** untuk kunci yang ingin Anda kloning. Dalam kasus ini, nilai default untuk setiap izin adalah nilainya dari kunci yang dikloning.
1. Masukkan nama di bidang **Nama kunci**. Jika Anda menggandakan kunci yang sudah ada, nama default adalah nama kunci yang digandakan.
1. Untuk setiap sumber daya yang Anda inginkan agar kunci yang baru dapat mengakses, pilih izin yang sesuai: **Tidak Ada**, **Baca**, atau **Tulis**. Jika Anda menggunakan Connect, Anda juga dapat memilih izin untuk diizinkan bagi kunci ini saat mengakses akun terhubung.
1. Klik **Buat kunci**.
1. Di dialog, masukkan kode verifikasi yang dikirim oleh Stripe melalui email atau pesan teks. Jika dialog tidak dilanjutkan secara otomatis, klik **Lanjutkan**.
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**.

#### Untuk membuat kunci API rahasia:

1. Di tab [Kunci API](https://dashboard.stripe.com/test/apikeys), klik **Buat kunci rahasia**.
1. Di dialog, masukkan kode verifikasi yang dikirim oleh Stripe melalui email atau pesan teks. Jika dialog tidak dilanjutkan 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

Anda dapat mengungkapkan kunci API terbatas atau rahasia dalam sandbox atau mode langsung.

Dalam mode live, Stripe hanya menampilkan setiap kunci API terbatas atau rahasia satu kali. Simpan kunci di tempat yang aman agar tidak hilang, namun jangan diletakkan di dalam kode aplikasi. Untuk membantu mengingat lokasi penyimpanannya, Anda dapat menambahkan catatan pada kunci tersebut di Dashboard. Jika kunci hilang, Anda dapat melakukan rotasi atau menghapusnya dan membuat kunci baru.

> #### Perlihatkan kunci rahasia mode live
> 
> Setelah Anda membuat kunci API yang dibatasi atau rahasia dalam mode live, kami menampilkannya sebelum Anda menyimpannya. Anda harus menyalin kunci sebelum menyimpannya, karena Anda tidak dapat menyalinnya nanti. Anda hanya dapat memperlihatkan kunci rahasia default atau kunci yang dihasilkan oleh rotasi terjadwal.

#### Untuk menampilkan kunci API yang dibatasi atau rahasia dalam mode live

1. Di tab [Kunci API](https://dashboard.stripe.com/apikeys) dalam mode live, di **Kunci Standard** atau **Kunci dibatasi**, klik **Perlihatkan kunci Live** untuk kunci yang ingin Anda perlihatkan.
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 percobaan**.
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**.

> Kunci yang Anda buat sebelum Stripe memperkenalkan fitur ini tidak secara otomatis disembunyikan saat diperlihatkan. Anda harus menyembunyikannya secara manual dengan mengklik **Sembunyikan kunci live**.

### Batasi kunci API ke alamat IP tertentu

Anda dapat membatasi kunci API rahasia atau kunci API terbatas ke rentang alamat IP, atau satu atau beberapa alamat IP tertentu. Stripe merekomendasikan untuk mengaktifkan pembatasan IP pada semua tombol mode langsung untuk mencegah penggunaan dari lokasi yang tidak sah. Gunakan daftar IP yang diizinkan terpisah untuk kunci terpisah jika berlaku (misalnya, untuk membedakan antara lingkungan pementasan 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. Di daftar [Kunci API](https://dashboard.stripe.com/test/apikeys), di daftar **Kunci Standard** atau **Kunci yang dibatasi**, klik menu perluasan (⋯), dan pilih kunci yang ingin Anda perlihatkan.

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. Di daftar [kunci API](https://dashboard.stripe.com/test/apikeys), di daftar **Kunci Standard** atau **Kunci yang dibatasi**, klik menu perluasan (⋯), dan pilih kunci yang ingin Anda perlihatkan.
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**.

## Kunci API organisasi

Jika Anda memiliki beberapa akun bisnis Stripe dalam satu [organisasi](https://docs.stripe.com/get-started/account/orgs.md), Anda dapat mengonfigurasikan satu kunci API di tingkat organisasi. Kunci API tingkat organisasi menyediakan fungsionalitas berikut:

- **Akses ke semua Akun**: Anda bisa menggunakan kunci API organisasi untuk mengakses sumber daya dari akun mana pun di dalam organisasi.

- **Batasi izin**: Batasi kunci API organisasi untuk memberikan izin baca atau tulis hanya untuk sumber daya tertentu.
- **Manajemen terpusat**: Buat dan kelola kunci API organisasi di tab [Kunci API](https://dashboard.stripe.com/org/api-keys/secret) di Dashboard organisasi Anda.

### Perilaku

Kunci API organisasi berperilaku secara berbeda dari kunci API tingkat akun, termasuk:

- Tidak memiliki kunci yang dapat dipublikasikan. Perlakukan semua kunci API organisasi sebagai kunci rahasia.
- Semuanya memiliki awalan `sk_org` yang sama, apa pun tingkat izinnya.
- Semua permintaan API yang dibuat dengan kunci API organisasi harus menyertakan header `Stripe-Context` untuk mengidentifikasi akun yang terpengaruh.
- Semua permintaan API yang dibuat dengan kunci API organisasi harus menyertakan header `Stripe-Version` untuk memastikan konsistensi dan prediktabilitas di seluruh integrasi organisasi Anda.

### Gunakan kunci API organisasi

Saat menggunakan kunci API organisasi, Anda juga harus:

- Tentukan versi API dengan menyertakan header `Stripe-Version`. Saat menggunakan [Stripe SDK](https://docs.stripe.com/sdks/set-version.md), SDK secara otomatis menetapkan versi API.
- Identifikasi akun yang terpengaruh oleh permintaan API dengan menyertakan header `Stripe-Context`.

Misalnya, diberikan struktur organisasi berikut:

```
Organization (org_6SD3oI0eSQemPzdmaGLJ5j6)
  ├── Platform account  (acct_1R3fqDP6919yCiFv)
  |   └── Connected account (acct_1032D82eZvKYlo2C)
  └── Standalone account (acct_1aTnTtAAB0hHJ26p)
```

Anda dapat menggunakan kunci API organisasi untuk mengakses saldo akun mandiri. Anda juga dapat menggunakan kunci yang sama untuk melakukan panggilan yang sama bagi akun terhubung platform.

```curl
curl https://api.stripe.com/v1/balance \
  -u {{ORG_SECRET_KEY}}: \
  -H "Stripe-Version: {{STRIPE_API_VERSION}}" \
  -H "Stripe-Context: {{CONTEXT_ID}}"
```

Dalam contoh kode sebelumnya, ganti `{{CONTEXT}}` dengan nilai yang relevan:

- Untuk akun mandiri, gunakan `acct_1aTnTtAAB0hHJ26p`.
- Untuk akun terhubung, gunakan jalur yang mengidentifikasi platform dan akun terhubung, dengan mengikuti format `acct_1R3fqDP6919yCiFv/acct_1032D82eZvKYlo2C`.

Anda harus menentukan akun yang relevan menggunakan konteks dan versi API dalam permintaan API apa pun yang menggunakan kunci organisasi.

Organisasi tidak memiliki kunci API yang dapat dipublikasikan karena mereka tidak dapat terima pembayaran. Anda dapat menggunakan kunci API yang dapat dipublikasikan karena tidak dapat menerima pembayaran. Ini berarti Anda dapat menggunakan kunci API Anda untuk membuat maksud pembayaran akun pun mana organisasi Anda, tetapi Anda harus menggunakan kunci yang dapat dipublikasikan khusus akun yang sudah ada untuk operasi sisi client.

## Kunci API terkelola

Beberapa platform pihak ketiga, seperti [Vercel](https://vercel.com/docs/integrations/ecommerce/stripe), dapat membuat dan mengelola kunci API atas nama Anda saat Anda menginstal integrasinya. Kunci ini disebut kunci API terkelola, dan platform membuatnya secara terprogram alih-alih Anda membuatnya secara manual di Dashboard.

Kunci API terkelola muncul di samping kunci Anda yang lain di [kunci API](https://dashboard.stripe.com/test/apikeys) tab, diberi label dengan nama platform pengelola.

Tabel berikut merangkum perbedaan antara kunci yang tidak dikelola dan dikelola.

|                    | Kunci yang tidak dikelola                                            | Kunci terkelola                                                                |
| ------------------ | -------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| Pembuatan kunci    | Anda membuat kunci di Dashboard                                      | Platform membuat kunci menggunakan API                                         |
| Interaksi pengguna | Anda menyalin kunci dari Dashboard dan mengonfigurasinya di platform | Platform menangani pengaturan tombol secara otomatis                           |
| Pengiriman kunci   | Ditampilkan kepada Anda di Dashboard                                 | Dikirimkan langsung ke platform                                                |
| Manajemen kunci    | Anda mengontrol rotasi dan kedaluwarsa                               | Platform mengelola siklus hidup kunci; Anda dapat kedaluwarsa kunci kapan saja |

### Mencabut akses kunci terkelola

Anda dapat mencabut kunci API terkelola kapan saja dengan melakukan salah satu hal berikut:

- **Kedaluwarsa kunci**: Pada [Kunci API](https://dashboard.stripe.com/apikeys) tab, klik menu overflow (⋯) untuk kunci terkelola dan kedaluwarsa. Itu segera mencabut akses platform tanpa menghapus integrasi.
- **Uninstall the integration**: Uninstall the platform’s app from your Stripe account. When you uninstall an app, you can expire the managed keys immediately or keep them active.

## Lihat log permintaan API

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.

## 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)
