Lewati ke konten
Buat akun
atau
Masuk
Logo Dokumen Stripe
/
Tanya AI
Buat akun
Masuk
Mulai
Pembayaran
Pendapatan
Platform dan situs belanja online
Manajemen uang
Sumber daya pengembang
Gambaran UmumLihat semua produk
Mulai membangun
Mulai mengembangkan
    Siapkan lingkungan pengembangan Anda
    Kirim permintaan API pertama Anda
    Terima pembayaran
    Bangun dan coba fitur baru
    Daftar periksa menjadi live
Tentang API
Membangun dengan LLM
Gunakan Stripe tanpa kode
Siapkan Stripe
Buat akun
Dashboard Stripe
Migrasikan ke Stripe
BerandaMulaiStart developing

Terima pembayaran

Terima pembayaran dengan aman secara online.

Buat formulir pembayaran atau gunakan halaman checkout yang telah dibuat sebelumnya untuk mulai menerima pembayaran online.

Menyematkan formulir pembayaran siap-rakit pada situs Anda menggunakan Stripe Checkout. Lihat cara membandingkan integrasi ini dengan tipe integrasi Stripe lainnya.

Pratinjau Checkout tersematPratinjau Checkout tersemat
powdur.me

Upaya integrasi

Minim kode program

Tipe integrasi

Sematkan formulir pembayaran siap-rakit di situs Anda

Penyesuaian UI

Penyesuaian terbatas

Gunakan pengaturan branding di Dashboard Stripe untuk mencocokkan Checkout dengan desain situs Anda.

Pertama, mendaftarlah untuk akun Stripe.

Gunakan pustaka resmi kami untuk mengakses API Stripe dari aplikasi Anda:

Command Line
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# Available as a gem sudo gem install stripe
Gemfile
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Buat Sesi Checkout
Sisi server

Dari server Anda, buat Sesi Checkout dan atur ui_mode ke embedded. Anda dapat melakukan konfigurasi Sesi Checkout dengan line items untuk disertakan dan opsi seperti currency.

Anda juga dapat membuat Sesi Checkout untuk pelanggan yang ada, sehingga memungkinkan Anda otomatis mengisi bidang Checkout dengan informasi kontak yang diketahui dan menyatukan riwayat pembelian Anda untuk pelanggan tersebut.

Untuk mengembalikan pelanggan ke halaman custom yang Anda hosting pada situs web, tentukan URL halaman tersebut di parameter return_url. Sertakan variabel templat {CHECKOUT_SESSION_ID} di URL untuk mengambil status sesi di halaman pengembalian. Checkout secara otomatis menggantikan variabel dengan identifikasi Sesi Checkout sebelum pengalihan.

Baca selengkapnya tentang konfigurasi halaman pengembalian dan opsi lain untuk menyesuaikan perilaku pengalihan.

Setelah Anda membuat Sesi Checkout, gunakan client_secret yang dikembalikan sebagai respons untuk memasang Checkout.

Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# This example sets up an endpoint using the Sinatra framework. # To learn more about Sinatra, watch this video: https://youtu.be/8aA9Enb8NVc. require 'json' require 'sinatra' require 'stripe' # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
post '/create-checkout-session' do session = Stripe::Checkout::Session.create({ line_items: [{ price_data: { currency: 'usd', product_data: { name: 'T-shirt', }, unit_amount: 2000, }, quantity: 1, }], mode: 'payment', ui_mode: 'embedded', return_url: 'https://example.com/checkout/return?session_id={CHECKOUT_SESSION_ID}' }) {clientSecret: session.client_secret}.to_json end

Pasang Checkout
Sisi klien

Checkout tersedia sebagai bagian dari Stripe.js. Sertakan skrip Stripe.js di halaman Anda dengan menambahkannya ke head file HTML Anda. Selanjutnya, buat node DOM kosong (kontainer) yang akan digunakan untuk pemasangan.

index.html
<head> <script src="https://js.stripe.com/basil/stripe.js"></script> </head> <body> <div id="checkout"> <!-- Checkout will insert the payment form here --> </div> </body>

Inisialisasikan Stripe.js dengan kunci API yang dapat diterbitkan.

Buat fungsi fetchClientSecret asinkron yang melakukan permintaan ke server Anda untuk membuat Sesi Checkout dan mengambil client secret. Teruskan fungsi ini ke options saat Anda membuat instance Checkout:

index.js
// Initialize Stripe.js const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); initialize(); // Fetch Checkout Session and retrieve the client secret async function initialize() { const fetchClientSecret = async () => { const response = await fetch("/create-checkout-session", { method: "POST", }); const { clientSecret } = await response.json(); return clientSecret; }; // Initialize Checkout const checkout = await stripe.initEmbeddedCheckout({ fetchClientSecret, }); // Mount Checkout checkout.mount('#checkout'); }

Checkout ditampilkan di iframe yang mengirimkan informasi pembayaran dengan aman ke Stripe melalui koneksi HTTPS.

Kesalahan umum

Hindari penempatan Checkout dalam iframe lain karena sejumlah metode pembayaran memerlukan pengalihan ke halaman lain untuk konfirmasi pembayaran.

Sesuaikan penampilan

Sesuaikan Checkout agar cocok dengan desain situs Anda dengan mengatur warna latar belakang, warna tombol, radius batas, dan font di pengaturan branding akun.

Secara default, Checkout ditampilkan tanpa padding atau margin eksternal. Kami merekomendasikan penggunaan elemen kontainer seperti div untuk menerapkan margin yang Anda inginkan (misalnya, 16 piksel pada semua sisi).

Tampilkan halaman pengembalian

Setelah pelanggan Anda mencoba melakukan pembayaran, Stripe mengalihkannya ke halaman pengembalian yang Anda hosting pada situs. Saat membuat Sesi Checkout, Anda menentukan URL halaman pengembalian di parameter return_url. Baca selengkapnya tentang opsi lain untuk menyesuaikan perilaku pengalihan.

Ketika menampilkan halaman pengembalian Anda, ambil status Sesi Checkout menggunakan identifikasi Sesi Checkout di URL. Tangani hasilnya sesuai dengan status sesi sebagai berikut:

  • complete: Pembayaran berhasil. Gunakan informasi dari Sesi Checkout untuk menampilkan halaman berhasil.
  • open: Pembayaran gagal atau dibatalkan. Pasang ulang Checkout agar pelanggan Anda dapat mencoba lagi.
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
get '/session-status' do session = Stripe::Checkout::Session.retrieve(params[:session_id]) {status: session.status, customer_email: session.customer_details.email}.to_json end
client.js
const session = await fetch(`/session_status?session_id=${session_id}`) if (session.status == 'open') { // Remount embedded Checkout } else if (session.status == 'complete') { // Show success page // Optionally use session.payment_status or session.customer_email // to customize the success page }

Metode pembayaran berbasis pengalihan

Selama pembayaran, sejumlah metode pembayaran mengalihkan pelanggan ke halaman perantara, seperti halaman otorisasi bank. Saat mereka menyelesaikan halaman tersebut, Stripe mengalihkan mereka ke halaman pengembalian.

Pelajari selengkapnya tentang metode pembayaran berbasis pengalihan dan perilaku pengalihan.

Tangani kejadian pascapembayaran

Stripe mengirim kejadian checkout.session.completed bila pelanggan menyelesaikan pembayaran Sesi Checkout. Gunakan alat webhook Dashboard atau ikuti panduan webhook untuk menerima dan menangani kejadian ini, yang mungkin memicu Anda untuk:

  • Kirim email konfirmasi pesanan ke pelanggan Anda.
  • Catat penjualan di database.
  • Mulai alur kerja pengiriman.

Dengarkan kejadian ini daripada menunggu pelanggan dialihkan kembali ke situs web Anda. Memicu pemenuhan hanya dari halaman penyambut Checkout Anda tidak dapat diandalkan. Penyiapan integrasi untuk mendengarkan kejadian asinkron memungkinkan Anda menyetujui berbagai tipe metode pembayaran dengan satu integrasi tunggal.

Pelajari selengkapnya di panduan pemenuhan untuk Checkout kami.

Tangani kejadian berikut ketika menagih pembayaran dengan Checkout:

KejadianKeteranganTindakan
checkout.session.completedDikirim bila pelanggan berhasil menyelesaikan Sesi Checkout.Kirimi pelanggan konfirmasi pesanan dan penuhi pesanan mereka.
checkout.session.async_payment_succeededDikirim bila pembayaran yang dilakukan dengan metode pembayaran tertunda, seperti utang ACH langsung, berhasil.Kirimi pelanggan konfirmasi pesanan dan penuhi pesanan mereka.
checkout.session.async_payment_failedDikirim bila pembayaran yang dilakukan dengan metode pembayaran tertunda, seperti utang langsung ACH, gagal.Beri tahu pelanggan tentang kegagalan tersebut dan bawa mereka kembali ke sesi untuk mencoba pembayaran lagi.

Coba integrasi Anda

Untuk mencoba integrasi formulir pembayaran tersemat Anda:

  1. Buat Sesi Checkout tersemat dan pasang Checkout pada halaman Anda.
  2. Isilah detail pembayaran dengan metode dari tabel di bawah ini.
    • Masukkan tanggal mendatang untuk tanggal kedaluwarsa kartu.
    • Masukkan nomor 3 angka untuk CVC.
    • Masukkan kode pos tagihan.
  3. Klik Bayar. Anda akan dialihkan ke return_url.
  4. Buka Dashboard dan cari pembayaran pada halaman Transaksi. Jika pembayaran berhasil, Anda akan melihatnya dalam daftar tersebut.
  5. Klik pembayaran Anda untuk melihat detail selengkapnya, seperti ringkasan Checkout dengan informasi tagihan dan daftar barang yang dibeli. Anda dapat menggunakan informasi ini untuk memenuhi pesanan.

Pelajari selengkapnya tentang percobaan integrasi Anda.

Nomor kartuSkenarioCara mencoba
Pembayaran kartu berhasil dan tidak memerlukan autentikasi.Isilah formulir kartu kredit menggunakan nomor kartu kredit dengan sembarang tanggal kedaluwarsa, CVC, dan kode pos.
Pembayaran kartu memerlukan autentikasi.Isilah formulir kartu kredit menggunakan nomor kartu kredit dengan sembarang tanggal kedaluwarsa, CVC, dan kode pos.
Kartu ini ditolak dengan kode penolakan seperti insufficient_funds.Isilah formulir kartu kredit menggunakan nomor kartu kredit dengan sembarang tanggal kedaluwarsa, CVC, dan kode pos.
Kartu UnionPay memiliki panjang variabel 13–19 angka.Isilah formulir kartu kredit menggunakan nomor kartu kredit dengan sembarang tanggal kedaluwarsa, CVC, dan kode pos.

Lihat Pengujian untuk mendapatkan informasi tambahan untuk menguji integrasi Anda.

OpsionalTambahkan metode pembayaran lainnya

Secara default, Checkout mendukung banyak metode pembayaran. Anda harus mengambil langkah tambahan untuk mengaktifkan serta menampilkan beberapa metode, misalnya Apple Pay, Google Pay, dan beli sekarang, bayar nanti.

Apple Pay dan Google Pay

Untuk menerima pembayaran dari Apple Pay dan Google Pay, Anda harus:

  • Aktifkan di pengaturan metode pembayaran. Apple Pay diaktifkan secara default.
  • Sajikan aplikasi Anda melalui HTTPS dalam pengembangan dan produksi.
  • Daftarkan domain Anda.
  • Sajikan aplikasi Anda melalui HTTPS dalam pengembangan dan produksi. Anda dapat menggunakan layanan, seperti ngrok, untuk menyajikan aplikasi Anda untuk percobaan lokal.

Selain itu, Sesi Checkout hanya menampilkan tombol Apple Pay kepada pelanggan bila semua persyaratan berikut benar:

  • Perangkat pelanggan menjalankan macOS versi 17 atau yang lebih baru atau iOS versi 17 atau yang lebih baru.
  • Pelanggan menggunakan browser Safari.
  • Pelanggan memiliki kartu valid yang terdaftar pada Apple Pay.

Sesi Checkout hanya menampilkan tombol Google Pay kepada pelanggan bila semua persyaratan berikut benar:

  • Perangkat pelanggan menjalankan Chrome 61 atau yang lebih baru.
  • Pelanggan memiliki kartu valid yang terdaftar pada Google Pay.

Percobaan regional
India

Stripe Checkout tidak mendukung Apple Pay atau Google Pay untuk akun atau pelanggan Stripe di India. Jika alamat IP Anda berada di India, Anda tidak dapat mencoba integrasi Apple Pay atau Google Pay, sekalipun akun Stripe tersebut berlokasi di luar India.

OpsionalBuat produk dan harga

Biar pelanggan yang memutuskan apa yang akan dibayar

Anda dapat menyiapkan Sesi Checkout Anda untuk menerima tip dan donasi, atau menjual produk dan layanan bayar sesuai keinginan.

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.

API hanya memerlukan name untuk membuat Produk. Checkout menampilkan name, description, dan images produk yang Anda berikan.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/products \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d name=T-shirt

Berikutnya, buat Harga untuk menentukan jumlah yang akan Anda charge untuk produk Anda. Hal ini termasuk biaya produk dan mata uang yang digunakan.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/prices \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d product=
{{PRODUCT_ID}}
\ -d unit_amount=2000 \ -d currency=usd

Setiap harga yang Anda buat memiliki identifikasi. Saat Anda membuat Sesi Checkout, sebutkan identifikasi harga dan kuantitasnya. Jika Anda menjual dalam berbagai mata uang, buat Harga Anda multimata uang. Checkout secara otomatis menentukan mata uang lokal pelanggan dan menyajikan mata uang itu jika Harga mendukungnya.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d mode=payment \ -d "line_items[0][price]"={{PRICE_ID}} \ -d "line_items[0][quantity]"=1 \ -d ui_mode=embedded \ --data-urlencode return_url="https://example.com/return"

OpsionalIsi dahulu data pelanggan
Sisi server

Jika Anda sudah mengumpulkan email pelanggan dan ingin otomatis mengisinya di Sesi Checkout untuk pelanggan, teruskan customer_email ketika membuat Sesi Checkout.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ --data-urlencode customer_email="customer@example.com" \ -d "line_items[0][price]"=
{{PRICE_ID}}
\ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d ui_mode=embedded \ --data-urlencode return_url="https://example.com/return"

OpsionalSimpan detail metode pembayaran
Sisi server

Secara default, metode pembayaran yang digunakan untuk melakukan pembayaran satu kali dengan Checkout tidak tersedia untuk digunakan di masa mendatang.

Simpan metode pembayaran untuk men-charge di luar sesi

Anda dapat mengatur Checkout untuk menyimpan metode pembayaran yang digunakan untuk melakukan pembayaran satu kali dengan meneruskan argumen payment_intent_data.setup_future_usage. Ini berguna jika Anda perlu mencatat metode pembayaran secara on-file untuk digunakan sebagai biaya di masa mendatang, seperti biaya pembatalan atau biaya ketidakhadiran.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer_creation=always \ -d "line_items[0][price_data][currency]"=usd \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][unit_amount]"=2000 \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d ui_mode=embedded \ --data-urlencode return_url="https://example.com/return" \ -d "payment_intent_data[setup_future_usage]"=off_session

Jika Anda menggunakan Checkout dalam mode subscription, Stripe akan secara otomatis menyimpan metode pembayaran untuk di-charge di pembayaran berikutnya. Metode pembayaran kartu yang disimpan untuk pelanggan yang menggunakan mode setup_future_usage atau subscription tidak akan muncul untuk pembelian kembali di Checkout (selengkapnya di bawah). Kami menyarankan untuk menggunakan teks custom untuk menautkan ke ketentuan yang relevan terkait penggunaan informasi pembayaran yang disimpan.

Peringatan

Hukum privasi global sangat rumit dan bervariasi. Kami merekomendasikan Anda untuk menghubungi tim hukum dan privasi sebelum mengimplementasikan setup_future_usage karena hal ini dapat berimplikasi pada kerangka kerja kepatuhan privasi yang sudah ada. Lihat panduan yang dikeluarkan oleh European Protection Board untuk mempelajari selengkapnya tentang menyimpan detail pembayaran.

Simpan metode pembayaran untuk mengisinya terlebih dahulu di Checkout

Secara default, Checkout menggunakan Link untuk memberikan pilihan kepada pelanggan Anda untuk menyimpan dan menggunakan kembali informasi pembayaran dengan aman. Jika Anda lebih suka mengelola metode pembayaran sendiri, gunakan saved_payment_method_options.payment_method_save ketika membuat Sesi Checkout agar pelanggan dapat menyimpan metode pembayarannya untuk pembelian di masa mendatang di Checkout.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer_creation=always \ -d "line_items[0][price_data][currency]"=usd \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][unit_amount]"=2000 \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d ui_mode=embedded \ --data-urlencode return_url="https://example.com/return" \ -d "saved_payment_method_options[payment_method_save]"=enabled

Meneruskan parameter ini dalam mode pembayaran atau langganan menampilkan kotak centang opsional agar pelanggan dapat secara eksplisit menyimpan metode pembayarannya untuk pembelian mendatang. Bila pelanggan mencentang kotak ini, Checkout akan menyimpan metode pembayaran dengan allow_redisplay: always. Checkout menggunakan parameter ini untuk menentukan jika metode pembayaran dapat diisikan terlebih dahulu pada pembelian mendatang. Ketika menggunakan saved_payment_method_options.payment_method_save, Anda tidak perlu meneruskan setup_future_usage untuk menyimpan metode pembayaran.

Penggunaan saved_payment_method_options.payment_method_save memerlukan Customer. Untuk menyimpan pelanggan baru, atur customer_creation Sesi Checkout ke always. Jika tidak, sesi tidak akan menyimpan pelanggan atau metode pembayaran.

Jika payment_method_save tidak diteruskan atau jika pelanggan tidak setuju untuk menyimpan metode pembayaran, Checkout masih menyimpan metode pembayaran yang dibuat dalam mode subscription atau menggunakan setup_future_usage. Metode pembayaran ini memiliki nilai allow_redisplay limited, yang mencegahnya diisi terlebih dahulu untuk pembelian kembali serta memungkinkan Anda mematuhi peraturan jaringan kartu dan peraturan proteksi data. Pelajari cara mengubah perilaku default yang diaktifkan oleh mode ini dan cara mengubah atau mengesampingkan perilaku allow_redisplay.

Catatan

Anda dapat menggunakan Checkout untuk menyimpan kartu dan metode pembayaran lain untuk men-charge di luar sesi, tetapi Checkout hanya mengisikan kartu tersimpan secara otomatis. Pelajari cara mengisikan otomatis kartu tersimpan. Untuk menyimpan metode pembayaran tanpa pembayaran awal, gunakan Checkout dalam mode penyiapan.

Izinkan pelanggan menghapus metode pembayaran tersimpan

Untuk mengizinkan pelanggan Anda menghapus metode pembayaran tersimpan sehingga tidak muncul kembali bagi pembayaran mendatang, gunakan saved_payment_method_options.payment_method_remove ketika membuat Sesi Checkout.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer={{CUSTOMER_ID}} \ -d "line_items[0][price_data][currency]"=usd \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][unit_amount]"=2000 \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d ui_mode=embedded \ --data-urlencode return_url="https://example.com/return" \ -d "saved_payment_method_options[payment_method_remove]"=enabled

Pelanggan tidak dapat menghapus metode pembayaran jika terikat dengan langganan aktif dan pelanggan tidak memiliki metode pembayaran default yang tersimpan untuk pembayaran langganan serta invoice.

OpsionalManajemen akun pelanggan
Tidak 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.

OpsionalPisahkan otorisasi dan penarikan
Sisi 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:

  1. Konfirmasikan bahwa Stripe mengotorisasi metode pembayaran pelanggan.
  2. Periksa sistem manajemen inventaris Anda untuk mengonfirmasikan bahwa item masih tersedia.
  3. Perbarui sistem manajemen inventaris Anda untuk menandai bahwa pelanggan telah membeli item.
  4. Tarik pembayaran pelanggan.
  5. 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.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "line_items[0][price]"={{PRICE_ID}} \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d "payment_intent_data[capture_method]"=manual \ -d ui_mode=embedded \ --data-urlencode return_url="https://example.com/return"

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.

OpsionalPemenuhan pesanan

Pelajari cara mendapatkan notifikasi secara terprogram setiap kali pelanggan membayar.

Lihat juga

  • Tambahkan diskon
  • Kumpulkan pajak
  • Kumpulkan ID pajak
  • Tambahkan pengiriman
  • Sesuaikan branding Anda
Apakah halaman ini membantu?
YaTidak
  • Butuh bantuan? Hubungi Tim CS.
  • Bergabunglah dengan program akses awal kami.
  • Lihat log perubahan kami.
  • Ada pertanyaan? Hubungi Bagian Penjualan.
  • LLM? Baca llms.txt.
  • Dijalankan oleh Markdoc
Code quickstart
Panduan Terkait
Elements Appearance API
Skenario pembayaran lainnya
Cara kerja kartu