2025-09-12 Changelog

iOS
Mobile Payments SDK
Link to section

Details

🇬🇧 The Mobile Payments SDK is now available in the United Kingdom.

Link to section

iOS Mobile Payments SDK 2.3.0

Link to section

API changes

Settings Manager

  • New field- trackingConsentState. Returns the current consent state for the authorized Square merchant. The options are:

    • PENDING
    • GRANTED
    • DENIED
    • NOT_REQUIRED
  • New method - updateTrackingConsent(granted: Boolean). Log whether merchants using your application have granted or denied consent for performance and analytics tracking. If this method is not used, and a payment is made in a country requiring consent, the first payment prompts the user for permission.

Important

Deprecation notice:

  • readerInfo.state is deprecated. For a more descriptive representation of a reader's state, use the new readerInfo.status field. For more information, see Reader status.
  • idempotencyKey is deprecated. To handle idempotent payment requests, use the new paymentAttemptId field. For more information, see Idempotency and payment attempts.
  • readerInfo.status - A new sealed class with more descriptive reader representation. It replaces the deprecated state. The possible reader statuses are:
    • ConnectingToDevice
    • ConnectingToSquare
    • ReaderUnavailable
    • Faulty
    • Ready
  • ReaderUnavailableReason - A new enum with detailed error information for unavailable readers.
  • paymentAttemptID - A new parameter representing a payment attempt. When included in the call to startPayment, an idempotency key is generated by Square and regenerated if multiple requests are made for a single payment attempt (for example, in markets with Strong Customer Authentication (SCA) requirements).
  • getIdempotencyKey(paymentAttemptId) - A new method to retrieve the final idempotency key used for a payment attempt.