Buat halaman checkout custom yang menyertakan Link
Integrasikan Link menggunakan Payment Element atau Link Authentication Element.
Panduan ini memandu Anda melalui cara menerima pembayaran dengan Link menggunakan Payment Intents API dan Payment Element atau Link Authentication Element.
Ada tiga cara Anda dapat mengamankan alamat email pelanggan untuk autentikasi dan pendaftaran Link:
- Masukkan alamat email: Anda dapat meneruskan alamat email ke Payment Element menggunakan defaultValues. Jika Anda sudah mengumpulkan alamat email dan atau nomor telepon pelanggan di alur checkout, kami merekomendasikan pendekatan ini.
- Kumpulkan alamat email: Anda dapat mengumpulkan alamat email langsung di Payment Element. Jika Anda tidak mengumpulkan alamat email di mana pun dalam alur checkout, kami merekomendasikan pendekatan ini.
- Link Authentication Element: Anda dapat menggunakan Link Authentication Element untuk membuat satu bidang input email untuk pengumpulan email maupun autentikasi Link. Kami merekomendasikan hal ini jika Anda menggunakan Address Element.

Kumpulkan alamat email pelanggan untuk autentikasi atau pendaftaran Link
Siapkan StripeSisi server
Pertama, buat akun Stripe atau masuk.
Gunakan pustaka resmi kami untuk mengakses API Stripe dari aplikasi Anda:
Buat PaymentIntentSisi server
Stripe menggunakan objek PaymentIntent untuk mewakili maksud Anda menagih pembayaran dari pelanggan, melacak upaya charge, dan perubahan status pembayaran di seluruh proses.
Jika Anda mengumpulkan detail kartu untuk penggunaan mendatang dengan Setup Intents, cantumkan metode pembayaran secara manual, bukan menggunakan metode pembayaran dinamis. Untuk menggunakan Link tanpa metode pembayaran dinamis, perbarui integrasi Anda untuk meneruskan link
ke payment_
.
Saat Anda membuat PaymentIntent, tawarkan secara dinamis metode pembayaran yang paling relevan kepada pelanggan Anda, termasuk Link, dengan menggunakan metode pembayaran dinamis. Untuk menggunakan metode pembayaran dinamis, jangan sertakan parameter payment_
. Secara opsional, Anda juga dapat mengaktifkan automatic_
.
Catatan
Jika integrasi Anda tidak menetapkan parameter payment_
, beberapa metode pembayaran diaktifkan secara otomatis, termasuk kartu dan dompet digital.
Untuk menambahkan Link ke integrasi Elements Anda menggunakan metode pembayaran dinamis:
- Di pengaturan metode pembayaran Dashboard, aktifkan Link.
- Jika saat ini Anda memiliki integrasi yang mencantumkan metode pembayaran secara manual, hapus parameter payment_method_types dari integrasi Anda.
Ambil client secret
PaymentIntent menyertakan client secret yang digunakan pada sisi client untuk menyelesaian proses pembayaran dengan aman. Anda dapat menggunakan pendekatan berbeda untuk meneruskan client secret ke sisi client.
Kumpulkan email pelanggan
Link mengautentikasi pelanggan dengan menggunakan alamat emailnya. Tergantung pada alur checkout, Anda memiliki opsi berikut: meneruskan email ke Payment Element, mengumpulkannya langsung di dalam Payment Element, atau menggunakan Link Authentication Element. Dari jumlah tersebut, Stripe merekomendasikan untuk meneruskan alamat email pelanggan ke Payment Element jika tersedia.
Siapkan formulir pembayaran AndaSisi client
Sekarang Anda dapat menyiapkan formulir pembayaran custom dengan komponen UI siap-rakit Elements. Alamat halaman pembayaran Anda harus dimulai dengan https://
bukan http://
agar integrasi Anda berfungsi. Anda dapat mencoba integrasi tanpa menggunakan HTTPS. Aktifkan HTTPS saat Anda siap menerima pembayaran live.
Serahkan pembayaran ke StripeSisi client
Gunakan stripe.confirmPayment untuk menyelesaikan pembayaran dengan detail yang dikumpulkan dari pelanggan Anda di formulir Elements yang berbeda. Berikan return_url ke fungsi ini untuk menunjukkan ke mana Stripe mengalihkan pengguna setelah menyelesaikan pembayaran.
Pengguna Anda mungkin terlebih dahulu diarahkan ulang ke situs perantara, seperti halaman otorisasi bank, sebelum Stripe mengalihkannya ke return_
.
Secara default, pembayaran kartu dan bank segera dialihkan ke return_
saat pembayaran berhasil. Jika tidak ingin dialihkan ke return_
, Anda dapat menggunakan if_required untuk mengubah perilaku.
return_
sesuai dengan halaman pada situs web Anda yang menyediakan status pembayaran dari PaymentIntent
bila Anda menampilkan halaman pengembalian. Saat Stripe mengalihkan pelanggan ke return_
, Anda dapat menggunakan parameter query URL berikut untuk memverifikasi status pembayaran. Anda juga dapat menambahkan parameter query sendiri ketika memberikan return_
. Parameter query ini bertahan selama proses pengalihan.
Parameter | Keterangan |
---|---|
payment_ | Identifier unik untuk PaymentIntent |
payment_ | Client secret dari objek PaymentIntent . |
Tangani kejadian pascapembayaranSisi server
Stripe mengirim kejadian payment_intent.succeeded ketika selesai pembayaran. Gunakan webhook untuk menerima kejadian ini dan menjalankan tindakan, seperti mengirim email konfirmasi pesanan kepada pelanggan Anda, mencatat penjualan di database, atau memulai alur kerja pengiriman.
Konfigurasikan integrasi Anda untuk mendengarkan kejadian ini daripada menunggu callback dari client. Saat Anda menunggu callback dari client, pelanggan dapat menutup jendela browser atau keluar dari aplikasi sebelum callback mengeksekusi. Menyiapkan integrasi untuk mendengarkan kejadian asinkron memungkinkan Anda menyetujui berbagai tipe metode pembayaran dengan satu integrasi tunggal.
Selain menangani kejadian payment_
, Anda juga dapat menangani dua kejadian penting lainnya ketika menagih pembayaran dengan Payment Element:
Kejadian | Keterangan | Tindakan |
---|---|---|
payment_intent.succeeded | Dikirim dari Stripe bila pelanggan berhasil menyelesaikan suatu pembayaran. | Kirimi pelanggan konfirmasi pesanan dan penuhi pesanan mereka. |
payment_intent.payment_failed | Dikirim dari Stripe ketika pelanggan mencoba melakukan pembayaran, tetapi pembayaran itu gagal. | Jika transisi pembayaran dilakukan dari processing menjadi payment_ , tawarkan upaya lain untuk membayar kepada pelanggan. |
Uji integrasinya
Peringatan
Jangan simpan data pengguna asli di sandbox akun Link. Perlakukan seolah-olah tersedia untuk umum, karena akun percobaan ini dikaitkan dengan kunci Anda yang dapat dipublikasikan.
Saat ini, Link hanya berfungsi dengan kartu kredit, kartu debit, dan pembelian rekening bank AS yang memenuhi syarat. Link memerlukan pendaftaran domain.
Anda dapat membuat akun sandbox untuk Link menggunakan alamat email yang valid. Tabel berikut menampilkan nilai kode sandi satu kali tetap yang Stripe terima untuk melakukan autentikasi akun sandbox:
Nilai | Hasil |
---|---|
6 angka lainnya yang tidak tercantum di bawah | Berhasil |
000001 | Kesalahan, kode tidak valid |
000002 | Kesalahan, kode kedaluwarsa |
000003 | Kesalahan, upaya maksimum terlampaui |
Untuk mencoba metode pembayaran tertentu, lihat contoh percobaan Payment Element.
Berbagai sumber pendanaan
Saat Stripe menambahkan dukungan sumber pendanaan tambahan, Anda tidak perlu memperbarui integrasi. Stripe secara otomatis mendukungnya dengan waktu penyelesaian transaksi dan jaminan yang sama seperti pembayaran kartu dan rekening bank.
Autentikasi kartu dan 3D Secure
Link mendukung autentikasi 3D Secure 2 (3DS2) untuk pembayaran kartu. 3DS2 mengharuskan pelanggan menyelesaikan langkah verifikasi tambahan dengan penerbit kartu ketika membayar. Pembayaran yang telah berhasil diautentikasi menggunakan 3D Secure dicakup oleh pengalihan pertanggungjawaban.
Untuk memicu alur tantangan autentikasi 3DS2 dengan Link di sandbox, gunakan kartu percobaan berikut dengan CVC, kode pos, dan tanggal kedaluwarsa mendatang: .
Di sandbox, proses autentikasi menampilkan halaman autentikasi rekaan. Pada halaman tersebut, Anda dapat memberikan otorisasi ataupun membatalkan penyiapan. Pemberian otorisasi pembayaran menyimulasikan autentikasi yang berhasil dan mengalihkan Anda ke URL kembali yang telah ditentukan. Mengeklik tombol Kegagalan menyimulasikan percobaan autentikasi yang tidak berhasil.
Untuk detail selengkapnya, lihat halaman autentikasi 3D Secure.
Catatan
Saat mencoba alur 3DS, hanya kartu percobaan untuk 3DS2 yang akan memicu autentikasi di Link.
Ungkapkan Stripe kepada pelanggan Anda
Stripe mengumpulkan informasi tentang interaksi pelanggan dengan Elements untuk memberikan layanan kepada Anda, mencegah penipuan, serta meningkatkan layanannya. Ini termasuk penggunaan cookie dan alamat IP guna mengidentifikasi Elements mana yang dilihat pelanggan selama satu sesi checkout. Anda bertanggung jawab untuk mengungkapkan serta memperoleh semua hak dan persetujuan yang diperlukan agar Stripe dapat menggunakan data dengan cara ini. Untuk informasi selengkapnya, kunjungi pusat privasi kami.