Lewati ke konten
Buat akun
atau
Masuk
Logo Dokumen Stripe
/
Tanya AI
Buat akun
Masuk
Mulai
Pembayaran
Otomatisasi keuangan
Platform dan situs belanja online
Manajemen uang
Alat bantu pengembang
Mulai
Pembayaran
Otomatisasi keuangan
Mulai
Pembayaran
Otomatisasi keuangan
Platform dan situs belanja online
Manajemen uang
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
    Gambaran umum
    Opsi integrasi metode pembayaran
    Kelola metode pembayaran default di Dashboard
    Tipe metode pembayaran
    Kartu
    Debit bank
    Halaman pembayaran bank
    Transfer bank
    Transfer kredit (Sumber)
    Beli sekarang, bayar nanti
    Pembayaran real-time
    Voucher
    Dompet
      Alipay
      Amazon Pay
      Apple Pay
        Praktik terbaik
        Cartes Bancaires dengan Apple Pay
        Transaksi rutin Apple Pay
        Token merchant Apple Pay
        Pengalihan pertanggungjawaban, sengketa, dan pengembalian dana Apple Pay
      Cash App Pay
      Google Pay
      GrabPay
      Link
      MB WAY
      MobilePay
      PayPal
      PayPay
      Revolut Pay
      Satispay
      Secure Remote Commerce
      Vipps
      WeChat Pay
    Aktifkan metode pembayaran lokal menurut negara
    Metode pembayaran custom
Kelola metode pembayaran
Checkout lebih cepat dengan Link
Antarmuka pembayaran
Payment Links
Checkout
Web Elements
Elements dalam aplikasi
Skenario pembayaran
Alur pembayaran custom
Akuisisi fleksibel
Orkestrasi
Pembayaran di tempat
Terminal
Produk Stripe lainnya
Financial Connections
Kripto
Climate
BerandaPembayaranAdd payment methodsWallets

Apple Pay

Izinkan pelanggan melakukan pembayaran dengan aman menggunakan Apple Pay di iPhone, iPad, atau Apple Watch mereka.

Salin halaman

Perangkat yang didukung

Lihat dokumentasi kompatibilitas Apple untuk mempelajari perangkat mana saja yang mendukung Apple Pay.

Apple Pay kompatibel dengan sebagian besar Stripe produk dan fitur. Pengguna Stripe dapat menerima Apple Pay di aplikasi iOS dalam versi 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 transaksi kartu lainnya.

Apple Pay tersedia untuk pemegang kartu pada bank peserta di negara yang didukung. Untuk informasi selengkapnya, lihat dokumentasi bank peserta dari Apple.

  • Lokasi pelanggan

    Di seluruh dunia, kecuali India

  • Mata uang transaksi

    Lihat mata uang transaksi yang didukung

  • Konfirmasi pembayaran

    Diprakarsai pelanggan

  • Kelompok metode pembayaran

    Dompet digital

  • Pembayaran rutin

    Ya (kecuali Meksiko)

  • Pengaturan waktu payout

    Berlaku pengaturan waktu payout standar

  • Dukungan Connect

    Ya

  • Dukungan sengketa

    Ya

  • Dukungan penarikan manual

    Ya

  • Pengembalian dana/Pengembalian dana sebagian

    Ya / Ya

Alur pembayaran

Berikut adalah demonstrasi alur pembayaran Apple Pay dari halaman checkout Anda:

Animasi alur pembayaran Apple Pay menunjukkan halaman checkout Stripe, tombol Apple Pay, dan dialog konfirmasi saat melakukan percobaan.

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:

  1. Siapkan Stripe
  2. Daftar Apple Merchant ID
  3. Buat sertifikat Apple Pay yang baru
  4. Integrasikan dengan Xcode
  5. Periksa apakah Apple Pay didukung
  6. Buat permintaan pembayaran
  7. Tampilkan lembar pembayaran
  8. Serahkan pembayaran ke Stripe

Siapkan Stripe
Sisi server
Sisi 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:

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Sisi client

Stripe iOS SDK adalah sumber terbuka, yang didokumentasikan lengkap, dan kompatibel dengan aplikasi yang mendukung iOS 13 ke atas.

Untuk menginstal SDK, ikuti langkah-langkah ini:

  1. In Xcode, select File > Add Package Dependencies… and enter https://github.com/stripe/stripe-ios-spm as the repository URL.
  2. Pilih nomor versi terbaru dari halaman rilis kami.
  3. Tambahkan produk StripeApplePay ke target aplikasi Anda.

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.

AppDelegate.swift
Swift
import UIKit import StripeApplePay @main class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { StripeAPI.defaultPublishableKey =
"pk_test_TYooMQauvdEDq54NiTphI7jx"
// do any other necessary launch configuration return true } }

Catatan

Use your test keys while you test and develop, and your live mode keys when you publish your app.

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.com.{{YOUR_APP_NAME}}).

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

Jika Anda menggunakan PaymentSheet, selebihnya akan ditangani kelas itu untuk Anda.

Sebelum menampilkan Apple Pay sebagai opsi pembayaran di aplikasi Anda, tentukan apakah perangkat pengguna mendukung Apple Pay dan memiliki kartu yang ditambahkan ke dompetnya:

CheckoutViewController.swift
Swift
import StripeApplePay import PassKit class CheckoutViewController: UIViewController, ApplePayContextDelegate { let applePayButton: PKPaymentButton = PKPaymentButton(paymentButtonType: .plain, paymentButtonStyle: .black) override func viewDidLoad() { super.viewDidLoad() // Only offer Apple Pay if the customer can pay with it applePayButton.isHidden = !StripeAPI.deviceSupportsApplePay() applePayButton.addTarget(self, action: #selector(handleApplePayButtonTapped), for: .touchUpInside) } // ...continued in next step }

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.

CheckoutViewController.swift
Swift
func handleApplePayButtonTapped() { let merchantIdentifier = "merchant.com.your_app_name" let paymentRequest = StripeAPI.paymentRequest(withMerchantIdentifier: merchantIdentifier, country: "US", currency: "USD") // Configure the line items on the payment request paymentRequest.paymentSummaryItems = [ // The final line should represent your company; // it'll be prepended with the word "Pay" (that is, "Pay iHats, Inc $50") PKPaymentSummaryItem(label: "iHats, Inc", amount: 50.00), ] // ...continued in next step }

Tampilkan lembar pembayaran

Buat instance STPApplePayContext dengan PKPaymentRequest dan gunakan untuk menyajikan lembar Apple Pay:

CheckoutViewController.swift
Swift
func handleApplePayButtonTapped() { // ...continued from previous step // Initialize an STPApplePayContext instance if let applePayContext = STPApplePayContext(paymentRequest: paymentRequest, delegate: self) { // Present Apple Pay payment sheet applePayContext.presentApplePay(on: self) } else { // There is a problem with your Apple Pay configuration } }

Apple mengharuskan isyarat pengguna untuk memicu modal Apple Pay (misalnya, mengklik tombol atau berinteraksi dengan formulir). Pastikan kode Anda mematuhi hal berikut:

  • Aktifkan lembar pembayaran secara langsung dengan kejadian aktivasi pengguna.
  • Tambahkan kode untuk lembar pembayaran pada atau di dekat bagian atas handler kejadian isyarat pengguna Anda, sebelum kode asinkron atau yang berjalan lama.
  • Tetapkan batas waktu yang wajar untuk memanggil confirmPayment setelah isyarat pengguna.

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.

Command Line
curl
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=1099 \ -d "currency"="usd"

Sisi klien

Terapkan applePayContext(_:didCreatePaymentMethod:completion:) untuk memanggil blok penyelesaian dengan client secret PaymentIntent yang diambil dari endpoint di atas.

Setelah Anda memanggil blok penyelesaian, STPApplePayContext menyelesaikan pembayaran, menutup lembar Apple Pay, dan memanggil applePayContext(_:didCompleteWithStatus:error:) bersama status pembayaran. Terapkan metode ini untuk menunjukkan resi kepada pelanggan Anda.

CheckoutViewController.swift
Swift
extension CheckoutViewController { func applePayContext(_ context: STPApplePayContext, didCreatePaymentMethod paymentMethod: StripeAPI.PaymentMethod, paymentInformation: PKPayment, completion: @escaping STPIntentClientSecretCompletionBlock) { let clientSecret = ... // Retrieve the PaymentIntent client secret from your backend (see Server-side step above) // Call the completion block with the client secret or an error completion(clientSecret, error) } func applePayContext(_ context: STPApplePayContext, didCompleteWith status: STPApplePayContext.PaymentStatus, error: Error?) { switch status { case .success: // Payment succeeded, show a receipt view break case .error: // Payment failed, show the error break case .userCancellation: // User canceled the payment break @unknown default: fatalError() } } }

Terakhir, tangani kejadian pascapembayaran untuk melakukan hal-hal seperti mengirim email konfirmasi pesanan kepada pelanggan Anda, memasukkan penjualan di database, atau memulai alur kerja pengiriman.

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:

  1. Di dependensi target App Clip Anda, ganti modul Stripe dengan modul StripeApplePay.
  2. Di kode Anda, ganti import Stripe dengan import StripeApplePay.
  3. Ganti penggunaan STPApplePayContextDelegate Anda dengan protokol ApplePayContextDelegate baru.
  4. Ubah implementasi applePayContext(_:didCreatePaymentMethod:completion:) untuk menerima StripeAPI.PaymentMethod.
  5. Ubah penerapan applePayContext(_:didCompleteWith:error:) Anda untuk menerima STPApplePayContext.PaymentStatus.
Sebelum
Setelah
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.

CheckoutViewController.swift
Swift
extension CheckoutViewController { func handleApplePayButtonTapped() { let request = StripeAPI.paymentRequest(withMerchantIdentifier: merchantIdentifier, country: "US", currency: "USD") let billing = PKRecurringPaymentSummaryItem(label: "My Subscription", amount: NSDecimalNumber(string: "59.99")) billing.startDate = Date() billing.endDate = Date().addingTimeInterval(60 * 60 * 24 * 365) billing.intervalUnit = .month request.recurringPaymentRequest = PKRecurringPaymentRequest(paymentDescription: "Recurring", regularBilling: billing, managementURL: URL(string: "https://my-backend.example.com/customer-portal")!) request.recurringPaymentRequest?.billingAgreement = "You'll be billed $59.99 every month for the next 12 months. To cancel at any time, go to Account and click 'Cancel Membership.'" request.paymentSummaryItems = [billing] } }

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:

  1. Ambil detail pesanan dari server Anda untuk pesanan yang sudah selesai.
  2. Tambahkan detail ini ke PKPaymentAuthorizationResult yang diberikan.
  3. Panggil penangan penyelesaian yang disediakan di antrean utama.

Untuk mempelajari pelacakan pesanan lebih lanjut, lihat dokumentasi Apple’s Wallet Orders.

CheckoutViewController.swift
Swift
extension CheckoutViewController { func applePayContext(_ context: STPApplePayContext, willCompleteWithResult authorizationResult: PKPaymentAuthorizationResult, handler: @escaping (PKPaymentAuthorizationResult) -> Void) { // Fetch the order details from your service MyAPIClient.shared.fetchOrderDetails(orderID: myOrderID) { myOrderDetails authorizationResult.orderDetails = PKPaymentOrderDetails( orderTypeIdentifier: myOrderDetails.orderTypeIdentifier, // "com.myapp.order" orderIdentifier: myOrderDetails.orderIdentifier, // "ABC123-AAAA-1111" webServiceURL: myOrderDetails.webServiceURL, // "https://my-backend.example.com/apple-order-tracking-backend" authenticationToken: myOrderDetails.authenticationToken) // "abc123" // Call the handler block on the main queue with your modified PKPaymentAuthorizationResult handler(authorizationResult) } } }

Apple Pay percobaan

Untuk mencoba Apple Pay, Anda harus menggunakan nomor kartu kredit dan kunci API percobaan Anda. Stripe mengenali bahwa Anda sedang mencoba dan mengembalikan token kartu percobaan yang berhasil untuk Anda gunakan, sehingga Anda dapat melakukan pembayaran percobaan pada kartu live tanpa men-charge-nya.

Anda tidak dapat menyimpan kartu percobaan Stripe atau kartu percobaan Apple Pay ke dompet Apple Pay untuk mencoba Apple Pay.

Lihat juga

  • iOS Integration
  • Apple Pay on the Web
  • Praktik Terbaik Apple Pay
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