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 Umum
Tentang pembayaran Stripe
Upgrade integrasi Anda
Analitik pembayaran
Pembayaran online
Gambaran umumTemukan contoh penggunaan AndaGunakan Managed Payments
Gunakan Payment Links
Gunakan halaman checkout bawaan
Buat integrasi kustom dengan Elements
    Gambaran umum
    Bandingkan Checkout Sessions dan PaymentIntents
    Panduan mulai cepat
    Rancang integrasi lanjutan
    Sesuaikan tampilan dan nuansa
    Kelola metode pembayaran
    Kumpulkan informasi tambahan
    Bangun integrasi langganan
    Pembaruan dinamis
    Tambahkan diskon
    Pungut pajak atas pembayaran Anda
    Menukarkan kredit
    Mungkinkan pelanggan membayar dalam mata uang lokal
    Simpan dan ambil metode pembayaran pelanggan
      Simpan metode pembayaran yang digunakan untuk pembayaran
      Simpan metode pembayaran tanpa melakukan pembayaran
    Kirim resi dan invoice yang telah dibayar
    Setujui pembayaran di server Anda secara manual
    Otorisasikan dan tarik pembayaran secara terpisah
    Log perubahan Elements dengan Checkout Sessions API beta
Bangun integrasi dalam aplikasi
Metode Pembayaran
Tambahkan metode pembayaran
Kelola metode pembayaran
Checkout lebih cepat dengan Link
Antarmuka pembayaran
Payment Links
Checkout
Web Elements
Pembayaran dalam aplikasi
Skenario pembayaran
Tangani beberapa mata uang
Alur pembayaran custom
Akuisisi fleksibel
Orkestrasi
Pembayaran di tempat
Terminal
Di luar pembayaran
Dirikan perusahaan Anda
Kripto
Perdagangan agen
Financial Connections
Climate
Pahami penipuan
Perlindungan penipuan Radar
Kelola sengketa
Verifikasikan identitas
BerandaPembayaranBuild a custom integration with ElementsSave and retrieve customer payment methods

Simpan metode pembayaran pelanggan tanpa melakukan pembayaran

Pelajari cara menyimpan metode pembayaran dan menagihnya nanti.

Checkout Sessions API dalam mode setup memungkinkan Anda menyimpan detail pembayaran pelanggan tanpa pembayaran awal. Hal ini bermanfaat jika Anda ingin melakukan onboarding pelanggan sekarang, menyiapkan mereka untuk pembayaran, dan menagih mereka menggunakan Payment Intents API di masa depan saat mereka sedang offline.

Gunakan integrasi ini untuk menyiapkan pembayaran rutin atau untuk melakukan pembayaran satu kali dengan jumlah akhir yang ditentukan kemudian, sering kali setelah pelanggan menerima layanan Anda.

Transaksi menggunakan kartu

Transaksi dengan kartu, seperti pengumpulan detail kartu melalui Stripe Terminal, menggunakan proses berbeda untuk menyimpan metode pembayaran.

Kepatuhan

Anda bertanggung jawab atas kepatuhan Anda terhadap semua hukum, peraturan, dan aturan jaringan yang berlaku saat menyimpan detail pembayaran pelanggan. Persyaratan ini umumnya berlaku jika Anda ingin menyimpan metode pembayaran pelanggan untuk digunakan di masa mendatang, seperti menampilkan metode pembayaran pelanggan dalam alur checkout untuk pembelian di masa mendatang atau mengenakan saat mereka tidak aktif menggunakan situs web atau aplikasi Anda. Tambahkan ketentuan di situs web atau aplikasi Anda yang menyatakan rencana Anda menyimpan detail metode pembayaran dan mengizinkan pelanggan untuk ikut serta.

Ketika Anda menyimpan metode pembayaran, penggunaannya hanya bisa dilakukan untuk tujuan spesifik yang telah Anda cantumkan dalam ketentuan. Untuk menyimpan metode pembayaran ketika pelanggan sedang offline dan menjadikannya sebagai opsi untuk pembelian di masa depan, pastikan Anda benar-benar mendapatkan persetujuan pelanggan untuk penggunaan khusus ini. Misalnya, sertakan kotak centang “Simpan metode pembayaran saya untuk penggunaan di masa depan” guna mengumpulkan persetujuan.

Untuk menagih pelanggan saat mereka sedang offline, pastikan ketentuan Anda mencakup hal-hal berikut:

  • Persetujuan pelanggan untuk melakukan pembayaran atau serangkaian pembayaran atas nama mereka untuk transaksi tertentu.
  • Waktu yang diantisipasi dan frekuensi pembayaran (misalnya, jika charge dijadwalkan untuk angsuran berkala, pembayaran langganan, atau pengisian saldo tidak terjadwal).
  • Cara Anda menentukan jumlah pembayaran.
  • Kebijakan pembatalan Anda, jika metode pembayarannya untuk layanan langganan.

Pastikan Anda menyimpan catatan persetujuan tertulis pelanggan Anda terhadap ketentuan ini.

Catatan

Jika Anda perlu menggunakan konfirmasi sisi server manual atau integrasi Anda memerlukan penyajian metode pembayaran secara terpisah, lihat panduan alternatif .

Siapkan Stripe
Sisi server

Pertama, buat akun Stripe atau masuk.

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 Pelanggan
Sisi server

Untuk menyiapkan metode pembayaran bagi pembayaran mendatang, Anda harus melampirkannya ke Pelanggan. Buat objek Customer bila pelanggan membuat akun pada bisnis Anda. Objek Customer memungkinkan penggunaan kembali metode pembayaran dan pelacakan ke beberapa pembayaran sekaligus.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl -X POST https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Gunakan mode penyiapan
Sisi server

Buat Sesi Checkout dengan mode=setup.

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=setup \ -d ui_mode=custom \ -d currency=usd

Melampirkan metode pembayaran ke Pelanggan
Sisi server

Jika Anda tidak membuat Sesi Checkout dengan pelanggan yang sudah ada, gunakan ID dari PaymentMethod ke melampirkan metode pembayaran ke pelanggan.

Jika tidak, metode pembayaran secara otomatis dilampirkan pada pelanggan yang Anda tentukan saat membuat Sesi Checkout.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_methods/
{{PAYMENT_METHOD_ID}}
/attach
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}

Mengambil metode pembayaran
Sisi server

Setelah pelanggan berhasil menyelesaikan Sesi Checkout mereka, tangani webhook checkout.session.completed. Ambil objek Sesi dalam webhook, lalu lakukan hal-hal berikut:

  • Dapatkan nilai kunci setup_intent, yaitu ID SetupIntent yang dibuat selama Sesi Checkout.
  • Gunakan ID SetupIntent untuk mengambil objek SetupIntent. Objek yang dikembalikan berisi ID payment_method yang dapat Anda lampirkan ke pelanggan pada langkah berikutnya.

Pelajari lebih lanjut tentang menyiapkan webhook.

Charge metode pembayaran nanti
Sisi server

Setelah Anda melampirkan PaymentMethod ke pelanggan, Anda dapat melakukan pembayaran off-session menggunakan PaymentIntent:

  • Atur pelanggan ke ID pelanggan dan payment_method ke ID metode pembayaran.
  • Atur off_session ke true untuk menunjukkan bahwa pelanggan tidak berada di alur checkout Anda selama percobaan pembayaran dan tidak dapat memenuhi permintaan autentikasi yang dibuat oleh pihak lain, seperti penerbit kartu, bank, atau lembaga pembayaran lainnya. Jika, selama alur checkout, pihak lain meminta autentikasi, Stripe meminta pembebasan menggunakan informasi pelanggan dari transaksi on-session sebelumnya. Jika kondisi untuk pengecualian tidak terpenuhi, PaymentIntent mungkin menghasilkan kesalahan.
  • Tetapkan nilai properti confirm milik PaymentIntent ke true, yang menyebabkan konfirmasi segera terjadi saat Anda membuat PaymentIntent.
Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1099 \ -d currency=usd \ -d customer=
{{CUSTOMER_ID}}
\ -d payment_method=
{{PAYMENT_METHOD_ID}}
\ -d off_session=true \ -d confirm=true

Jika percobaan pembayaran gagal, permintaan juga gagal dengan kode status HTTP 402, dan status PaymentIntent adalah requires_payment_method. Beritahu pelanggan agar kembali ke aplikasi Anda (misalnya, dengan mengirimkan email atau notifikasi dalam aplikasi) dan arahkan pelanggan ke sesi Checkout baru untuk memilih metode pembayaran lain.

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]"=1099 \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d ui_mode=custom \ --data-urlencode return_url="https://example.com/return"
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