We’re integrating Square Mobile Payments SDK for iOS 2.6.0 into an iPadOS point-of-sale application.
We are using PromptParameters(mode: .custom, ...) so our application provides the custom card-payment prompt before calling startPayment.
Our iPad interface uses a split layout: an order/payment summary occupies the left side of the screen, while the payment workflow occupies a dedicated right-side pane.
After PaymentManager.startPayment(...) is called, Square presents its own secure payment UI. Currently this presentation takes over the full screen.
We understand that Square must retain ownership of the secure payment flow and we are not trying to modify, inspect, intercept, subclass, or otherwise manipulate Square’s private UI.
Our question is specifically about the supported presentation geometry of that Square-owned flow:
Is it supported to pass a contained child UIViewController, whose view occupies only the right-side payment pane, as the presenting controller to PaymentManager.startPayment(...), so that Square’s secure payment UI remains constrained to that controller’s bounds rather than taking over the entire iPad display?
If yes:
- What public UIKit containment/presentation configuration does Square support for this?
- Should the child controller use a particular
modalPresentationStyle,definesPresentationContext, or other configuration? - Is there a Square-supported example of embedding/constraining the active payment presentation on iPad?
If no:
Is full-screen presentation of Square’s post-startPayment secure payment flow required for all card-present transactions on iPadOS, including when PromptMode.custom is being used?
We are specifically looking for the supported SDK contract here rather than a workaround involving Square’s private/internal view controllers.
Thanks!