Terima pembayaran
Terima pembayaran dengan aman secara online.
Buat formulir pembayaran atau gunakan halaman checkout yang telah dibuat sebelumnya untuk mulai menerima pembayaran online.
Buat halaman checkout pada situs web Anda menggunakan Stripe Elements dan Sesi Checkout, sebuah integrasi yang mengelola pajak, diskon, tarif pengiriman, serta hal lainnya.
Siapkan serverSisi server
Sebelum memulai, Anda perlu mendaftar untuk akun Stripe.
Gunakan pustaka Stripe resmi untuk mengakses API dari aplikasi Anda.
Atur SDK untuk menggunakan minimal versi API2025-03-31..
Buat Sesi CheckoutSisi server
Tambahkan endpoint pada server yang membuat Sesi Checkout dan mengembalikan client secret ke frontend Anda. Sesi Checkout mewakili sesi pelanggan Anda saat mereka membayar langganan atau pembelian satu kali. Sesi Checkout akan kedaluwarsa dalam waktu 24 jam setelah pembuatan.
Kumpulkan detail pembayaranSisi client
Kumpulkan detail pembayaran pada client dengan Payment Element. Payment Element adalah komponen UI siap-rakit yang menyederhanakan pengumpulan detail pembayaran untuk berbagai metode pembayaran.
Uji integrasi Anda
- Arahkan ke halaman checkout Anda.
- Isilah detail pembayaran dengan metode pembayaran dari tabel berikut. Untuk pembayaran kartu:
- Masukkan tanggal mendatang untuk tanggal kedaluwarsa kartu.
- Masukkan nomor 3 angka untuk CVC.
- Masukkan kode pos tagihan.
- Serahkan pembayaran ke Stripe.
- Buka Dashboard dan cari pembayaran pada halaman Transaksi. Jika pembayaran berhasil, Anda akan melihatnya dalam daftar tersebut.
- Klik pembayaran Anda untuk melihat detail selengkapnya, seperti informasi tagihan dan daftar barang yang dibeli. Anda dapat menggunakan informasi ini untuk memenuhi pesanan.
Lihat Pengujian untuk mendapatkan informasi tambahan untuk menguji integrasi Anda.
OpsionalBuat produk dan harga
Sebelum membuat Sesi Checkout, Anda dapat membuat Produk dan Harga terlebih dahulu. Gunakan produk untuk mewakili barang fisik atau tingkat layanan yang berbeda, dan Harga untuk mewakili harga setiap produk.
Misalnya, Anda dapat membuat kaus pendek sebagai produk dengan harga 20 USD. Hal ini memungkinkan Anda memperbarui dan menambahkan harga tanpa perlu mengubah detail produk pokok. Anda dapat membuat produk dan harga dengan Dashboard Stripe atau API. Pelajari selengkapnya tentang cara kerja produk dan harga.
Setiap harga yang dibuat memiliki ID. Saat membuat Sesi Checkout, lihat ID harga dan jumlah. Jika menjual dalam berbagai mata uang, tetapkan Harga multi-currency. Checkout secara otomatis menentukan mata uang lokal pelanggan dan menampilkan mata uang tersebut jika Harga mendukungnya.
OpsionalIsi dahulu data pelangganSisi server
Jika Anda sudah mengumpulkan email pelanggan dan ingin otomatis mengisinya di Sesi Checkout untuk mereka, teruskan customer_email ketika membuat Sesi Checkout.
OpsionalSimpan detail metode pembayaran
Pelajari cara menerima pembayaran dan menyimpan detail pembayaran pelanggan Anda untuk pembelian mendatang.
OpsionalDengarkan perubahan Sesi Checkout
Dengarkan perubahan Sesi Checkout
Anda dapat mendengarkan perubahan pada Sesi Checkout dengan menambahkan listener kejadian pada kejadian change dengan checkout.on.
OpsionalKumpulkan alamat tagihan dan pengiriman
Kumpulkan alamat tagihan
Secara default, Sesi Checkout mengumpulkan detail tagihan minimal yang diperlukan untuk pembayaran melalui Payment Element.
Menggunakan Billing Address Element
Anda dapat mengumpulkan alamat tagihan lengkap menggunakan Billing Address Element.
Pertama, teruskan billing_address_collection=required bila Anda membuat Sesi Checkout.
Menggunakan formulir custom
Anda dapat membuat formulir sendiri untuk mengumpulkan alamat tagihan.
- Jika halaman checkout Anda memiliki langkah pengumpulan alamat yang berbeda sebelum konfirmasi, panggil updateBillingAddress bila pelanggan Anda menyerahkan alamat.
- Jika tidak, Anda dapat menyerahkan alamat bila pelanggan mengeklik tombol “bayar” dengan meneruskan billingAddress ke confirm.
Kumpulkan alamat tagihan parsial
Untuk mengumpulkan alamat tagihan parsial, seperti hanya negara dan kode pos, teruskan billing_address_collection=auto.
Ketika mengumpulkan alamat tagihan parsial, Anda harus mengumpulkan alamat secara manual. Secara default, Payment Element secara otomatis mengumpulkan detail tagihan minimal yang diperlukan untuk pembayaran. Untuk menghindari pengumpulan ganda detail tagihan, teruskan fields.billingDetails=never ketika membuat Payment Element. Jika Anda hanya bermaksud mengumpulkan sebagian detail tagihan (seperti nama pelanggan), teruskan never hanya untuk bidang yang ingin Anda kumpulkan sendiri.
Kumpulkan alamat pengiriman
Untuk mengumpulkan alamat pengiriman pelanggan, teruskan parameter shipping_address_collection bila Anda membuat Sesi Checkout.
Saat mengumpulkan alamat pengiriman, Anda juga harus menentukan negara tujuan pengiriman yang dibolehkan. Konfigurasikan properti allowed_countries dengan larik kode negara ISO dua huruf.
Cara menggunakan Shipping Address Element
Anda dapat mengumpulkan alamat pengiriman lengkap dengan Shipping Address Element.
Dengarkan perubahan Sesi Checkout
Anda dapat mendengarkan perubahan pada Sesi Checkout dengan menambahkan listener kejadian untuk menangani perubahan terkait alamat.
Gunakan formulir custom
Anda dapat membuat formulir sendiri untuk mengumpulkan alamat pengiriman.
- Jika halaman checkout Anda memiliki langkah pengumpulan alamat yang berbeda sebelum konfirmasi, panggil updateShippingAddress bila pelanggan Anda menyerahkan alamat.
- Jika tidak, Anda dapat menyerahkan alamat bila pelanggan mengeklik tombol “bayar” dengan meneruskan shippingAddress ke confirm.
OpsionalPisahkan otorisasi dan penarikanSisi server
Stripe mendukung pembayaran kartu dua langkah sehingga Anda bisa mengotorisasi kartu terlebih dahulu, lalu mengambil dana di kemudian hari. Ketika Stripe mengotorisasi pembayaran, penerbit kartu menjamin dana dan menahan jumlah pembayaran di kartu pelanggan. Anda kemudian memiliki waktu tertentu untuk menangkap dana, tergantung pada kartunya). Jika Anda tidak menangkap pembayaran sebelum otorisasi berakhir, pembayaran akan dibatalkan dan penerbit akan melepaskan dana yang ditahan.
Memisahkan otorisasi dan penarikan berguna jika Anda perlu mengambil tindakan tambahan antara mengonfirmasi bahwa pelanggan dapat membayar dan menagih pembayaran mereka. Misalnya, jika menjual item dengan stok terbatas, Anda mungkin perlu mengonfirmasi bahwa item yang dibeli oleh pelanggan menggunakan Checkout masih tersedia sebelum menarik pembayaran mereka dan memenuhi pembelian. Lakukan hal ini menggunakan alur kerja berikut:
- Konfirmasikan bahwa Stripe mengotorisasi metode pembayaran pelanggan.
- Periksa sistem manajemen inventaris Anda untuk mengonfirmasikan bahwa item masih tersedia.
- Perbarui sistem manajemen inventaris Anda untuk menandai bahwa pelanggan telah membeli item.
- Tarik pembayaran pelanggan.
- Informasikan pelanggan Anda bila pembelian mereka berhasil di halaman konfirmasi.
Untuk menunjukkan bahwa Anda ingin memisahkan otorisasi dan penarikan, Anda harus mengatur nilai payment_intent_data.capture_method ke manual ketika membuat Sesi Checkout. Ini menginstruksikan Stripe agar hanya mengotorisasi jumlah pada kartu pelanggan.
Untuk menarik pembayaran yang belum ditarik, Anda dapat menggunakan endpoint Dashboard atau penarikan. Menarik pembayaran secara terprogram memerlukan akses ke PaymentIntent yang dibuat selama Sesi Checkout, yang bisa Anda dapatkan dari objek Session.
OpsionalManajemen akun pelangganTidak ada kode
Biarkan pelanggan mengelola akunnya sendiri dengan membagikan tautan ke portal pelanggan Anda. Portal pelanggan memungkinkan pelanggan masuk dengan email mereka untuk mengelola langganan, memperbarui metode pembayaran, dan lain-lain.
OpsionalPemenuhan pesanan
Pelajari cara mendapatkan notifikasi secara terprogram bila pelanggan membayar.