ApplePayConfig
data class ApplePayConfig(val merchantId: String = APPLE_MERCHANT_ID_SENTINEL, val merchantName: String = "kmp-toolkit Demo", val countryCode: String = "IN", val currencyCode: String = "INR", val supportedNetworks: Set<CardNetwork> = setOf(CardNetwork.VISA, CardNetwork.MASTERCARD, CardNetwork.AMEX, CardNetwork.DISCOVER))(source)
Everything PKPaymentRequest needs, in commonMain so it is constructible and testable without PassKit.
Ships unprovisioned on purpose. isProvisioned is the gate the gateway and the button both read, and it is false out of the box — the module is useless until a real merchant id is swapped in, and it says so through the seam rather than by throwing at authorization time.