Releases: PayDock/ios-mobile-sdk
Releases · PayDock/ios-mobile-sdk
Release list
v4.6.0
Added
- Added
showSubmitButtontoCardDetailsWidgetConfigandGiftCardWidgetConfig(defaulttrue).
Whenfalse, the widget hides its own built-in submit button entirely, so a host app can supply its own trigger UI.CardDetailsWidgetandGiftCardWidgetgain new init parameters to support this:submitTrigger: Binding<Bool>andonFormValidityChange: ((Bool) -> Void)?(fired whenever the form's validity changes). - Added
showSchemeListtoSupportedSchemesConfig(defaulttrue). Whenfalse,CardDetailsWidgethides its row of supported card scheme icons entirely, regardless ofsupportedSchemes. - Added
activePrimaryButtontoGiftCardWidgetConfigandAddressWidgetConfig(matching
CardDetailsWidgetConfig). Whentrue, the primary button stays enabled and validation runs on tap, including a VoiceOver "N errors in form" summary and focus moving to the first invalid field; whenfalse, the button remains disabled until the form is valid. - Per-field text-field theming for
GiftCardWidgetandAddressWidget, matchingCardDetailsWidget.
GiftCardWidgetAppearancegains optionalcardNumberTextField/pinTextField;AddressWidgetAppearance
gains optionalfirstNameTextField,lastNameTextField,addressLine1TextField,addressLine2TextField,
cityTextField,stateTextField,postcodeTextField. Each falls back to the sharedtextFieldwhen
nil, so existing configurations are unaffected.AddressWidgetAppearance's per-field overrides default
tonil;GiftCardWidgetAppearance'scardNumberTextField/pinTextFielddefault to a seeded
appearance carrying the field's default placeholder/hint text (see below) rather thannil, so the
effective values are discoverable via the appearance object (e.g. in a styling screen) instead of only
as fallbacks inside the widget's rendering code. Passnilexplicitly to opt out. GiftCardWidgetnow shows field placeholders ("XXXX XXXX XXXX XXXX", "XXXX") and hints, and exposes
digit-by-digit VoiceOver values plus per-field accessibility identifiers (giftCardNumberField,
giftCardPinField).AddressWidgetnow exposes per-field accessibility identifiers (firstNameField,lastNameField,
addressLine1Field,addressLine2Field,cityField,stateField,postcodeField).GiftCardWidgetandAddressWidgetnow announce validation errors via VoiceOver as they occur,
matchingCardDetailsWidget.
Changed
- Bumped
ios-core-networkingdependency to1.3.0(addsDecodingFailureContexton
RequestError.decode;.decodenow has an associated value). - Breaking:
AddressWidgetAppearance.initparameter labels renamed for consistency with the property
names and the other widgets:textfield:→textField:,primaryButton:→actionButton:,
linkButton:→expandSectionButton:. Call sites that passed these labels must be updated; property
names are unchanged. - Behaviour change:
GiftCardWidgetandAddressWidgetnow default toactivePrimaryButton: true
(matchingCardDetailsWidget), so their primary button is enabled from the start and validates on tap
rather than staying disabled until the form is valid. PassactivePrimaryButton: falsein the config
to restore the previous disabled-until-valid behaviour. - Removed unused placeholder constants on
GiftCardFormManager(cardNumberPlaceholder,pinPlaceholder) and
AddressFormManager(the nine*Placeholderconstants) — placeholders are now configured via the
widget appearance.
Fixed
CardDetailsWidgetandGiftCardWidget'ssubmitTapped()now also blocks while the widget has been
externally disabled viaViewState.setState(.disabled), not just while a request is in flight —
previously the externalsubmitTriggerpath ignored that host-initiated disable entirely.- Both widgets now guard against re-entrancy synchronously in the view model (
tokeniseCardDetails()/
tokeniseGiftCard())
Full Changelog: 4.5.0...4.6.0
v4.5.0
Added
- New 'ApplePaySetupWidget' to send users to wallet setup
- New Apple Pay helper functions to identify availability accessible from "MobileSDK", "deviceSupportsApplePay" and "canMakeApplePayPayments"
- Added "activePrimaryButton" to 'CardDetailsWidgetConfig' which defaults to "true" to allow submit button to be actionable when fields do not yet have valid entries
- New customisable "hintText" field for textfields in 'CardDetailsWidget'
- Added Voiceover readout for 'CardDetailsWidget' for validation errors on submit
- Added scroll callback "onScrollToField" for 'CardDetailsWidget' to allow scrolling to validation error when off screen
- Added VoiceOver readouts for fields that are required in a form
- Added accessibility options in styles for custom VoiceOver readouts
- "formState" added to 'CardDetailsWidget' event 'WidgetEvent' on submit action
- 'Standalone3dsWidget' now uses a new overlay loader component
- Added a "loadingDelegate" to 'Standalone3dsWidget' for custom loader control
Fixed
- "placeholderText" was not being shown in Textfields correctly
Full Changelog: 4.4.0...4.5.0
v4.4.0
Added
- New error in 'ApplePayWidget' for "notSupported" if Apple Pay is not supported on device
- New error in 'ApplePayWidget' for "noSupportedCardsInWallet" if no cards are enrolled in Apple Pay for specific config passed
- Result for 'ApplePayWidget' updated to return shipping and billing details
- Callbacks added in 'ApplePayWidget' for contact and shipping details callbacks
Changed
- 'ApplePayWidget' now returns a result object with a token versus previously completing the charge
Fixed
- Removed 'PayPalVaultAppearance' overwriting appearance passed in init
- Minimum card number length for unknown card schemes updated to 13
Full Changelog: 4.3.0...4.4.0
v4.3.0
Added
- Implemented
ZipWidgetfor Zip support - Disabled state alpha configurable for button appearance
- Added config page to sample app
Changed
- Updated bin processing for
CardDetailsWidget - Updated form validations for
CardDetailsWidget' andGiftCardWidget - Security code and Pin code entry in
CardDetailsWidgetandGiftCardWidgetnow use secure Textfields - Saving of CVV now configurable for
CardDetailsWidget - Removed title field for
CardDetailsWidget - Removed legacy "Solo" and "AUSBC" from supported card schemes for
CardDetailsWidget - Removde autocorrect for cardholder name for
CardDetailsWidget - Updated Amex card scheme icon for
CardDetailsWidget - Font for widgets now defaults to system font
- Improved NSError mappings to readable strings
Full Changelog: 4.2.1...4.3.0
v4.2.1
v4.2.0
Added
- UnionPay support for card schemes
- Callbacks for info events to enable analytical collection
- Customisation options: spacing control for input form widgets (widget + input spacing)
- Updated checkout implementation for ExampleApp (demo app - E2E flows)
- CardDetailsWidget toggle enhanced styling options
Changed
- Updated PayPal SDK from version 2.0.0 to 2.0.1
- Text and Icon customisation moved into appearance objects for SDK button widgets (ie. PayPalSavePaymentSourceWidget, CardDetailsWidget, AddressDetailsWidget and GiftCardWidget)
- Updated logic for no card scheme detection - applying default validation
- Search address popup positioning
Fixed
- Accessibility improvements: Large Text support across widgets, scalable button and text field sizes,
- Payment methods: PayPal cancellation not being detected
- ColesPay widget closing and back to store cancellation
- Apple Pay infinite loader for some errors
- UI/UX: input field text vertical centering, disabled button styling, Click to Pay WebView session management, and app theme persistence on device rotation
- Hardcoded paddings to various UI elements
Full Changelog: 4.1.0...4.2.0
v4.1.0
Changed
- Implemented native PayPal checkout flow using the latest PayPal SDK (
2.0.0) - Updated to use PayPal's native button; removed reliance on web views for PayPal
- Updated existing widget errors to propagate underlying network errors
- General improvements to
AddressWidget(input UX and defaults)
Fixed
AddressWidgetwill now scroll active text field to prevent keyboard overlapCardDetailsWidgetcursor positioning while editing card number and expiry fieldsCardDetailsWidgetwill now show approapriate keyboard type for each text field- Security code validation not refreshing when switching between card schemes
- Cardholder name validation issues (including hyphen handling and invalid characters)
ColesPayWidgetwill no longer get reset when changing device orientationGiftCardWidgetPIN length validation
Added
- Voiceover readouts for various loading states across the widgets
Removed
- All WebView dependencies related to PayPal checkout
Full Changelog: 4.0.0...4.1.0
v4.0.0
Added
- New customisations for all Widgets with
Appearanceadded to all Widget contracts
Changed
configparameter standardised to all Widget contracts- Handling of token callback results for Wallets now within SDK processing
- Coles Pay redirects to success without showing success landing page
Fixed
- Address Widget popup will now disappear when search text is removed
Full Changelog: 3.1.0...4.0.0
v3.1.0
Added
- Added cancelation confirmation prompt across the widgets
- Added charge flow for ColesPay widget in the example checkout
Changed
- Rebranded FlyPay to Coles Pay
- Gift Card pin validation logic (minimum length 4)
Fixed
- PayPal redirect cancellation flow from within the web view
v3.0.0
Added
- Add support for high contrast accessibility colors.
- Add support for hardware and software keyboard navigation.
- Add support for autofill for the text fields in widgets.
Removed
- Settings screen from sample app
- secretKey functionality in place of apiAccessToken
Changed
Theme()object now receives only a single color instead of the light mode and dark mode separately. Provided colors should have traits assigned to them.- SDK default theme now supports light and dark mode along with the high contrast accessibility.
- Refactored ThreeDSWidget to Integrated3DSWidget and Standalone3DSWidget
PayPalDataCollectorUtilcalling function fromcollectDeviceData()tocollectDeviceId()
Fixed
- Various accessibility fixes and improvements.
Full Changelog: 2.1.1...3.0.0