Lewati ke konten
Buat akun
atau
Masuk
Logo Dokumen Stripe
/
Tanya AI
Buat akun
Masuk
Mulai
Pembayaran
Pendapatan
Platform dan situs belanja online
Manajemen uang
Alat bantu pengembang
Gambaran Umum
Tentang pembayaran Stripe
Upgrade integrasi Anda
Analitik pembayaran
Pembayaran online
Gambaran umumTemukan contoh penggunaan AndaPembayaran Terkelola
Gunakan Payment Links
Buat halaman checkout
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
    Gambaran umum
    Pembayaran untuk pelanggan yang ada
    Otorisasikan dan tarik pembayaran secara terpisah
    Buat pengalaman konfirmasi dua langkah
    Kumpulkan detail pembayaran sebelum membuat Intent
    Finalisasikan pembayaran di server
    Ambil pesanan pos dan telepon (MOTO)
    Kartu AS dan Kanada
    Teruskan detail kartu ke endpoint API pihak ketiga
    Mata anggaran pembayaran
Akuisisi fleksibel
Orkestrasi
Pembayaran di tempat
Terminal
Produk Stripe lainnya
Financial Connections
Kripto
Climate
BerandaPembayaranCustom payment flows

Lakukan penahanan metode pembayaran

Pisahkan otorisasi pembayaran dan penarikan untuk membuat charge sekarang, tetapi tarik dana nanti.

Salin halaman

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 kartuTransaksi yang diprakarsai merchant Jangka waktu validitas otorisasiTransaksi yang diprakarsai pelanggan Jangka waktu validitas otorisasi
Visa5 hari*7 hari
Mastercard7 hari7 hari
American Express7 hari7 hari
Discover7 hari7 hari

  • Jangka waktu otorisasi yang tepat adalah 4 hari dan 18 jam, agar ada waktu untuk proses kliring.
  • Transaksi dengan kartu fisik (pembayaran di tempat)

    Brand kartuJangka waktu validitas otorisasi
    Visa5 hari*
    Mastercard2 hari
    American Express2 hari
    Discover2 hari

  • Jangka waktu otorisasi yang tepat adalah 4 hari dan 18 jam, agar ada waktu untuk proses kliring.
  • 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.

    1. Di Dashboard, buat pembayaran baru. Pilih Satu kali.
    2. 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.

    Command Line
    cURL
    curl https://api.stripe.com/v1/payment_intents \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d amount=1099 \ -d currency=usd \ -d "payment_method_types[]"=card \ -d capture_method=manual

    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_method=manual pada objek payment_method_options[<payment_method_type>].

    Misalnya, dengan mengonfigurasi payment_method_options[card][capture_method]=manual, 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.

    Command Line
    cURL
    curl https://api.stripe.com/v1/payment_intents \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d amount=1099 \ -d currency=usd \ -d "automatic_payment_methods[enabled]"=true \ -d "payment_method_options[card][capture_method]"=manual

    Sebagai alternatif, Anda dapat mencantumkan card dan sepa_debit menggunakan tipe metode pembayaran seperti dalam contoh di bawah.

    Command Line
    cURL
    curl https://api.stripe.com/v1/payment_intents \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d amount=1099 \ -d currency=eur \ -d "payment_method_types[]"=card \ -d "payment_method_types[]"=sepa_debit \ -d "payment_method_options[card][capture_method]"=manual

    Sebelum melanjutkan penarikan, lampirkan metode pembayaran dengan detail kartu ke PaymentIntent, dan otorisasikan kartu dengan mengonfirmasi PaymentIntent. Anda dapat melakukannya dengan mengatur bidang payment_method 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_capture. 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:

    Command Line
    cURL
    curl https://api.stripe.com/v1/payment_intents/pi_123/capture \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d amount_to_capture=750

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

    Lihat juga

    • Pisahkan otorisasi dan penarikan dengan Checkout
    • Tunda pembayaran kartu online dengan jangka waktu yang lebih lama
    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