KoderKoder.ai
HargaEnterpriseEdukasiUntuk investor
MasukMulai

Produk

HargaEnterpriseUntuk investor

Sumber daya

Hubungi kamiDukunganEdukasiBlog

Legal

Kebijakan privasiKetentuan penggunaanKeamananKebijakan penggunaan yang dapat diterimaLaporkan penyalahgunaan

Sosial

LinkedInTwitter
Koder.ai
Bahasa

© 2026 Koder.ai. Hak cipta dilindungi.

Beranda›Blog›Apple Pay di Aplikasi Mobile: Apa Itu dan Bagaimana Cara Kerjanya
14 Okt 2025·8 menit

Apple Pay di Aplikasi Mobile: Apa Itu dan Bagaimana Cara Kerjanya

Pelajari apa itu Apple Pay di aplikasi mobile, bagaimana cara kerjanya di balik layar, dan bagaimana mengintegrasikannya dengan aman untuk mempercepat checkout dan meningkatkan konversi.

Apple Pay di Aplikasi Mobile: Apa Itu dan Bagaimana Cara Kerjanya

Apa itu Apple Pay dan Mengapa Penting di Aplikasi Mobile

Apa itu Apple Pay

Apple Pay adalah dompet digital dan layanan pembayaran milik Apple. Ini memungkinkan pengguna menyimpan kartu kredit, debit, serta beberapa kartu prabayar dan kartu toko secara aman di iPhone, Apple Watch, iPad, atau Mac, lalu membayar dengan satu ketukan atau pandangan.

Alih‑alih memasukkan nomor kartu dan rincian penagihan, pengguna melakukan otentikasi dengan Face ID, Touch ID, atau passcode perangkat. Apple menghasilkan token khusus perangkat sehingga nomor kartu asli tidak dibagikan kepada merchant.

Di mana Apple Pay bekerja

Apple Pay bekerja dalam tiga konteks utama:

  • Di toko: Pembayaran nirsentuh menggunakan NFC pada iPhone atau Apple Watch di terminal fisik.
  • Di web: Checkout di Safari pada iOS dan macOS, biasanya dari halaman produk atau keranjang.
  • Di dalam aplikasi (in‑app): Lembar pembayaran native di dalam aplikasi iOS dan iPadOS, dipicu langsung dari tombol checkout atau bayar aplikasi.

Panduan ini fokus pada Apple Pay in‑app, di mana seluruh pengalaman pembayaran tetap di dalam aplikasi.

Mengapa ini penting di aplikasi mobile

Mengetik rincian kartu di layar kecil itu lambat dan rawan kesalahan. Apple Pay menggantikan banyak field formulir dengan satu interaksi, yang biasanya:

  • Memperpendek waktu checkout
  • Mengurangi pengabaian keranjang
  • Meningkatkan pesanan yang terselesaikan dan pendaftaran langganan

Karena kartu dan alamat sudah tersimpan di perangkat, Apple Pay juga mengurangi gesekan untuk pelanggan pertama kali.

Ketersediaan dan kapan menggunakannya

Apple Pay bekerja pada model iPhone, iPad, Apple Watch, dan Mac terbaru di wilayah yang didukung, dengan jaringan besar seperti Visa, Mastercard, American Express, dan beberapa skema lokal, tergantung bank penerbit.

Apple Pay paling cocok ketika:

  • Audiens Anda menggunakan perangkat iOS dalam volume berarti
  • Anda melihat drop‑off saat entri pembayaran atau alamat
  • Anda ingin menerima pembayaran kartu tanpa menangani data kartu mentah

Apple Pay harus berdampingan dengan formulir kartu tradisional dan wallet lain, bukan menggantikannya sepenuhnya, sehingga pengguna tanpa Apple Pay tetap bisa membayar.

Bagaimana Apple Pay Bekerja di Balik Layar

Apple Pay menyembunyikan banyak kompleksitas di balik pengalaman sederhana “double‑click to pay”. Di baliknya, beberapa pihak dan lapisan keamanan berkoordinasi untuk memindahkan uang dengan aman.

Pemain Kunci

Transaksi Apple Pay khas melibatkan:

  • Pengguna: Pemilik perangkat dan kartu.
  • Bank penerbit: Bank yang menerbitkan kartu pembayaran pengguna.
  • Jaringan kartu: Visa, Mastercard, Amex, dll.
  • Apple: Menyediakan Wallet, keamanan perangkat, dan infrastruktur tokenisasi.
  • Merchant: Aplikasi atau bisnis Anda yang menerima pembayaran.
  • PSP / payment gateway / acquirer: Memproses pembayaran untuk merchant dan menghubungkan ke jaringan kartu.

Tokenisasi: DPAN vs FPAN

Saat pengguna menambahkan kartu ke Apple Wallet, nomor kartu asli (FPAN, Funding Primary Account Number) dikirim dengan aman ke jaringan kartu dan penerbit. Mereka merespons dengan DPAN (Device Primary Account Number) plus kunci kriptografis yang unik untuk perangkat tersebut.

DPAN yang digunakan Apple Pay saat transaksi. Aplikasi dan backend Anda tidak pernah melihat FPAN. Inilah inti model tokenisasi Apple Pay: perangkat menggunakan nomor kartu pengganti dan kriptogram sekali pakai alih‑alih mengekspos nomor kartu asli.

Secure Element dan Pembuatan Token Pembayaran

Pada perangkat yang didukung, kredensial dan kunci pembayaran disimpan di Secure Element (atau dilindungi melalui Secure Enclave). Ketika pengguna mengautentikasi (Face ID, Touch ID, atau passcode), Secure Element:

  1. Menggunakan DPAN dan kunci unik untuk membuat payment cryptogram.
  2. Menyusun token pembayaran Apple Pay yang berisi:
    • DPAN
    • Kriptogram spesifik transaksi
    • Metadata lain (masa berlaku, jaringan, dll.)
  3. Mengenkripsi token ini untuk payment processor Anda menggunakan public key mereka.

Aplikasi Anda menerima token terenkripsi dan opak ini melalui API Apple Pay dan mengirimkannya ke backend, yang meneruskannya ke PSP atau gateway.

Otorisasi dan Settlement

PSP mendekripsi token, mengekstrak DPAN dan kriptogram, lalu mengirimkan authorization request melalui jaringan kartu ke bank penerbit. Penerbit memvalidasi kriptogram dan status kartu, lalu menyetujui atau menolak.

Kemudian, selama settlement, jumlah yang diotorisasi ditangkap, dibatch, dan dipindahkan dari bank penerbit ke bank akuisisi merchant. Bagi aplikasi Anda ini hanyalah penyelesaian capture atau sale, tetapi di balik layar dikoordinasikan antara acquirer, jaringan kartu, dan penerbit menggunakan DPAN—bukan nomor kartu asli pelanggan.

Persyaratan dan Prasyarat untuk Menggunakan Apple Pay

Sebelum menambahkan Apple Pay ke aplikasi, Anda perlu memenuhi sekumpulan persyaratan teknis, bisnis, dan regional.

Akun Apple dan Identifier

Di sisi merchant Anda harus memiliki:

  • Akun Apple Developer Program aktif (berbayar)
  • App ID dengan capability Apple Pay diaktifkan di Xcode
  • Setidaknya satu Apple Pay Merchant ID
  • Sertifikat Payment Processing yang terkait dengan Merchant ID tersebut

Banyak merchant juga membuat Merchant Identity certificate untuk validasi merchant selama alur web atau hybrid.

Platform dan Versi OS yang Didukung

Apple Pay in‑app didukung pada:

  • Perangkat iOS dan iPadOS dengan Touch ID atau Face ID, atau Apple Watch yang terpasang
  • Versi OS terbaru (sebagai pedoman umum, target iOS 12+ kecuali ada alasan kuat tidak)

Periksa dokumentasi Apple terbaru untuk dukungan OS minimum, terutama jika Anda mengandalkan API baru.

Ketersediaan Regional dan Bank

Apple Pay tidak tersedia di setiap negara atau untuk setiap bank. Anda perlu memastikan:

  • Apple Pay didukung di wilayah penjualan Anda
  • Jaringan kartu utama yang Anda terima (Visa, Mastercard, Amex, dll.) mendukung Apple Pay di sana
  • Bank akuisisi atau payment service provider (PSP) Anda dapat memproses transaksi Apple Pay di pasar tersebut

Kategori Merchant dan Barang yang Diizinkan

Apple mungkin membatasi kategori merchant dan kasus penggunaan tertentu (mis. barang ilegal, beberapa konten digital atau layanan, industri berisiko tinggi). Verifikasi bahwa:

  • Merchant Category Code (MCC) Anda diperbolehkan untuk Apple Pay
  • Produk dan layanan aplikasi Anda mematuhi App Store Review Guidelines dan ketentuan Apple Pay

Dukungan Payment Service Provider dan Gateway

Terakhir, Anda memerlukan PSP atau gateway yang mendukung tokenisasi dan dekripsi Apple Pay. Konfirmasi bahwa penyedia Anda:

  • Memberikan kunci yang diperlukan untuk mendekripsi token pembayaran (atau mendekripsi atas nama Anda)
  • Mendukung mata uang dan wilayah Anda
  • Menyediakan dokumentasi dan SDK yang jelas untuk integrasi Apple Pay

Alur Pengalaman Pengguna Apple Pay di Aplikasi Mobile

Alur Apple Pay yang mulus terasa hampir tak terlihat bagi pengguna. Berikut biasanya tampilannya langkah demi langkah.

1. Dari Halaman Produk ke Tombol Apple Pay

Perjalanan biasanya dimulai di halaman produk atau layar keranjang. Setelah pengguna memilih barang dan opsi (ukuran, warna, jumlah), mereka melanjutkan ke checkout.

Di layar checkout atau keranjang, tampilkan tombol Apple Pay standar yang disediakan Apple. Tombol ini harus:

  • Menggunakan tanda “Pay” resmi (jangan memakai teks kustom seperti “Bayar dengan Apple”).
  • Terlihat jelas di dekat aksi checkout utama.
  • Menunjukkan apakah tombol membayar seluruh keranjang atau item tertentu.

2. Lembar Apple Pay

Saat pengguna mengetuk tombol, lembar Apple Pay akan muncul dari bawah layar.

Lembar ini biasanya menampilkan:

  • Kartu pembayaran: Kartu default terpilih, dengan opsi mengganti kartu.
  • Detail pengiriman: Pemilihan atau konfirmasi alamat jika ada barang fisik.
  • Info kontak: Nama, email, dan telepon, dapat diedit bila perlu.
  • Ringkasan: Line items (opsional) dan total yang jelas, termasuk pajak dan ongkos kirim.

Pengguna dapat menyesuaikan detail (kartu, pengiriman, kontak) langsung di lembar sebelum konfirmasi.

3. Otentikasi

Untuk mengotorisasi pembayaran, pengguna mengautentikasi dengan:

  • Face ID (memandang perangkat)
  • Touch ID (sidik jari)
  • Passcode perangkat (fallback bila biometrik gagal atau tidak tersedia)

Lembar akan memandu pengguna, misalnya: “Double‑click to pay” pada perangkat Face ID.

4. Status Sukses, Gagal, dan Pembatalan

Setelah otentikasi, lembar menunjukkan progres lalu menghilang, mengembalikan pengguna ke aplikasi Anda.

Aplikasi Anda harus segera menampilkan status yang jelas:

  • Sukses: “Pembayaran dikonfirmasi” dengan nomor pesanan, ringkasan, dan langkah berikutnya (pelacakan, unduhan).
  • Gagal: Pesan kesalahan singkat (mis. “Pembayaran ditolak”) dan opsi alternatif, seperti mencoba kartu lain atau metode pembayaran lain.
  • Pembatalan: Jika pengguna membatalkan di sheet, tunjukkan pesan netral (mis. “Pembayaran tidak selesai”) dan pertahankan pengguna di layar checkout tanpa kehilangan data keranjang.

Menjaga status ini jelas dan konsisten meyakinkan pengguna bahwa status pembayaran mereka tidak ambigu dan mereka tetap mengendalikan alur.

Langkah Implementasi Inti untuk Apple Pay di iOS

Implementasi Apple Pay di iOS berpusat pada framework PassKit dan beberapa kelas kunci. Berikut alur end‑to‑end di tingkat aplikasi.

1. Aktifkan Apple Pay di Xcode

  1. Di Xcode, buka Signing & Capabilities untuk target Anda.
  2. Klik + Capability dan tambahkan Apple Pay.
  3. Pilih Merchant ID yang Anda buat di portal Apple Developer (atau buat jika perlu).

Ini mengaitkan bundle app Anda ke identitas merchant sehingga token Apple Pay dapat dibuat untuk server Anda.

2. Import PassKit dan Bangun PKPaymentRequest

import PassKit

func createPaymentRequest() -> PKPaymentRequest? {
    guard PKPaymentAuthorizationController.canMakePayments() else { return nil }

    let request = PKPaymentRequest()
    request.merchantIdentifier = "merchant.com.yourcompany.app"
    request.countryCode = "US"
    request.currencyCode = "USD"

    request.supportedNetworks = [.visa, .masterCard, .amex]
    request.merchantCapabilities = [.capability3DS]

    request.paymentSummaryItems = [
        PKPaymentSummaryItem(label: "Pro Subscription", amount: 9.99),
        PKPaymentSummaryItem(label: "Your Company", amount: 9.99)
    ]

    return request
}

merchantIdentifier, countryCode, dan currencyCode harus sesuai dengan pengaturan merchant Anda. supportedNetworks mencerminkan skema kartu yang Anda dan PSP dukung. Minimal sertakan .capability3DS di merchantCapabilities.

3. Tambahkan dan Letakkan PKPaymentButton

Gunakan PKPaymentButton daripada tombol kustom agar mematuhi panduan UI Apple:

let payButton = PKPaymentButton(paymentButtonType: .buy, paymentButtonStyle: .black)

Tempatkan di lokasi dengan niat pembelian paling kuat: halaman produk, keranjang, dan checkout akhir. Nonaktifkan atau sembunyikan jika PKPaymentAuthorizationController.canMakePayments() bernilai false.

4. Tampilkan PKPaymentAuthorizationController dan Tangani Callback

Buat controller dari request dan patuhi PKPaymentAuthorizationControllerDelegate:

func startApplePay() {
    guard let request = createPaymentRequest() else { return }
    let controller = PKPaymentAuthorizationController(paymentRequest: request)
    controller.delegate = self
    controller.present(completion: nil)
}

extension CheckoutViewController: PKPaymentAuthorizationControllerDelegate {
    func paymentAuthorizationController(_ controller: PKPaymentAuthorizationController,
                                        didAuthorizePayment payment: PKPayment,
                                        handler completion: @escaping (PKPaymentAuthorizationResult) -> Void) {
        // Send payment.token to your server for processing
        // Then call completion(.init(status: .success, errors: nil)) or .failure
    }

    func paymentAuthorizationControllerDidFinish(_ controller: PKPaymentAuthorizationController) {
        controller.dismiss(completion: nil)
    }
}

Metode didAuthorizePayment adalah tempat Anda mengirim payment.token ke server untuk penagihan nyata. Setelah server merespons, panggil .success atau .failure, lalu tutup lembar di paymentAuthorizationControllerDidFinish.

Penanganan Server dan Pemrosesan Pembayaran

Buat Prototipe Alur Checkout
Prototipe keranjang, total, opsi pengiriman, dan item ringkasan Apple Pay untuk memvalidasi UX lebih awal.
Buat Prototipe

Logika sisi server yang mengubah lembar Apple Pay menjadi aliran uang nyata. Aplikasi mengumpulkan otorisasi pengguna; backend Anda memvalidasi merchant, memproses token, dan berkomunikasi dengan gateway pembayaran.

Validasi merchant dan merchant session

Sebelum menampilkan lembar Apple Pay, aplikasi harus memperoleh merchant session dari Apple.

  1. Aplikasi mengirimkan URL validasi merchant yang diberikan oleh PKPaymentAuthorizationController ke backend Anda.
  2. Server Anda, menggunakan Merchant ID dan sertifikat Apple Pay, memanggil endpoint validasi merchant Apple.
  3. Apple mengembalikan objek merchant session yang ditandatangani.
  4. Backend Anda meneruskan session ini ke aplikasi, yang menggunakannya untuk menginisialisasi Apple Pay.

Alur ini membuktikan kepada Apple bahwa aplikasi terkait dengan identitas merchant dan domain Anda.

Menangani token pembayaran

Setelah pengguna mengotorisasi pembayaran, aplikasi menerima token pembayaran terenkripsi (PKPaymentToken) dan mengirimkannya ke backend melalui HTTPS.

Di server:

  • Jangan mencoba mendekripsi token sendiri.
  • Teruskan token apa adanya ke gateway atau processor yang mendukung Apple Pay (Stripe, Adyen, Braintree, dll.).

Gateway mendekripsi token (menggunakan network tokens atau DPAN) dan menjalankan otorisasi kartu pada jaringan kartu.

Otorisasi vs capture

Gateway biasanya menawarkan dua alur:

  • Authorize only: Menempatkan hold pada dana, lalu capture nanti (mis. setelah pengiriman). Cocok untuk barang fisik atau total yang bervariabel.
  • Authorize and capture: Mengenakan biaya langsung ke pelanggan. Umum untuk barang digital atau langganan yang dimulai segera.

Backend Anda harus menyimpan ID transaksi dari gateway, jumlah, mata uang, dan status—tetapi bukan data kartu mentah atau isi token yang didekripsi.

Penyimpanan data dan keamanan

Simpan hanya apa yang benar‑benar diperlukan untuk rekonsiliasi, refund, dan dukungan pelanggan:

  • ID order dan ID transaksi pembayaran
  • Info kartu termask dan merek (jika disediakan gateway)
  • Cap waktu otorisasi/capture dan jumlah

Jangan pernah menyimpan nomor kartu penuh, CVV, atau token pembayaran yang tidak terenkripsi di server Anda sendiri. Alihkan penanganan sensitif ke gateway yang PCI‑compliant, dan pastikan semua komunikasi melalui TLS dengan logging dan kontrol akses yang ketat.

Pertimbangan Keamanan, Privasi, dan Kepatuhan

Apple Pay dirancang agar aplikasi Anda tidak pernah menyentuh nomor kartu mentah, tetapi Anda tetap harus memahami model keamanan dan tanggung jawab Anda.

Tokenisasi: Menyembunyikan Nomor Kartu Asli

Ketika pengguna menambahkan kartu ke Apple Pay, penerbit dan jaringan menggantikan PAN (nomor kartu) sebenarnya dengan Device Account Number (DAN).

Selama pembayaran:

  • DAN dan kriptogram sekali pakai dikirim alih‑alih nomor kartu asli.
  • Kriptogram unik per transaksi dan tidak berguna jika disadap.

Aplikasi dan backend Anda hanya melihat token dan metadata transaksi, bukan detail kartu dasar.

Perlindungan Tingkat Perangkat: Secure Enclave dan Biometrik

Kunci sensitif dan kredensial pembayaran disimpan dan diproses di dalam Secure Enclave, coprocessor terisolasi secara hardware.

Otorisasi terikat pada verifikasi pengguna:

  • Face ID / Touch ID
  • Atau passcode perangkat

Aplikasi Anda hanya menerima sinyal sukses atau gagal dari sheet sistem; tidak pernah mengakses data biometrik atau isi Secure Enclave.

Proteksi Jaringan dan Kriptogram Sekali Pakai

Setiap transaksi Apple Pay menggunakan:

  • Kriptogram per transaksi
  • Data spesifik merchant dan perangkat

Jaringan dan penerbit memvalidasi nilai‑nilai ini, membantu mendeteksi cloning, replay, dan manipulasi.

Ruang Lingkup PCI DSS (Tingkat Tinggi, Bukan Nasihat Hukum)

Apple Pay dapat mengurangi ruang lingkup PCI DSS aplikasi Anda karena:

  • Anda tidak mengumpulkan, mentransmisikan, atau menyimpan primary account numbers.
  • Sebagian besar penanganan sensitif dialihkan ke Apple, jaringan, dan PSP Anda.

Namun:

  • Anda tetap bertanggung jawab atas bagaimana memproses token pembayaran dan data terkait.
  • PSP dan gateway Anda harus PCI‑compliant.

Untuk panduan formal, konsultasikan dengan bank akuisisi, PSP, dan penilai keamanan yang berkualifikasi.

Melindungi API, Log, dan Pesan Error

Apple Pay mengurangi risiko, tetapi integrasi ceroboh dapat memperkenalkan eksposur kembali.

Tips praktis:

  • Jangan pernah log token pembayaran mentah, payload terdekripsi, atau PAN penuh (jika Anda pernah menerimanya dari PSP).
  • Mask semua digit kecuali 4 terakhir dari nomor kartu atau DAN di log dan analytics.
  • Hapus token pembayaran dan identifier pelanggan dari laporan crash.
  • Gunakan TLS di mana saja (HSTS di backend web, certificate pinning bila sesuai).
  • Perlakukan token pembayaran sebagai rahasia: TTL singkat, simpan hanya jika diperlukan, enkripsi saat disimpan, dan batasi akses dengan kebijakan IAM ketat.
  • Rancang pesan kesalahan untuk pengguna dan log untuk engineer: tampilkan pesan umum di UI, simpan detail teknis hanya di log yang aman.

Dengan menghormati batasan ini, Anda memanfaatkan proteksi bawaan Apple Pay sambil menjaga beban kepatuhan Anda tetap terkelola.

Menguji Apple Pay: Sandbox, Skenario, dan Debugging

Pengujian menyeluruh adalah satu‑satunya cara untuk yakin integrasi Apple Pay Anda berperilaku seperti pelanggan nyata. Mulai dari setup sandbox yang benar dan rencana pengujian yang jelas.

Menyiapkan sandbox tester dan kartu uji

Di akun Apple Developer / App Store Connect, buat akun sandbox tester di Users and Access → Sandbox. Apple ID khusus ini digunakan di perangkat uji untuk mensimulasikan pengguna nyata tanpa mengenakan biaya.

Di perangkat uji:

  • Keluar dari Apple ID reguler di Settings
  • Masuk ke App Store dengan Apple ID sandbox
  • Tambahkan kartu uji ke Wallet menggunakan nomor kartu dari dokumentasi Apple (detail kartu uji spesifik per wilayah disediakan Apple dan/atau gateway Anda)

Gunakan sandbox tester terpisah untuk profil pengguna berbeda (wilayah, mata uang, jaringan kartu) agar bisa mereproduksi edge case secara konsisten.

Pengujian di Simulator vs perangkat fisik

Simulator iOS mendukung pengujian Apple Pay dasar, berguna untuk validasi UI cepat dan pengembangan awal. Anda bisa mensimulasikan otorisasi dan memeriksa alur PKPaymentAuthorizationController.

Namun selalu validasi di perangkat fisik karena hanya perangkat nyata yang menyediakan:

  • Alur setup Wallet sebenarnya
  • UX Face ID / Touch ID / passcode
  • Perilaku spesifik perangkat, seperti keandalan jaringan dan prompt tingkat OS

Anggap Simulator sebagai kenyamanan, bukan pengganti.

Skenario uji inti

Uji setidaknya alur berikut end‑to‑end (client dan server):

  • Otorisasi dan capture berhasil
  • Penolakan kartu (dana tidak mencukupi, decline umum, kartu tidak valid)
  • Timeout / kegagalan jaringan (di sisi client dan gateway)
  • Pembatalan pengguna pada berbagai tahap (sheet muncul, prompt biometrik, pemilihan pengiriman atau kontak)
  • Persetujuan parsial atau perubahan jumlah jika gateway mendukungnya (mis. tip, penyesuaian)

Gunakan nomor kartu uji dan trigger gateway spesifik untuk memaksa decline dan kode error.

Logging dan debugging yang aman

Log secukupnya untuk menelusuri masalah, tetapi jangan log data pembayaran sensitif. Hindari:

  • PAN, tanggal kadaluarsa, CVC
  • Alamat penagihan/pengiriman lengkap
  • Token pembayaran Apple Pay atau payload terdekripsi

Sebagai gantinya, log:

  • ID order internal dan identifier transaksi Apple Pay terpotong (truncate)
  • Kode respons gateway dan pesan error
  • Metode pengiriman yang dipilih, negara, dan mata uang (jika diperlukan)
  • Transisi status pembayaran tingkat tinggi (mis. created → authorized → captured → failed)

Korelasikan log client dengan server via correlation ID yang dibagikan dari aplikasi ke backend.

Monitoring selama pengujian

Saat menjalankan siklus pengujian, awasi:

  • Dasbor gateway pembayaran Anda untuk pembayaran uji masuk, declines, dan rasio error
  • Halaman Status Sistem Apple untuk Apple Pay dan layanan terkait

Jika Anda melihat error sementara atau otorisasi lambat, periksa status gateway dan Apple sebelum menganggapnya bug integrasi. Ini menghemat waktu dan menghindari mengejar masalah platform sementara sebagai bug kode.

Desain dan Praktik UX untuk Memaksimalkan Konversi

Rilis dan Uji dengan Aman
Terapkan aplikasi dan backend Anda, lalu iterasi dengan aman menggunakan snapshot dan rollback saat menguji perubahan.
Deploy Aplikasi

Desain Apple Pay yang cermat dapat mengubah fitur “bagus untuk dimiliki” menjadi pendorong konversi utama. Penempatan kecil dan pilihan copy berdampak besar pada frekuensi pengguna memilihnya.

Di mana menempatkan tombol Apple Pay

Gunakan Apple Pay di tempat niat membeli paling kuat:

  • Posisi utama di langkah pembayaran pada checkout, dikelompokkan dengan metode lain tetapi jelas ditonjolkan.
  • Di atas lipatan pada layar checkout sehingga terlihat tanpa menggulir.
  • Sticky action bar (jika sesuai) di mobile: bar bawah persisten dengan “Apple Pay” di samping tombol “Lanjutkan” standar.

Hindari menyembunyikannya di balik klik ekstra seperti “Opsi pembayaran lain”. Setiap langkah tambahan mengurangi penggunaan.

Gunakan Apple Pay sebagai Express Checkout

Tawarkan Apple Pay sebagai express checkout dari:

  • Halaman produk: ideal untuk pembelian single‑item berpertimbangan rendah.
  • Layar keranjang: tampilkan “Apple Pay” di samping “Checkout” sehingga pengguna bisa melewati langkah akun atau formulir.

Saat digunakan sebagai express checkout, jelaskan bahwa pengiriman dan detail kontak akan ditangani selama otorisasi Apple Pay.

Bahasa tombol, branding, dan ukuran

Ikuti Human Interface Guidelines Apple:

  • Gunakan tanda “Apple Pay” resmi tanpa modifikasi.
  • Beri padding cukup dan buat tombol cukup besar untuk jangkauan ibu jari, biasanya full‑width pada mobile.
  • Gunakan label pendukung jelas di dekat tombol, mis. “Bayar instan dengan Apple Pay”.

Hindari warna atau ikon kustom yang mengurangi pengenalan atau melanggar aturan merek.

Minimalkan Langkah dengan Data Terisi Otomatis

Biarkan Apple Pay melakukan pekerjaan berat:

  • Ambil dan terapkan alamat pengiriman, email, dan telepon dari token Apple Pay.
  • Hanya minta ekstra yang benar‑benar diperlukan (mis. instruksi pengiriman) setelah otorisasi dan buat opsional bila mungkin.
  • Simpan pilihan yang dipilih (metode pengiriman, kode promo) sehingga pengguna kembali tidak mengulangi pilihan.

Tujuannya adalah satu ketukan penentu, bukan funnel multi‑layar.

Menangani Kesalahan dan Pemulihan dengan Baik

Cara tercepat kehilangan penjualan adalah status gagal yang membingungkan. Rencanakan untuk error dengan:

  • Pesan bahasa sederhana: “Kami tidak dapat menyelesaikan pembayaran Apple Pay Anda. Kartu Anda tidak dikenakan biaya.”
  • Langkah berikut yang dapat diambil: “Coba kartu lain di Apple Pay atau pilih metode pembayaran lain.”
  • Desain nondestruktif: pertahankan isi keranjang, kode promo, dan alamat sehingga pengguna bisa mencoba lagi tanpa mengulang kerja.

Log detail error secara diam‑diam untuk tim Anda, tetapi tampilkan ke pengguna hanya yang mereka perlukan untuk memahami dan mencoba solusi.

Masalah Umum dan Cara Menanganinya

Kesalahan Konfigurasi

Sebagian besar masalah Apple Pay berasal dari konfigurasi yang salah.

Hal pertama yang perlu dipastikan adalah merchant ID yang dipakai di kode persis cocok dengan yang di akun Apple Developer dan di pengaturan payment gateway. Satu karakter pun salah (atau merchant ID sandbox di produksi) akan memutus alur.

Selanjutnya, verifikasi entitlements dan capabilities:

  • Apple Pay diaktifkan di target app di Xcode.
  • Merchant ID yang benar ditambahkan ke entitlements app.
  • Payment Processing Certificate dibuat dan belum kadaluarsa.

Jika tombol Apple Pay tidak muncul atau sheet tidak pernah tampil, konfigurasi adalah tersangka utama.

Kompatibilitas Wilayah, Jaringan Kartu, dan Perangkat

Apple Pay mungkin tersedia di beberapa negara, issuer, atau perangkat tetapi tidak di yang lain.

Gunakan PKPaymentAuthorizationController.canMakePayments() dan canMakePayments(usingNetworks:) sebelum menampilkan tombol. Jika mengembalikan false, sembunyikan tombol dan tampilkan penjelasan jelas serta metode alternatif.

Saat pengguna melaporkan kartu “tidak didukung”, periksa:

  • Apakah bank penerbit mendukung Apple Pay.
  • Apakah jaringan kartu (mis. Amex, Discover) diizinkan dalam konfigurasi Anda.

Kegagalan Validasi Merchant

Kegagalan validasi merchant biasanya terlihat sebagai sheet Apple Pay yang cepat tertutup atau tidak muncul.

Untuk aplikasi native, sering disebabkan oleh:

  • Merchant ID yang tidak terkait dengan bundle ID aplikasi.
  • Sertifikat payment processing yang kadaluarsa atau hilang.
  • Pengaturan Apple Pay yang salah di gateway.

Di endpoint server/validasi, log:

  • Merchant identifier yang masuk.
  • Environment (sandbox vs production).
  • Error detail yang dikembalikan Apple atau gateway.

Log ini biasanya langsung menunjukkan elemen yang salah konfigurasi.

Transaksi Ditolak dan Error yang Terlihat Pengguna

Tidak semua kegagalan bersifat teknis; banyak yang berupa penolakan issuer.

Selalu periksa respons gateway atau processor. Bedakan antara:

  • Error teknis keras (gagal dekripsi token, request tidak valid).
  • Decline finansial atau soft (dana tidak mencukupi, dugaan penipuan, kartu tidak didukung).

Peta kategori ini ke pesan ramah pengguna seperti:

  • “Bank Anda menolak pembayaran ini. Coba kartu lain atau hubungi bank Anda.”
  • “Terjadi kesalahan saat memproses pembayaran. Silakan coba lagi.”

Hindari menampilkan kode error mentah dari gateway atau detail teknis yang berlebihan.

Memantau Log dan Respons Gateway di Produksi

Untuk menjaga Apple Pay stabil di produksi, investasi pada logging terstruktur di sekitar setiap percobaan pembayaran:

  • Timestamp, environment, merchant ID, dan info perangkat.
  • Identifier token pembayaran terpotong (jangan pernah PAN penuh).
  • Request ID gateway dan kode respons.

Buat dashboard dan alert untuk lonjakan decline, error validasi merchant, atau timeout. Korelasikan event sisi client dengan log server untuk melacak cepat di mana kegagalan terjadi.

Tingkat observability ini memangkas waktu debugging saat masalah muncul di traffic nyata.

Mengukur Performa dan Dampak Apple Pay

Pertahankan Kontrol Penuh atas Kode
Miliki seluruh kode sumber agar tim Anda bisa meninjau, memperluas, dan memelihara implementasi Apple Pay.
Ekspor Kode

Setelah Apple Pay live di aplikasi Anda, Anda harus membuktikan bahwa itu benar‑benar memperbaiki checkout, bukan sekadar terlihat modern. Itu berarti melacak event yang tepat, memantau metrik kunci, dan menjalankan eksperimen terstruktur.

Event yang Harus Dilacak Sekitar Apple Pay

Mulailah dengan funnel yang jelas dan log event di setiap langkah:

  • Apple Pay sheet ditampilkan – pengguna mengetuk tombol Apple Pay dan sheet muncul.
  • Sheet dibatalkan – pengguna menutup sheet Apple Pay.
  • Otorisasi gagal – Touch ID / Face ID / passcode gagal atau pengguna menolak.
  • Pembayaran diotorisasi – Apple Pay mengembalikan token pembayaran yang valid ke aplikasi.
  • Pembayaran ditangkap – server Anda berhasil mengenakan biaya.

Korelasikan event ini dengan konteks:

  • Di mana tombol diketuk (halaman produk, keranjang, checkout).
  • Platform dan versi OS.
  • Pelanggan baru vs kembali.

Ini membantu melihat di mana pengguna drop off dan apakah masalahnya terkait UX (pembatalan), teknis (gagal otorisasi), atau backend (gagal capture).

Metrik inti untuk dipantau

Set set metrik fokus sehingga lebih mudah menilai dampak:

  • Tingkat adopsi Apple Pay – checkout Apple Pay ÷ semua checkout eligible.
  • Tingkat keberhasilan Apple Pay – capture sukses ÷ percobaan Apple Pay.
  • Waktu hingga bayar – median waktu dari sheet muncul hingga pembayaran ditangkap.
  • Average order value (AOV) – bandingkan AOV Apple Pay vs metode lain.
  • Tingkat penyelesaian checkout – untuk pengguna yang melihat Apple Pay vs yang tidak.

Lacak ini seiring waktu dan antar versi aplikasi untuk melihat apakah integrasi dan perubahan UX menggerakkan metrik.

A/B Testing Penempatan dan Pesan Apple Pay

Jalankan eksperimen untuk mengoptimalkan dampak Apple Pay:

  • Penempatan: uji Apple Pay di halaman produk, keranjang, dan halaman checkout utama.
  • Hierarki: bandingkan Apple Pay sebagai call‑to‑action utama vs opsi pembayaran alternatif.
  • Copy dan label: coba label singkat ("Beli dengan Apple Pay") vs proposisi nilai lebih eksplisit ("Checkout cepat dengan Apple Pay").
  • Default: eksperimen pre‑select Apple Pay untuk pengguna yang eligible vs default netral.

Ukur perbedaan adopsi, tingkat keberhasilan, waktu bayar, dan konversi. Perubahan tata letak kecil saja bisa memberikan peningkatan bermakna.

Analytics dan Pertimbangan Privasi

Integrasikan analytics dengan hati‑hati agar tetap menghormati jaminan privasi Apple Pay dan regulasi yang lebih luas:

  • Log jenis event dan hasil, bukan data kartu mentah atau nomor akun.
  • Hindari menyimpan token pembayaran lebih lama dari yang diperlukan untuk pemrosesan segera.
  • Gunakan identifier pseudonim (mis. app user ID) alih‑alih identifier pribadi langsung bila mungkin.
  • Konfigurasikan alat analytics untuk memodifikasi atau menghilangkan field sensitif, dan dokumentasikan apa yang dikumpulkan dalam kebijakan privasi Anda.

Platform analytics besar (Mixpanel, Amplitude, Firebase) dapat menangani event Apple Pay selama payload bebas dari detail pembayaran sensitif.

Menggunakan Data Apple Pay untuk Memperbaiki Checkout Secara Keseluruhan

Insight dari Apple Pay berguna di luar tombol itu sendiri:

  • Jika pengguna Apple Pay memiliki penyelesaian lebih tinggi dan waktu bayar lebih rendah, gunakan itu sebagai tolak ukur untuk alur kartu dan wallet lain.
  • Jika adopsi Apple Pay kuat di mobile tapi lemah di tablet, tinjau kembali tata letak dan penonjolan menurut perangkat.
  • Jika pembatalan meningkat di lembar Apple Pay, perbaiki layar pra‑sheet—kejelasan harga, info pengiriman, dan total yang lebih baik mengurangi keraguan di saat terakhir.

Seiring waktu, metrik ini membantu menyempurnakan tidak hanya Apple Pay, tetapi keseluruhan pengalaman checkout.

Pertimbangan Lintas Platform dan Multi‑Channel

Mendukung Apple Pay jarang berhenti pada satu aplikasi iOS. Pengguna mengharapkan cara pembayaran yang konsisten di perangkat dan channel, dan pilihan implementasi Anda harus mencerminkan itu.

Native iOS vs Apple Pay di Web

Aplikasi native menggunakan PKPaymentAuthorizationController dan meneruskan token pembayaran langsung ke backend. Ini memberi Anda:

  • Kontrol UI yang mendalam
  • Integrasi yang lebih rapat dengan state aplikasi (keranjang, pengguna yang masuk, penawaran)

Apple Pay di web (Safari) menggunakan JavaScript dan Payment Request API. Cocok ketika Anda:

  • Sudah memiliki checkout web
  • Menginginkan Apple Pay di desktop dan mobile Safari

Banyak tim memilih sweet spot: Apple Pay native di aplikasi, Apple Pay di web untuk Safari, dengan pipeline payment backend bersama.

Wallet lain dan konsistensi

Jika Anda juga mendukung Google Pay, PayPal, atau wallet serupa, samakan alur tingkat tinggi:

  • Tampilkan semua wallet di titik keputusan yang sama
  • Gunakan penamaan, penempatan tombol, dan pola error yang konsisten
  • Pertahankan aturan bisnis (wilayah didukung, nilai minimal pesanan) sama di semua wallet

Dengan begitu, beralih perangkat atau metode pembayaran tidak terasa seperti mempelajari sistem baru.

Framework lintas platform dan perangkat

Untuk React Native, Flutter, dan framework serupa, Anda biasanya bergantung pada:

  • Plugin resmi atau komunitas yang membungkus API Apple Pay native
  • Lapisan bisnis bersama yang memanggil modul platform‑spesifik kecil

Uji di iPhone, iPad, dan Apple Watch bila relevan:

  • Pastikan jaringan dan opsi pengiriman yang didukung identik
  • Verifikasi gaya tombol dan label mengikuti panduan Apple di setiap perangkat

Tujuannya adalah satu sistem desain dan logika checkout yang berlaku di iOS, web, dan platform lain, dengan lapisan integrasi tipis untuk tiap channel.

Memelihara, Memperbarui, dan Menyongsong Masa Depan Apple Pay

Menjaga Apple Pay sehat lebih sedikit soal rewrites besar dan lebih banyak soal pemeliharaan disiplin.

Sertifikat, Kunci, dan Versi OS

Apple Pay bergantung pada merchant ID dan payment processing certificates yang dapat kedaluwarsa.

Buat peta kepemilikan: siapa yang memegang akun Apple Developer, di mana sertifikat berada, dan bagaimana dipakai di CI/CD dan server.

Lalu:

  • Tambahkan pengingat kalender pada 90/60/30 hari sebelum kedaluwarsa.
  • Skrip pengecekan di CI yang gagal build bila sertifikat mendekati kadaluarsa.

Setiap rilis iOS besar harus memicu siklus pengujian untuk alur Apple Pay di build beta dan final. Fokus pada:

  • Tampilan dan redaksi sheet
  • Jaringan kartu yang didukung
  • Edge case seperti 3D Secure dan prompt biometrik

Tetap Sinkron dengan Pedoman Apple

Pantau:

  • Human Interface Guidelines (HIG) Apple untuk tombol Apple Pay, pelabelan, dan copy.
  • Dokumentasi pengembang dan sesi WWDC untuk perubahan field wajib, token, atau capability.

Rencanakan peninjauan desain setidaknya tahunan untuk menyesuaikan kata, penempatan tombol, dan aksesibilitas dengan panduan terbaru.

Jaringan, Mata Uang, dan Wilayah yang Berkembang

Jaringan kartu, mata uang, dan wilayah dukungan berubah seiring waktu. Buatlah konfigurasi yang dapat diubah:

  • Kendalikan jaringan yang didukung, negara, dan mata uang dari konfigurasi sisi server.
  • Log decline menurut jaringan/wilayah untuk mendeteksi kapan opsi baru harus diaktifkan.

Koordinasikan dengan gateway ketika mereka menambahkan jaringan atau metode lokal, dan perbarui PKPaymentRequest sesuai kebutuhan.

Migrasi dan Refactor yang Aman

Untuk perubahan gateway, restrukturisasi aplikasi, atau pembaruan format token:

  • Gunakan feature flags untuk menjalankan path lama dan baru berdampingan.
  • Pastikan API pembayaran server idempotent sehingga retry tidak menggandakan biaya.
  • Roll out bertahap dan pantau otorisasi/decline rate serta timeout.

Dokumentasikan alur ini sehingga anggota tim baru dapat memelihara tanpa menebak‑nebak.

Melihat Ke Depan: Tren yang Perlu Diwaspadai

Harapkan tokenisasi yang lebih dalam dengan jaringan, struk penerimaan dan pembaruan pesanan yang lebih kaya di Wallet, serta tautan yang lebih erat antara in‑app, web, dan in‑store Apple Pay. Fitur seperti Tap to Pay on iPhone dan opsi pembiayaan regional akan terus berkembang, jadi rancang integrasi Anda agar berbasis konfigurasi dan siap mengadopsi kemampuan baru tanpa merombak alur inti.

Pertanyaan umum

Apa itu Apple Pay dalam konteks aplikasi mobile?

Apple Pay adalah dompet digital Apple yang memungkinkan pengguna membayar dengan kartu yang tersimpan di iPhone, iPad, Apple Watch, atau Mac mereka.

Di dalam aplikasi mobile, Apple Pay menggantikan pengisian kartu secara manual dengan lembar sistem yang aman di mana pengguna mengonfirmasi pembayaran lewat Face ID, Touch ID, atau passcode. Aplikasi menerima token pembayaran terenkripsi alih-alih data kartu mentah, lalu mengirimkannya ke backend dan gateway pembayaran untuk menyelesaikan penagihan.

Ini membuat proses checkout lebih cepat, mengurangi kesalahan, dan menjaga nomor kartu agar tidak tersimpan di infrastruktur aplikasi Anda.

Kapan masuk akal menambahkan Apple Pay ke aplikasi saya?

Anda sebaiknya menambahkan Apple Pay ketika:

  • Sebagian signifikan pelanggan Anda menggunakan perangkat iOS.
  • Anda melihat banyak drop‑off saat pengisian kartu, alamat, atau saat pembayaran akhir.
  • Anda ingin menerima pembayaran kartu tanpa menangani PAN (nomor kartu) mentah.

Apple Pay paling efektif sebagai opsi tambahan di samping kartu, PayPal, dan metode lain. Jangan menghapus metode lain—tawarkan Apple Pay sebagai jalur tercepat bagi pengguna yang memenuhi syarat.

Apa saja prasyarat untuk menggunakan Apple Pay di aplikasi saya?

Minimal Anda memerlukan:

  • Akun Apple Developer Program aktif.
  • Target aplikasi dengan kemampuan Apple Pay diaktifkan di Xcode.
  • Apple Pay Merchant ID.
  • Payment Processing certificate yang terkait dengan Merchant ID tersebut.
  • Gateway pembayaran / PSP (mis. Stripe, Adyen, Braintree) yang mendukung Apple Pay.

Anda juga harus beroperasi di wilayah dan bank yang mendukung Apple Pay dan memastikan kategori merchant serta produk Anda sesuai kebijakan Apple.

Bagaimana cara mengimplementasikan Apple Pay di aplikasi iOS secara garis besar?

Di iOS Anda:

  1. Aktifkan Apple Pay di Signing & Capabilities dan lampirkan Merchant ID Anda.
  2. Bangun PKPaymentRequest dengan merchant identifier, country, currency, supported networks, dan summary items.
  3. Tampilkan PKPaymentButton di tempat pengguna memutuskan membayar.
  4. Hadirkan PKPaymentAuthorizationController dengan request tersebut.
  5. Di didAuthorizePayment, kirim payment.token ke backend untuk diproses.
  6. Setelah respons server, kembalikan .success atau .failure dan tutup sheet.

Sebagian besar pekerjaan berat (biometrik, pembuatan token) diurus oleh UI sistem.

Bagaimana Apple Pay menjaga data kartu tetap aman di aplikasi saya?

Perangkat membuat token pembayaran terenkripsi yang berisi:

  • Nomor kartu khusus perangkat (DPAN), bukan nomor kartu asli (FPAN).
  • Kriptogram sekali pakai yang unik untuk transaksi itu.

Token ini dienkripsi untuk payment processor Anda, sehingga aplikasi dan backend memperlakukannya sebagai blob opak. Backend meneruskannya ke gateway, yang mendekripsi, mengirim otorisasi ke jaringan kartu dan penerbit, lalu mengembalikan sukses atau gagal.

Anda tidak pernah melihat PAN atau kunci kriptografi; hanya metadata transaksi dan statusnya.

Apa yang harus dilakukan server saya terhadap token Apple Pay?

Backend Anda harus:

  1. Menerima token Apple Pay dari aplikasi melalui HTTPS.
  2. Meneruskannya apa adanya ke PSP atau gateway yang mendukung Apple Pay.
  3. Memutuskan apakah akan authorize only atau authorize and capture sesuai kebijakan bisnis.
  4. Menyimpan hanya yang diperlukan: ID order, ID transaksi, info kartu termask (jika disediakan), jumlah, dan cap waktu.

Jangan mencoba mendekripsi token sendiri atau menyimpannya lama‑lama. Biarkan gateway yang PCI‑compliant menangani semua proses sensitif.

Mengapa integrasi Apple Pay saya gagal atau tidak menampilkan sheet pembayaran?

Masalah umum meliputi:

  • Merchant ID salah konfigurasi (typo, ID yang salah, atau ID sandbox di produksi).
  • Apple Pay tidak diaktifkan di capability aplikasi atau entitlements hilang.
  • Payment Processing certificate kadaluarsa atau tidak ada.
  • Wilayah atau jaringan tidak didukung untuk kartu pengguna.
  • Kegagalan validasi merchant di server (sertifikat salah, lingkungan mismatch).

Mulailah dengan memeriksa konfigurasi di Apple Developer portal, entitlements Xcode, dan setelan gateway, lalu periksa log server untuk kesalahan validasi merchant dan kode error gateway.

Bagaimana cara menguji Apple Pay tanpa membebankan kartu nyata?

Untuk menguji Apple Pay dengan aman:

  • Buat akun sandbox tester di App Store Connect.
  • Masuk ke App Store di perangkat uji dengan akun sandbox tersebut.
  • Tambahkan kartu uji ke Wallet menggunakan nomor dari dokumentasi Apple atau gateway Anda.
  • Uji alur utama: pembayaran berhasil, decline, pembatalan, dan timeout.

Gunakan Simulator untuk pengecekan UI cepat, tetapi selalu validasi di perangkat fisik untuk alur Wallet nyata, biometrik, dan kondisi jaringan.

Apa saja praktik UX terbaik untuk Apple Pay di aplikasi saya?

Untuk meningkatkan konversi:

  • Tempatkan tombol Apple Pay di atas lipatan pada layar cart/checkout.
  • Tawarkan sebagai express checkout dari halaman produk atau cart bila memungkinkan.
  • Gunakan PKPaymentButton resmi dengan branding benar dan copy pendukung yang jelas (mis. “Bayar instan dengan Apple Pay”).
  • Biarkan Apple Pay menyediakan alamat pengiriman dan kontak; hanya minta tambahan yang benar‑benar diperlukan.
  • Saat gagal, tampilkan pesan bahasa sederhana dan pertahankan isi keranjang agar pengguna bisa mencoba lagi.

Praktik ini meminimalkan gesekan dan membuat Apple Pay terasa seperti jalan pintas cepat dan dapat dipercaya.

Bagaimana saya bisa mengukur apakah Apple Pay memperbaiki proses checkout saya?

Lacak Apple Pay sebagai funnel tersendiri. Sinyal berguna termasuk:

  • Tingkat adopsi Apple Pay: checkout Apple Pay ÷ semua checkout yang eligible.
  • Tingkat keberhasilan: capture sukses ÷ percobaan Apple Pay.
  • Waktu hingga bayar: dari sheet ditampilkan hingga pembayaran tertagih.
  • Tingkat penyelesaian checkout untuk pengguna yang melihat Apple Pay vs yang tidak.

Jalankan A/B test untuk penempatan tombol dan pesan, dan bandingkan metrik‑metrik ini melawan metode pembayaran lain untuk melihat dampaknya pada performa checkout.

Daftar isi
Apa itu Apple Pay dan Mengapa Penting di Aplikasi MobileBagaimana Apple Pay Bekerja di Balik LayarPersyaratan dan Prasyarat untuk Menggunakan Apple PayAlur Pengalaman Pengguna Apple Pay di Aplikasi MobileLangkah Implementasi Inti untuk Apple Pay di iOSPenanganan Server dan Pemrosesan PembayaranPertimbangan Keamanan, Privasi, dan KepatuhanMenguji Apple Pay: Sandbox, Skenario, dan DebuggingDesain dan Praktik UX untuk Memaksimalkan KonversiMasalah Umum dan Cara MenanganinyaMengukur Performa dan Dampak Apple PayPertimbangan Lintas Platform dan Multi‑ChannelMemelihara, Memperbarui, dan Menyongsong Masa Depan Apple PayPertanyaan umum
Bagikan