Payment Methods API
Pelajari selengkapnya tentang API yang memberdayakan beragam metode pembayaran global.
Payment Methods API memungkinkan Anda menerima berbagai metode pembayaran melalui satu API. Objek PaymentMethod berisi detail metode pembayaran untuk melakukan pembayaran. Dengan Payment Methods API, Anda dapat menggabungkan PaymentMethod:
- Dengan PaymentIntent untuk menerima pembayaran
- Dengan SetupIntent dan Pelanggan untuk menyimpan detail pembayaran untuk lain waktu
Metode pembayaran yang didukung
Untuk menentukan metode pembayaran yang akan digunakan untuk lokal tertentu, lihat panduan metode pembayaran.
Panduan ini mencakup metode pembayaran yang tersedia untuk wilayah yang berbeda-beda, keterangan terperinci tentang karakteristik setiap metode pembayaran, dan wilayah geografis yang paling relevan. Anda dapat mengaktifkan metode pembayaran yang tersedia untuk Anda di Dashboard. Aktivasi biasanya berlangsung saat itu juga dan tidak memerlukan kontrak tambahan.
Tindakan pelanggan
Beberapa metode pembayaran mengharuskan pelanggan Anda mengambil langkah tambahan untuk menyelesaikan pembayaran. Parameter next_
objek PaymentIntent menentukan tipe tindakan pelanggan.
Beberapa tindakan umum yang perlu dilakukan pelanggan adalah:
- Arahkan ulang ke layanan online bank mereka untuk mengautentikasi dan menerima pembayaran.
- Verifikasikan kepemilikan akun mereka dengan memberikan kode satu kali yang Anda posting ke API Stripe (sebagai contoh, mikrodeposit).
- Dorong dana (sebagai contoh, dalam kasus transfer bank) melalui layanan online bank mereka.
Tidak semua metode pembayaran memerlukan tindakan pelanggan tambahan. Misalnya, pembayaran dengan kartu (tidak termasuk 3D Secure) tidak memerlukan autentikasi tambahan selain mengumpulkan detail kartu.
Catatan
For payment methods that require customer action, configure event destinations for notifications on whether a payment has succeeded or not.
Notifikasi segera atau tertunda dari keberhasilan pembayaran
Beberapa metode pembayaran segera mengembalikan status pembayaran saat transaksi dicoba (sebagai contoh, pembayaran dengan kartu) tetapi metode lain mengalami penundaan seperti debit ACH. Bagi metode yang segera mengembalikan status pembayaran, status PaymentIntent akan berubah menjadi succeeded
atau requires_
. Status succeeded
menjamin Anda akan menerima dana dari pelanggan.
Metode pembayaran dengan notifikasi yang tertunda tidak dapat menjamin pembayaran selama penundaan. Objek PaymentIntent akan dalam status processing
hingga status pembayaran berhasil atau gagal. Hal ini umum bagi kalangan bisnis untuk menahan pesanan dalam status pending selama waktu ini, tidak memenuhi pesanan hingga pembayaran berhasil.
Catatan
For payment methods with delayed notification, configure event destinations for notifications on whether a payment has succeeded or not.
Sekali pakai atau dapat digunakan kembali
Anda dapat menggunakan kembali metode pembayaran tertentu (misalnya kartu atau debit bank) untuk pembayaran tambahan tanpa mengotorisasi dan mengumpulkan detail pembayaran lagi.
Anda harus senantiasa menyiapkan metode pembayaran yang dapat digunakan kembali untuk penggunaan mendatang guna mengurangi kemungkinan penolakan dan friksi pembayaran mendatang (seperti autentikasi yang diharuskan). Metode pembayaran yang dapat digunakan kembali dapat disiapkan untuk penggunaan mendatang ketika menerima pembayaran atau disiapkan untuk penggunaan mendatang tanpa mengambil pembayaran.
Metode pembayaran sekali pakai (misalnya, beberapa jenis transfer bank) tidak dapat dikaitkan dengan pelanggan karena langsung terpakai setelah upaya pembayaran.
Use event destinations to track payment status
Configure event destinations for payment methods that either require customer action or when payment notification is delayed. Stripe sends the following events when the PaymentIntent
status is updated:
Kejadian | Keterangan | Langkah berikutnya |
---|---|---|
payment_ | Pembayaran pelanggan berhasil diserahkan ke Stripe. Hanya berlaku untuk metode pembayaran dengan notifikasi yang tertunda. | Tunggu pembayaran yang diprakarsai berhasil atau gagal. |
payment_ | Pembayaran berhasil. | Penuhi barang atau layanan yang dibeli. |
payment_ | Pembayaran gagal. | Kirim email atau notifikasi otomatis untuk meminta metode pembayaran yang lain. |
You can also use the following options instead of setting up an event destination to listen to events:
- Lacak status pembayaran secara manual di Dashboard Stripe, jika bisnis Anda menyetujui pesanan dalam volume kecil dari metode pembayaran dengan notifikasi yang tertunda. Dashboard memungkinkan Anda melihat semua pembayaran Stripe, mengirim resi email, menangani payout, atau mencoba ulang pembayaran yang gagal.
- Gunakan penjajakan (sebagai contoh, mengambil PaymentIntent berulang kali sehingga Anda dapat memeriksa statusnya). Perhatikan bahwa penjajakan kurang dapat diandalkan secara signifikan dan mungkin tidak berfungsi dalam skala besar. Stripe memberlakukan pembatasan tingkat pada permintaan API, jadi berhati-hatilah jika Anda menggunakan penjajakan.
- Gunakan aplikasi mitra untuk menangani kejadian bisnis umum, seperti otomatisasi atau pemasaran dan penjualan, dengan mengintegrasikan aplikasi mitra.
Objek PaymentMethod
Sebuah PaymentMethod berisi detail metode pembayaran yang dapat digunakan kembali untuk membuat pembayaran (misalnya, tanggal kedaluwarsa kartu atau alamat penagihan), tidak termasuk informasi spesifik transaksi (misalnya, jumlah, mata uang). PaymentMethod dilampirkan pada PaymentIntent untuk mewakili status siklus hidup pembayaran. Setiap PaymentMethod memiliki atribut tipe (misalnya, "type": "sepa_
) dan sebuah hash tambahan yang namanya sesuai dengan tipe dan berisi informasi khusus untuk tipe PaymentMethod (misalnya, "sepa_
). Contoh objek PaymentMethod sepa_
:
{ "id": "pm_123456789", "object": "payment_method", "billing_details": { "address": {...}, "email": "jenny@example.com", "name": "Jenny Rosen", "phone": "+335555555555" }, "sepa_debit": { "bank_code": "37040044", "branch_code": "94832", "country": "FR", "fingerprint": "ygEJfUjzWMGyWnZg", "last4": "3000" }, "type": "sepa_debit", (...) }
Catatan
Untuk menangani informasi pembayaran yang sensitif dengan aman dan menangani tindakan pelanggan secara otomatis, Stripe merekomendasikan Anda membuat metode pembayaran menggunakan Stripe.js.