# Payment Methods API Pelajari tentang API yang memungkinkan Anda menerima berbagai metode pembayaran global. Payment Methods API memungkinkan Anda menerima berbagai metode pembayaran melalui satu API. Objek [PaymentMethod](https://docs.stripe.com/api/payment_methods/object.md) berisi detail metode pembayaran untuk melakukan pembayaran. Dengan Payment Methods API, Anda dapat menggabungkan *PaymentMethod* (PaymentMethods represent your customer's payment instruments, used with the Payment Intents or Setup Intents APIs): - Dengan [PaymentIntent](https://docs.stripe.com/api/payment_intents.md) untuk menerima pembayaran - Dengan [SetupIntent](https://docs.stripe.com/api/setup_intents.md) dan *Pelanggan* (Customer objects represent customers of your business. They let you reuse payment methods and give you the ability to track multiple payments) 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](https://stripe.com/payments/payment-methods-guide). Panduan ini mencakup metode pembayaran yang tersedia untuk berbagai wilayah, keterangan mendetail tentang karakteristik setiap metode pembayaran, dan [wilayah geografis](https://stripe.com/payments/payment-methods-guide#payment-methods-fact-sheets) tempat metode pembayaran tersebut paling relevan. Anda dapat mengaktifkan metode pembayaran yang tersedia untuk Anda di [Dashboard](https://dashboard.stripe.com). Aktivasi biasanya terjadi seketika itu juga serta tidak memerlukan kontrak tambahan. ## Tindakan pelanggan Beberapa metode pembayaran mengharuskan pelanggan Anda mengambil langkah tambahan untuk menyelesaikan pembayaran. Parameter `next_action` 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. > Untuk metode pembayaran yang memerlukan tindakan pelanggan, konfigurasikan [endpoint webhook](https://docs.stripe.com/payments/payment-methods.md#webhooks) untuk notifikasi mengenai berhasil atau tidaknya pembayaran. ## Notifikasi segera atau tertunda dari keberhasilan pembayaran Beberapa metode pembayaran langsung mengembalikan status pembayaran saat transaksi dicoba (misalnya, pembayaran kartu), tetapi metode lain memiliki penundaan seperti debit ACH. Untuk metode yang langsung mengembalikan status pembayaran, status PaymentIntent akan berubah menjadi `berhasil` atau `requires_payment_method`. Status `berhasil` menjamin bahwa Anda akan menerima dana dari pelanggan Anda. 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. > ​​Untuk metode pembayaran dengan notifikasi yang tertunda, konfigurasikan [endpoint webhook](https://docs.stripe.com/payments/payment-methods.md#webhooks) untuk notifikasi mengenai berhasil atau tidaknya pembayaran. ## 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](https://docs.stripe.com/strong-customer-authentication.md)). Metode pembayaran yang dapat digunakan kembali dapat [disiapkan untuk penggunaan mendatang ketika menerima pembayaran](https://docs.stripe.com/payments/save-during-payment.md) atau [disiapkan untuk penggunaan mendatang tanpa mengambil pembayaran](https://docs.stripe.com/payments/save-and-reuse.md). Metode pembayaran sekali pakai (misalnya, beberapa jenis transfer bank) tidak dapat dikaitkan dengan pelanggan karena langsung terpakai setelah upaya pembayaran. ## Gunakan webhook untuk melacak status pembayaran Konfigurasikan webhook dengan membuat [endpoint webhook atau tipe tujuan kejadian lainnya](https://docs.stripe.com/event-destinations.md) untuk metode pembayaran yang memerlukan tindakan pelanggan atau bila notifikasi pembayaran tertunda. Stripe mengirim kejadian berikut bila status `PaymentIntent` diperbarui: | Kejadian | Keterangan | Langkah berikutnya | | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- | | `payment_intent.processing` | Pembayaran pelanggan berhasil diserahkan ke Stripe. Hanya berlaku untuk metode pembayaran dengan [notifikasi yang tertunda](https://docs.stripe.com/payments/payment-methods.md#payment-notification). | Tunggu pembayaran yang diprakarsai berhasil atau gagal. | | `payment_intent.succeeded` | Pembayaran berhasil. | Penuhi barang atau layanan yang dibeli. | | `payment_intent.payment_failed` | Pembayaran gagal. | Kirim email atau notifikasi otomatis untuk meminta metode pembayaran yang lain. | Anda juga dapat menggunakan opsi berikut, bukan menyiapkan tujuan kejadian untuk mendengarkan kejadian: - 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](https://dashboard.stripe.com/test/payments), 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](https://stripe.partners/?f_category=automation) atau [pemasaran dan penjualan](https://stripe.partners/?f_category=marketing-and-sales), 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](https://docs.stripe.com/payments/paymentintents/lifecycle.md). Setiap PaymentMethod memiliki [atribut tipe](https://docs.stripe.com/api/payment_methods/object.md#payment_method_object-type) (misalnya, `"type": "sepa_debit"` ) dan sebuah hash tambahan yang namanya sesuai dengan tipe dan berisi informasi khusus untuk tipe PaymentMethod (misalnya, `"sepa_debit":{}`). Contoh objek PaymentMethod `sepa_debit`: ```json { "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", (...) } ``` > Untuk menangani informasi pembayaran yang sensitif dengan aman dan menangani tindakan pelanggan secara otomatis, Stripe merekomendasikan Anda membuat metode pembayaran menggunakan [Stripe.js](https://docs.stripe.com/js.md#stripe-create-payment-method). ## See also - [Panduan Metode Pembayaran](https://stripe.com/payments/payment-methods-guide) - [Referensi Payment Methods API](https://docs.stripe.com/api/payment_methods.md)