Terima pembayaran menggunakan Stripe Elements dan Charges APICharges API
API terdahulu
Isi bagian ini mengacu pada fitur Legacy. Gunakan PaymentIntents API sebagai gantinya.
Charges API tidak mendukung fitur berikut, banyak di antaranya diperlukan untuk kepatuhan kartu kredit:
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 diubah 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.
Untuk menginstal SDK, tambahkan stripe-android
ke blok
dependencies file [
app/build.gradle`](https://developer.android.com/studio/build/dependencies) Anda:
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:
Catatan
Gunakan kunci mode percobaan Anda selagi mencoba dan mengembangkan, serta kunci mode live saat Anda mempublikasikan aplikasi.
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, penuhi pesanan pelanggan dan tunjukkan halaman berhasil kepada mereka. Jika tidak, Anda dapat menunjukkan 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 yang lebih tangguh dan global, pelajari cara menerima pembayaran dengan Payment Intents API.