Lewati ke konten
Buat akun
atau
Masuk
Logo Dokumen Stripe
/
Tanya AI
Buat akun
Masuk
Mulai
Pembayaran
Revenue
Platform dan situs belanja online
Manajemen uang
Alat bantu pengembang
Gambaran Umum
Tentang pembayaran Stripe
Upgrade integrasi Anda
Analitik pembayaran
Pembayaran online
Gambaran umumTemukan contoh penggunaan AndaPembayaran Terkelola
Gunakan Payment Links
Buat halaman checkout
    Gambaran umum
    Mulai cepat
    Sesuaikan tampilan dan nuansa
    Kumpulkan informasi tambahan
    Pungut pajak
    Perbarui checkout secara dinamis
    Kelola katalog produk Anda
    Subscriptions
    Kelola metode pembayaran
    Mungkinkan pelanggan membayar dalam mata uang lokal
    Tambahkan diskon, upsell, dan item opsional
    Siapkan pembayaran mendatang
    Simpan detail pembayaran saat pembayaran
      Pelanggan tamu
    Setujui pembayaran di server Anda secara manual
    Setelah pembayaran
    Log perubahan Elements dengan Checkout Sessions API beta
    Migrasi dari Checkout terdahulu
    Migrasi Checkout untuk menggunakan Harga
Bangun integrasi lanjutan
Bangun integrasi dalam aplikasi
Metode Pembayaran
Tambahkan metode pembayaran
Kelola metode pembayaran
Checkout lebih cepat dengan Link
Antarmuka pembayaran
Payment Links
Checkout
Web Elements
Elements dalam aplikasi
Skenario pembayaran
Alur pembayaran custom
Akuisisi fleksibel
Orkestrasi
Pembayaran di tempat
Terminal
Produk Stripe lainnya
Financial Connections
Kripto
Climate
BerandaPembayaranBuild a checkout page

Simpan detail pembayaran saat pembayaran

Pelajari cara menerima pembayaran dan menyimpan detail pembayaran pelanggan Anda untuk pembelian mendatang.

Salin halaman

Catatan

Dukungan untuk metode pembayaran yang disimpan menggunakan Elements dan Checkout Sessions API hanya mencakup kartu. Itu tidak mendukung metode pembayaran tersimpan lainnya, seperti rekening bank.

Aktifkan metode pembayaran tersimpan

Guna mengizinkan pelanggan menyimpan metode pembayaran mereka untuk penggunaan mendatang, tentukan parameter saved_payment_method_options.payment_method_save ketika membuat Sesi Checkout.

Penyimpanan metode pembayaran memerlukan Pelanggan. Teruskan pelanggan yang sudah ada, atau, untuk membuat pelanggan baru, atur customer_creation Sesi Checkout ke always.

Command Line
cURL
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "line_items[0][price]"=
{{PRICE_ID}}
\ -d "line_items[0][quantity]"=2 \ -d mode=payment \ -d ui_mode=custom \ -d customer_creation=always \ -d "saved_payment_method_options[payment_method_save]"=enabled

Setelah membuat Sesi Checkout, gunakan client secret yang dikembalikan dalam respons untuk membangun halaman checkout Anda.

Kumpulkan persetujuan

Peringatan

Hukum privasi global itu rumit dan bervariasi. Sebelum mengimplementasikan kemampuan untuk menyimpan detail metode pembayaran pelanggan, bekerjalah dengan tim legal Anda untuk memastikan bahwa metode tersebut mematuhi kerangka kerja privasi dan kepatuhan Anda.

Dalam kebanyakan kasus, Anda harus mengumpulkan persetujuan pelanggan sebelum menyimpan metode pembayaran mereka. Contoh berikut menunjukkan cara memperoleh persetujuan menggunakan kotak centang.

index.html
<label> <input type="checkbox" id="save-payment-method-checkbox" /> Save my payment information for future purchases </label> <button id="pay-button">Pay</button> <div id="confirm-errors"></div>

Tunjukkan ke Stripe apakah pelanggan telah memberikan persetujuan saat Anda memanggil confirm dengan meneruskan parameter savePaymentMethod. Bila menyimpan detail pembayaran pelanggan, Anda bertanggung jawab untuk mematuhi semua hukum, regulasi, dan aturan jaringan yang berlaku.

checkout.js
stripe.initCheckout({fetchClientSecret}).then((checkout) => { const button = document.getElementById('pay-button'); const errors = document.getElementById('confirm-errors'); const checkbox = document.getElementById('save-payment-method-checkbox'); button.addEventListener('click', () => { // Clear any validation errors errors.textContent = ''; const savePaymentMethod = checkbox.checked; checkout.confirm({savePaymentMethod}).then((result) => { if (result.type === 'error') { errors.textContent = result.error.message; } }); }); });

Gunakan kembali metode pembayaran yang disimpan sebelumnya

Anda dapat menampilkan kembali metode pembayaran yang disimpan sebelumnya untuk digunakan pelanggan Anda selama checkout.

Identifikasikan pelanggan Anda

Setiap metode pembayaran tersimpan ditautkan ke objek Pelanggan. Sebelum membuat Sesi Checkout, lakukan autentikasi pelanggan Anda, dan teruskan identifikasi Pelanggan yang sesuai ke Sesi Checkout.

Command Line
cURL
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "line_items[0][price]"=
{{PRICE_ID}}
\ -d "line_items[0][quantity]"=2 \ -d mode=payment \ -d ui_mode=custom \ -d customer=
{{CUSTOMER_ID}}

Render metode pembayaran tersimpan

Gunakan larik savedPaymentMethods pada frontend untuk menyajikan metode pembayaran pelanggan yang tersedia.

Catatan

Larik savedPaymentMethods hanya mencakup metode pembayaran dengan allow_redisplay yang diatur ke always. Ikuti langkah-langkah untuk mengumpulkan persetujuan dari pelanggan Anda, yang memastikan bahwa allow_redisplay diatur dengan benar.

index.html
<div id="saved-payment-methods"></div>
checkout.js
stripe.initCheckout({fetchClientSecret}).then((checkout) => { const container = document.getElementById('saved-payment-methods'); checkout.session().savedPaymentMethods.forEach((pm) => { const label = document.createElement('label'); const radio = document.createElement('input'); radio.type = 'radio'; radio.value = pm.id; label.appendChild(radio); label.appendChild(document.createTextNode(`Card ending in ${pm.card.last4}`)); container.appendChild(label); }); });

Konfirmasikan dengan metode pembayaran tersimpan

Bila pelanggan Anda telah memilih metode pembayaran tersimpan dan siap untuk menyelesaikan checkout, panggil confirm, sehingga meneruskan identifikasi paymentMethod.

index.html
<button id="pay-button">Pay</button>
checkout.js
stripe.initCheckout({fetchClientSecret}).then((checkout) => { const button = document.getElementById('pay-button'); button.addEventListener('click', () => { checkout.confirm({paymentMethod: selectedPaymentMethod}).then((result) => { if (result.error) { // Confirmation failed. Display the error message. } }); }); });
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