Sesuaikan perilaku pengalihan
Tampilkan halaman konfirmasi dengan informasi pesanan pelanggan Anda.
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_
.
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_
. Sertakan variabel templat {CHECKOUT_
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.
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.
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_
. 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.
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_
akan menghilangkan persyaratan return_
. 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.