Apple Pay
Izinkan pelanggan melakukan pembayaran dengan aman menggunakan Apple Pay di iPhone, iPad, atau Apple Watch mereka.
Apple Pay kompatibel dengan sebagian besar produk dan fitur Stripe. Pengguna Stripe dapat menerima Apple Pay dalam aplikasi iOS di iOS 9 ke atas, serta pada web di Safari mulai dari iOS 10 atau macOS Sierra. Tidak ada biaya tambahan untuk memproses pembayaran Apple Pay, dan skema biaya sama dengan yang digunakan transaksi kartu lain.
Apple Pay tersedia untuk pemegang kartu pada bank peserta di negara yang didukung. Untuk informasi selengkapnya, lihat dokumentasi bank peserta dari Apple.
Alur pembayaran
Below is a demonstration of the Apple Pay payment flow from your checkout page:
Menggunakan Stripe dan Apple Pay versus pembelian dalam aplikasi
Untuk penjualan barang fisik, layanan, dan hal tertentu lainnya, aplikasi Anda dapat menerima Apple Pay atau metode pembayaran lain yang didukung Stripe. Pembayaran tersebut diproses melalui Stripe, dan Anda hanya perlu membayar biaya pemrosesan Stripe. Namun, penjualan produk digital, konten, dan hal tertentu lainnya harus menggunakan pembelian dalam aplikasi Apple. Pembayaran tersebut diproses oleh Apple serta dikenakan biaya transaksinya.
Untuk informasi selengkapnya tentang penjualan mana yang harus menggunakan pembelian dalam aplikasi, lihat Pedoman Peninjauan App Store Apple.
Terima Apple Pay
Stripe menawarkan berbagai metode untuk menambahkan Apply Pay sebagai metode pembayaran. Untuk detail integrasi, pilih metode yang Anda sukai:
Dengan Stripe iOS SDK, Anda dapat menerima pembayaran Apple Pay maupun kartu kredit yang umum. Sebelum memulai, Anda perlu terdaftar dalam Apple Developer Program. Berikutnya, ikuti langkah-langkah ini:
- Siapkan Stripe
- Daftar Apple Merchant ID
- Buat sertifikat Apple Pay yang baru
- Integrasikan dengan Xcode
- Periksa apakah Apple Pay didukung
- Buat permintaan pembayaran
- Tampilkan lembar pembayaran
- Serahkan pembayaran ke Stripe
Siapkan StripeSisi serverSisi klien
Pertama, Anda membutuhkan akun Stripe. Daftar sekarang.
Sisi server
Integrasi ini memerlukan endpoint di server Anda yang berinteraksi dengan Stripe API. Gunakan pustaka resmi untuk akses ke Stripe API dari server Anda:
Sisi client
Stripe iOS SDK adalah sumber terbuka, yang didokumentasikan lengkap, dan kompatibel dengan aplikasi yang mendukung iOS 13 ke atas.
Catatan
For details on the latest SDK release and past versions, see the Releases page on GitHub. To receive notifications when a new release is published, watch releases for the repository.
Konfigurasikan SDK dengan kunci yang dapat dipublikasikan saat aplikasi dimulai. Hal ini memungkinkan aplikasi Anda membuat permintaan ke Stripe API.
Mendaftar Apple Merchant ID
Dapatkan Apple Merchant ID dengan mendaftar identifier baru di situs web Apple Developer.
Isi formulir dengan keterangan dan identifier. Keterangan adalah untuk catatan Anda sendiri dan nanti dapat diubah. Stripe merekomendasikan penggunaan nama aplikasi Anda sebagai identifier (misalnya, merchant.
).
Buat sertifikat Apple Pay yang baru
Buat sertifikat untuk aplikasi Anda guna mengenkripsi data pembayaran.
Buka Pengaturan Sertifikat iOS di Dashboard, klik Tambahkan aplikasi baru, dan ikuti panduannya.
Unduh file Permintaan Penandatanganan Sertifikat (CSR) untuk mendapatkan sertifikat aman dari Apple yang memungkinkan Anda menggunakan Apple Pay.
Satu file CSR harus digunakan untuk menerbitkan tepat satu sertifikat. Jika Anda mengganti Apple Merchant ID, Anda harus membuka Pengaturan Sertifikat iOS di Dashboard untuk mendapatkan CSR dan sertifikat baru.
Integrasikan dengan Xcode
Tambahkan kemampuan Apple Pay ke aplikasi Anda. Di Xcode, buka pengaturan proyek, klik tab Signing & Capabilities, dan tambahkan kemampuan Apple Pay. Pada saat ini Anda mungkin diminta untuk masuk ke akun pengembang. Pilih identifikasi merchant yang Anda buat sebelumnya, dan aplikasi Anda siap menyetujui Apple Pay.
Aktifkan kemampuan Apple Pay di Xcode
Periksa apakah Apple Pay didukung
Catatan
If you’re using PaymentSheet, that class handles the rest for you.
Sebelum menampilkan Apple Pay sebagai opsi pembayaran di aplikasi Anda, tentukan apakah perangkat pengguna mendukung Apple Pay dan memiliki kartu yang ditambahkan ke dompetnya:
Buat permintaan pembayaran
Saat pengguna mengetuk tombol Apple Pay, panggil StripeAPI paymentRequestWithMerchantIdentifier:country:currency: untuk membuat PKPaymentRequest.
Kemudian, konfigurasikan PKPaymentRequest
untuk menampilkan nama bisnis Anda dan totalnya. Anda juga dapat mengumpulkan informasi seperti detail tagihan atau informasi pengiriman.
Lihat dokumentasi Apple untuk panduan lengkap tentang cara menyesuaikan permintaan pembayaran.
Tampilkan lembar pembayaran
Buat instance STPApplePayContext dengan PKPaymentRequest
dan gunakan untuk menyajikan lembar Apple Pay:
Serahkan pembayaran ke Stripe
Sisi server
Buat endpoint yang menciptakan PaymentIntent dengan jumlah dan mata uang. Selalu putuskan berapa banyak yang akan di-charge pada sisi server, lingkungan tepercaya, bukan ke sisi client. Hal ini mencegah pelanggan jahat memilih harga mereka sendiri.
Sisi klien
Pemecahan Masalah
Jika Anda melihat kesalahan dari Stripe API saat mencoba membuat token, kemungkinan besar Anda mengalami masalah dengan Apple Pay Certificate. Anda harus membuat sertifikat baru dan mengunggahnya ke Stripe, seperti yang dijelaskan di halaman ini. Pastikan Anda menggunakan CSR yang diperoleh dari Dashboard dan bukan yang Anda buat sendiri. Xcode sering salah menyimpan sertifikat lama dalam cache, jadi selain membuat sertifikat baru, Stripe juga merekomendasikan untuk membuat Apple Merchant ID baru.
Jika Anda menerima kesalahan:
Anda belum menambahkan akun merchant Apple ke Stripe
kemungkinan aplikasi Anda mengirimkan data yang dienkripsi dengan CSR/Sertifikat (non-Stripe) sebelumnya. Pastikan semua sertifikat yang dihasilkan oleh CSR non-Stripe dicabut dengan Apple Merchant ID Anda. Jika hal ini tidak memecahkan masalah, hapus identifikasi merchant di akun Apple Anda dan buat kembali. Kemudian, buat sertifikat baru berdasarkan CSR (disediakan Stripe) yang sama dengan yang digunakan sebelumnya. Anda tidak perlu mengunggah sertifikat baru ini ke Stripe. Setelah selesai, nonaktifkan dan aktifkan Apple Pay Credentials di aplikasi Anda untuk memastikannya dimuat kembali dengan benar.
App Clips
Modul StripeApplePay
adalah SDK Stripe ringan yang dioptimalkan untuk penggunaan di App Clip. Ikuti langkah di atas untuk menambahkan modul StripeApplePay
ke target App Clip Anda.
Catatan
Modul StripeApplePay
hanya didukung di Swift. Pengguna Objective-C harus mengimpor STPApplePayContext
dari modul Stripe
.
Bermigrasi dari STPApplePayContext
Jika Anda adalah pengguna STPApplePayContext
dan ingin beralih ke SDK Apple Pay ringan, ikuti langkah-langkah berikut:
- Di dependensi target App Clip Anda, ganti modul
Stripe
dengan modulStripeApplePay
. - Di kode Anda, ganti
import Stripe
denganimport StripeApplePay
. - Ganti penggunaan
STPApplePayContextDelegate
Anda dengan protokolApplePayContextDelegate
baru. - Ubah implementasi
applePayContext(_
untuk menerima:didCreatePaymentMethod:completion:) StripeAPI.
.PaymentMethod - Ubah penerapan
applePayContext(_
Anda untuk menerima:didCompleteWith:error:) STPApplePayContext.
.PaymentStatus
import Stripe class CheckoutViewController: UIViewController, STPApplePayContextDelegate { func applePayContext(_ context: STPApplePayContext, didCreatePaymentMethod paymentMethod: STPPaymentMethod, paymentInformation: PKPayment, completion: @escaping STPIntentClientSecretCompletionBlock) { // ... } func applePayContext(_ context: STPApplePayContext, didCompleteWith status: STPPaymentStatus, error: Error?) { // ... } }
import StripeApplePay class CheckoutViewController: UIViewController, ApplePayContextDelegate { func applePayContext(_ context: STPApplePayContext, didCreatePaymentMethod paymentMethod: StripeAPI.PaymentMethod, paymentInformation: PKPayment, completion: @escaping STPIntentClientSecretCompletionBlock) { // ... } func applePayContext(_ context: STPApplePayContext, didCompleteWith status: STPApplePayContext.PaymentStatus, error: Error?) { // ... } }
Pembayaran rutin
Di iOS 16 atau lebih baru, Anda dapat mengadopsi token merchant dengan menyetel properti recurringPaymentRequest
atau automaticReloadPaymentRequest
di PKPaymentRequest
.
Untuk mempelajari lebih lanjut cara menggunakan pembayaran rutin dengan Apple Pay, lihat dokumentasi Apple PassKit.
Pelacakan pesanan
Untuk memakai pelacakan pesanan di iOS 16 atau yang lebih baru, implementasikan fungsi applePayContext(context:willCompleteWithResult:handler:) di ApplePayContextDelegate
Anda. Stripe memanggil implementasi Anda setelah pembayaran selesai, tetapi sebelum iOS menutup lembar Apple Pay.
Dalam implementasi Anda:
- Ambil detail pesanan dari server Anda untuk pesanan yang sudah selesai.
- Tambahkan detail ini ke PKPaymentAuthorizationResult yang diberikan.
- Panggil penangan penyelesaian yang disediakan di antrean utama.
Untuk mempelajari pelacakan pesanan lebih lanjut, lihat dokumentasi Apple’s Wallet Orders.
Mencoba Apple Pay
Informasi kartu percobaan Stripe tidak dapat disimpan ke Wallet di iOS. Sebagai gantinya, Stripe mengenali bila Anda menggunakan kunci API percobaan dan mengembalikan token kartu percobaan yang berhasil untuk Anda gunakan. Hal ini memungkinkan Anda melakukan pembayaran percobaan menggunakan kartu live tanpa dikenakan charge.