Lewati ke konten
Buat akun
atau
Masuk
Logo Dokumen Stripe
/
Tanya AI
Buat akun
Masuk
Mulai
Pembayaran
Otomatisasi keuangan
Platform dan situs belanja online
Manajemen uang
Alat bantu pengembang
Mulai
Pembayaran
Otomatisasi keuangan
Mulai
Pembayaran
Otomatisasi keuangan
Platform dan situs belanja online
Manajemen uang
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
    Manually approve payments on your server
    Setelah pembayaran
      Penuhi pesanan
      Kirim resi dan invoice yang telah dibayar
      Sesuaikan perilaku pengalihan
      Pulihkan keranjang yang ditinggalkan
      Analisis corong konversi
    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 pageAfter the payment

Sesuaikan perilaku pengalihan

Tampilkan halaman konfirmasi dengan informasi pesanan pelanggan Anda.

Salin halaman

Jika memiliki integrasi Checkout yang menggunakan formulir tersemat, Anda dapat menyesuaikan cara dan apakah Stripe mengalihkan pelanggan setelah mereka menyelesaikan pembayaran. Anda dapat meminta Stripe selalu mengalihkan pelanggan, hanya mengalihkan untuk sejumlah metode pembayaran, atau sepenuhnya menonaktifkan pengalihan.

Untuk menyiapkan pengalihan, tentukan halaman kembali di parameter return_url.

Atau, Anda dapat:

  • Hanya mengalihkan pelanggan jika metode pembayaran memerlukannya (misalnya, halaman otorisasi bank untuk metode berbasis debit).
  • Tidak menggunakan halaman pengembalian dan menonaktifkan metode pembayaran berbasis pengalihan.

Alihkan pelanggan ke halaman pengembalian

Saat membuat Sesi Checkout, Anda menentukan URL halaman pengembalian di parameter return_url. Sertakan variabel templat {CHECKOUT_SESSION_ID} di URL. Saat mengalihkan pelanggan, Checkout mengganti variabel dengan Identifikasi Sesi Checkout sebenarnya. Ketika menampilkan halaman pengembalian Anda, ambil status Sesi Checkout dengan Identifikasi Sesi Checkout di URL.

server.js
app.get('/session_status', async (req, res) => { const session = await stripe.checkout.sessions.retrieve(req.query.session_id); const customer = await stripe.customers.retrieve(session.customer); res.send({ status: session.status, payment_status: session.payment_status, customer_email: customer.email }); });

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

Hanya mengalihkan untuk metode pembayaran berbasis pengalihan

Jika Anda tidak ingin mengalihkan pelanggan setelah pembayaran yang tidak memerlukan pengalihan, atur redirect_on_completion ke if_required. Hal itu mengalihkan hanya pelanggan yang memproses pembayaran dengan metode pembayaran berbasis pengalihan.

Untuk pembayaran kartu, Checkout menampilkan status berhasil default, bukan pengalihan. Untuk menggunakan status berhasil sendiri, teruskan callback onComplete yang akan menghancurkan instance Checkout dan menampilkan status berhasil custom Anda sendiri.

onComplete dipanggil bila Sesi Checkout Session berhasil diselesaikan, atau bila kejadian webhook checkout.session.completed dikirim.

return.js
const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); initialize(); async function initialize() { const fetchClientSecret = async () => { const response = await fetch("/create-checkout-session", { method: "POST", }); const { clientSecret } = await response.json(); return clientSecret; }; // Example `onComplete` callback const handleComplete = async function() { // Destroy Checkout instance checkout.destroy() // Retrieve details from server (which loads Checkout Session) const details = await retrievePurchaseDetails(); // Show custom purchase summary showPurchaseSummary(details); } const checkout = await stripe.initEmbeddedCheckout({ fetchClientSecret, onComplete: handleComplete }); checkout.mount('#checkout'); }

Nonaktifkan metode pembayaran berbasis pengalihan

Jika Anda tidak ingin membuat halaman pengembalian, buat Sesi Checkout dengan redirect_on_completion yang diatur ke never.

Ini menonaktifkan metode pembayaran berbasis pengalihan:

  • Jika menggunakan Metode pembayaran dinamis, Anda tetap dapat mengelola metode pembayaran dari Dashboard, tetapi metode pembayaran yang memerlukan pengalihan tidak memenuhi syarat.
  • Jika menentukan metode pembayaran secara manual dengan payment_method_types, Anda tidak dapat menyertakan metode pembayaran berbasis pengalihan.

Mengatur redirect_on_completion: never akan menghilangkan persyaratan return_url. Untuk sesi ini, Checkout menampilkan status berhasil default, bukan pengalihan. Anda dapat menggunakan status berhasil sendiri dengan meneruskan callback onComplete yang akan menghancurkan instance Checkout dan menampilkan status berhasil custom Anda sendiri.

onComplete dipanggil bila Sesi Checkout Session berhasil diselesaikan, atau bila kejadian webhook checkout.session.completed dikirim.

return.js
const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); initialize(); async function initialize() { const fetchClientSecret = async () => { const response = await fetch("/create-checkout-session", { method: "POST", }); const { clientSecret } = await response.json(); return clientSecret; }; // Example `onComplete` callback const handleComplete = async function() { // Destroy Checkout instance checkout.destroy() // Retrieve details from server (which loads Checkout Session) const details = await retrievePurchaseDetails(); // Show custom purchase summary showPurchaseSummary(details); } const checkout = await stripe.initEmbeddedCheckout({ fetchClientSecret, onComplete: handleComplete }); checkout.mount('#checkout'); }
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