Terima pembayaran menggunakan Stripe Elements dan Charges APICharges API
Terima pembayaran online dari pelanggan AS dan Kanada.
API terdahulu
The content of this section refers to a Legacy feature. Use the Payment Intents API instead.
Charges API tidak mendukung fitur berikut, banyak di antaranya diperlukan untuk kepatuhan kartu kredit:
- Merchant di India
- Bank requests for card authentication
- Strong Customer Authentication
Gunakan komponen UI kartu siap-rakit kami untuk membuat formulir pembayaran yang mengumpulkan detail kartu pelanggan dengan aman tanpa menangani data sensitif. Detail kartu kemudian dikonversi menjadi Token representatif yang dapat Anda kirim dengan aman ke server. Server Anda dapat menggunakan token itu untuk membuat charge.
Catatan
Langkah-langkah dalam panduan ini diimplementasikan sepenuhnya di GitHub. Gandakan repositori dan ikuti instruksi untuk menjalankan aplikasi demo.
Siapkan StripeSisi clientSisi server
Sisi server
Integrasi ini memerlukan endpoint di server Anda yang berbicara dengan API Stripe. Gunakan pustaka resmi kami untuk akses ke API Stripe dari server Anda:
Sisi client
Stripe Android SDK adalah sumber terbuka dan didokumentasikan lengkap.
To install the SDK, add stripe-android
to the dependencies
block of your app/build.gradle file:
Catatan
Untuk detail mengenai rilis SDK terbaru dan versi sebelumnya, lihat halaman Rilis di GitHub. Untuk menerima notifikasi bila rilis baru diterbitkan, lihat rilis untuk repositori.
Konfigurasikan SDK dengan kunci yang dapat dipublikasikan Stripe agar dapat membuat permintaan ke API Stripe, seperti di subkelas Application
Anda:
Buat formulir pembayaran AndaSisi client
Kumpulkan informasi kartu dengan aman pada client dengan CardInputWidget, komponen UI drop-in yang disediakan oleh SDK yang mengumpulkan nomor kartu, tanggal kedaluwarsa, CVC, dan kode pos
CardInputWidget melakukan validasi dan pemformatan sambil memproses.
Buat instance komponen kartu dan tombol Bayar dengan menambahkan yang berikut ini ke layout halaman checkout Anda:
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:showIn="@layout/activity_checkout" tools:context=".CheckoutActivity"> <!-- ... --> <com.stripe.android.view.CardInputWidget android:id="@+id/cardInputWidget" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginRight="20dp"/> <Button android:text="Pay" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/payButton" android:layout_marginTop="20dp" app:layout_constraintTop_toBottomOf="@+id/cardInputWidget" app:layout_constraintStart_toStartOf="@+id/cardInputWidget" app:layout_constraintEnd_toEndOf="@+id/cardInputWidget"/> <!-- ... --> </androidx.constraintlayout.widget.ConstraintLayout>
Jalankan aplikasi Anda dan pastikan halaman checkout menampilkan komponen kartu dan tombol bayar.
Buat tokenSisi client
Saat pengguna mengetuk tombol bayar, ubah informasi kartu yang dikumpulkan oleh CardInputWidget
menjadi token Stripe. Tokenisasi memastikan tidak ada data kartu sensitif yang masuk ke server Anda, sehingga integrasi Anda tetap patuh PCI.
Kode berikut menampilkan cara menggunakan Stripe#createToken(). Metode ini mengambil instance Card
sebagai parameter pertama. Parameter kedua adalah instance ApiResultCallback<Token> yang dipanggil client bila berhasil atau gagal. Bila tokenisasi berhasil diselesaikan, kirim identifikasi token yang dikembalikan ke server Anda.
Kirim Token id ke server Anda dari client.
Buat charge dengan tokenSisi server
Respons pembuatan charge akan berupa charge atau kesalahan bersama kode kesalahan. Jika respons berhasil, Anda dapat memenuhi pesanan pelanggan dan memperlihatkan halaman berhasil kepada mereka. Jika tidak, Anda dapat memperlihatkan kesalahan kepada mereka.
Coba integrasi Anda
Jika Anda dapat memasukkan kartu percobaan dengan cara yang bisa dipercaya dalam elemen kartu, menyerahkannya ke server, dan memastikan server Anda membuat charge, berarti integrasi Anda selesai.
Anda telah membuat integrasi Charges API untuk mulai menerima pembayaran kartu dengan segera. API ini tidak mendukung penskalaan bisnis atau pelanggan di luar AS dan Kanada. Untuk pembayaran global yang lebih lengkap, pelajari cara menerima pembayaran dengan Payment Intents API.