Lakukan penahanan metode pembayaran
Pisahkan otorisasi pembayaran dan penarikan untuk membuat charge sekarang, tetapi tarik dana nanti.
Saat melakukan pembayaran, Anda dapat menahan metode pembayaran yang memenuhi syarat untuk mencadangkan dana yang dapat ditarik nanti. Misalnya, hotel sering kali mengotorisasi pembayaran secara penuh sebelum tamu datang, kemudian mengambil uangnya saat tamu check out. Hal ini terkadang disebut sebagai penarikan manual.
Mengotorisasi pembayaran menjamin jumlah tersebut dengan menahannya pada metode pembayaran pelanggan. Jika Anda menggunakan API, atribut payment_method_details.card.capture_before pada charge mengindikasikan kapan otorisasi akan kedaluwarsa.
Anda perlu menarik dana sebelum otorisasi berakhir. Jika otorisasi kedaluwarsa sebelum Anda menarik dana, dana akan dilepaskan dan status pembayaran berubah menjadi canceled
. Pelajari selengkapnya tentang status untuk pembayaran asinkron.
Jangka waktu validitas otorisasi
Tabel berikut menguraikan jendela validitas untuk mengotorisasi tipe transaksi yang berbeda.
Transaksi tanpa kartu fisik
Brand kartu | Transaksi yang diprakarsai merchant Jangka waktu validitas otorisasi | Transaksi yang diprakarsai pelanggan Jangka waktu validitas otorisasi |
---|---|---|
Visa | 5 hari* | 7 hari |
Mastercard | 7 hari | 7 hari |
American Express | 7 hari | 7 hari |
Discover | 7 hari | 7 hari |
Transaksi dengan kartu fisik (pembayaran di tempat)
Brand kartu | Jangka waktu validitas otorisasi |
---|---|
Visa | 5 hari* |
Mastercard | 2 hari |
American Express | 2 hari |
Discover | 2 hari |
Jangka waktu otorisasi 30 hari di Jepang
Jika akun Anda berlokasi di Jepang, Anda dapat menyimpan transaksi dalam mata uang JPY dari Visa, Mastercard, JCB, Diners Club, dan Discover hingga 30 hari. Transaksi Express non-JPY dan Amerika berakhir setelah jendela standar 7 hari.
Catatan
Per 14 April 2024, Visa mempersingkat jangka waktu otorisasi untuk Transaksi yang Diprakarsai Merchant online dari 7 hari menjadi 5 hari. Visa juga memperpanjang jangka waktu otorisasi untuk transaksi di tempat (Terminal) dari 2 hari menjadi 5 hari.
Batasan metode pembayaran
Sebelum pengimplementasian, pahami batasan berikut untuk mengotorisasi dan menarik secara terpisah.
Hanya beberapa metode pembayaran yang mendukung penarikan dan otorisasi terpisah. Beberapa metode pembayaran yang mendukung ini termasuk kartu, Affirm, Afterpay, Cash App Pay, Klarna, dan PayPal. Beberapa metode pembayaran yang tidak mendukung hal ini meliputi ACH dan iDEAL. Baca selengkapnya tentang dukungan fitur metode pembayaran.
Selain yang diuraikan dalam tabel di atas, metode pembayaran lainnya memiliki aturan dan jangka waktu otorisasi yang berbeda:
- Pembayaran kartu: Jumlah ini biasanya ditahan selama 7 hari untuk pembayaran online dan 2 hari untuk pembayaran Terminal di tempat (tergantung pada jenis transaksi dan jaringan kartu). Anda dapat meminta otorisasi yang diperpanjang untuk online dan otorisasi pembayaran Terminal tertentu yang memenuhi syarat untuk perpanjangan masa berlaku. Jaringan kartu juga dapat membatasi otorisasi 1 USD yang tidak ingin Anda tarik.
- Affirm: Jika Affirm memerlukan uang muka untuk jumlah pesanan yang sangat besar, mereka akan men-charge jumlah tersebut selama otorisasi dan mengembalikan dana jika pembayaran tidak ditarik. Anda kemudian memiliki waktu 30 hari untuk menarik saldo pembayaran.
- Afterpay/Clearpay: Selama otorisasi, pelanggan membayar angsuran pembayaran pertama. Afterpay mengembalikan dana pembayaran jika tidak pernah ditarik. Anda kemudian memiliki waktu 13 hari untuk menarik saldo pembayaran.
- Cash App Pay: Otorisasi yang valid harus ditarik dalam waktu 7 hari untuk menyelesaikan pembayaran.
- Klarna: Anda harus menarik charge pada tengah malam tanggal 28 hari kalender setelah permintaan charge, jika tidak, otorisasi akan kedaluwarsa. Misalnya, Anda harus menarik permintaan charge pada UTC 2020-10-01 14:00 oleh UTC 2020-10-29 00:00.
- PayPal: Tahan jumlah tersebut selama 10 hari. Stripe secara otomatis mencoba memperpanjang penangguhan selama 10 hari lagi, dengan total 20 hari. Preferensi pelunasan Anda dapat memengaruhi periode otorisasi. Lihat otorisasi dan penarikan terpisah untuk informasi selengkapnya.
Gunakan Dashboard untuk mengotorisasi dan menarik
Anda dapat mengotorisasi pembayaran dan menarik dana secara terpisah tanpa menulis kode.
- Di Dashboard, buat pembayaran baru. Pilih Satu kali.
- Saat Anda memasukkan atau memilih metode pembayaran, pilih Opsi selengkapnya kemudian Tarik dana nanti.
Pembayaran muncul di halaman pembayaran Anda sebagai Belum ditarik.
Untuk menarik dana, buka halaman detail pembayaran dan klik Tarik.
Beri tahu Stripe untuk memberi otorisasi saja
Untuk mengisyaratkan bahwa Anda ingin memisahkan otorisasi dan penarikan, tentukan capture_method sebagai manual
ketika membuat PaymentIntent. Parameter ini menginstruksikan Stripe untuk hanya mengotorisasikan jumlah pada metode pembayaran pelanggan tetapi tidak menariknya.
Dengan pendekatan di atas, Anda memberi tahu Stripe bahwa Anda hanya dapat menggunakan “tarik setelah” untuk PaymentIntent dengan metode pembayaran yang memenuhi syarat. Misalnya, Anda tidak dapat menerima pembayaran kartu dan Debit Langsung SEPA (yang tidak mendukung penarikan setelah) untuk satu PaymentIntent. Untuk menerima metode pembayaran yang mungkin tidak semuanya mendukung penarikan setelahnya, Anda dapat melakukan konfigurasi penarikan setelah otoriasi untuk setiap metode pembayaran dengan melakukan konfigurasi capture_
pada objek payment_
.
Misalnya, dengan mengonfigurasi payment_
, Anda hanya menangguhkan pembayaran kartu. Anda dapat mengelola metode pembayaran dari Dashboard. Stripe menangani logika untuk menampilkan secara dinamis metode pembayaran paling relevan yang memenuhi syarat kepada setiap pelanggan berdasarkan faktor-faktor, seperti jumlah transaksi, mata uang, dan alur pembayaran.
Sebagai alternatif, Anda dapat mencantumkan card
dan sepa_
menggunakan tipe metode pembayaran seperti dalam contoh di bawah.
Sebelum melanjutkan penarikan, lampirkan metode pembayaran dengan detail kartu ke PaymentIntent, dan otorisasikan kartu dengan mengonfirmasi PaymentIntent. Anda dapat melakukannya dengan mengatur bidang payment_
dan confirm
pada PaymentIntent.
Otorisasi yang diperpanjang
Biasanya, otorisasi untuk pembayaran kartu online berlaku selama 7 hari. Untuk meningkatkan masa berlaku, Anda dapat menunda pembayaran kartu online dengan jangka waktu yang lebih lama.
Tarik dana
Setelah metode pembayaran diotorisasi, status PaymentIntent bertransisi ke requires_
. Untuk menarik dana yang diotorisasi, buat permintaan penarikan PaymentIntent. Ini akan menarik total jumlah yang diotorisasi secara default. Untuk menarik lebih sedikit atau (untuk pembayaran kartu online tertentu) lebih dari jumlah awal, teruskan opsi amount_to_capture. Penarikan parsial secara otomatis melepaskan sisa jumlah. Jika mencoba menarik lebih dari jumlah awal untuk pembayaran kartu online, lihat dokumentasi penarikan berlebih.
Contoh berikut menunjukkan cara menarik 7,50 USD dari pembayaran 10,99 USD yang diotorisasi:
Walaupun beberapa pembayaran kartu memenuhi syarat untuk penarikan ganda, Anda hanya dapat melakukan satu penarikan pada pembayaran yang diotorisasi untuk sebagian besar pembayaran. Jika menarik sebagian pembayaran, Anda tidak dapat melakukan penarikan lain untuk selisihnya. (Sebagai gantinya, pertimbangkan untuk menyimpan detail metode pembayaran pelanggan untuk nanti dan membuat pembayaran mendatang bila perlu).
Rekening koran kartu dari beberapa penerbit serta antarmuka dari metode pembayaran tidak selalu membedakan antara otorisasi dan pembayaran (diselesaikan) yang ditarik, yang terkadang dapat membingungkan pelanggan.
Selain itu, bila pelanggan menyelesaikan proses pembayaran pada PaymentIntent dengan penarikan manual, hal ini akan memicu kejadian payment_
. Anda dapat memeriksa properti amount_capturable PaymentIntent untuk melihat total jumlah yang dapat ditarik dari PaymentIntent.
Batalkan otorisasi
Jika perlu membatalkan otorisasi, Anda dapat membatalkan PaymentIntent.