FAQs - Frequently Asked Questions
Find answers to common questions about the Pine Labs iOS SDK
The SDK requires:
- iOS 16+
- Xcode 15+
- Swift 5
Apps written in Swift 4 or later and Objective-C are supported.
On the iOS Simulator, Apple may block network requests due to stricter security and SSL validation rules.
If the payment request fails during SSL handshake:
- Ensure the Pine Labs domain is allowlisted
- Verify App Transport Security (ATS) settings in Info.plist
Testing on a physical device is strongly recommended for final validation.
To resolve this issue:
- Make sure that you see the framework under your app target Frameworks, Libraries and Embedded Content
- Make sure that it is in Embed and Sign
- If issue still persists, clean the build and build again
Common causes include:
- Unsupported Swift version (must be Swift 5+)
- Incompatible iOS deployment target
- Outdated dependency manager setup (SPM)
Verify that your project meets all SDK prerequisites.
Yes. The SDK can be integrated into UIKit-based apps and SwiftUI apps, provided the app meets the required iOS and Swift versions.
The SDK provides callbacks for:
onSuccessResponseonFailureResponseonCancelTxn
These callbacks must be implemented to correctly handle the transaction outcome and update your app UI.
In all these cases we get Order ID, in some cases we also get status and error message. Using the Order ID it is recommended that you do an enquiry API call and verify the status of the order and proceed accordingly.
Basic testing for most of the pay modes is possible except the UPI Intent flow, but end-to-end payment testing should be done on a real device to avoid simulator-specific network and security issues.
When you initialise the SDK, we have provided an environment variable in the startPayment function signature. Using that one can easily switch from testing environment (.uat) to live production environment (.prod).
Important: Make sure that the order is created in the correct environment. If order created in test environment is given to SDK when we have set the (environment == .prod) then Order Not Found error will be displayed.
No. API keys must be generated and passed securely from your backend. Hardcoding keys in the app is not recommended.
Yes. Apps written in Swift 4 or later can integrate the SDK as long as they are built using a Swift 5–compatible Xcode version (Xcode 15+) and target iOS 16 or above.
The SDK is distributed as a compiled XCFramework built with Swift 5, which is ABI-stable and backward compatible with Swift 4 source code.
No. Apps written in Swift 3 or earlier are not supported.
Reasons:
- Swift 3 does not support Swift 5 ABI stability
- Older Xcode versions cannot build iOS 16 apps
- Apple no longer supports these toolchains
FIX: Migration to Swift 5 and a modern Xcode version is required.
Because the SDK depends on:
- Modern WebKit and networking APIs
- Updated security & TLS requirements
- Apple-mandated platform security standards
Apps targeting older iOS versions are increasingly restricted by Apple and App Store policies.
Updated about 2 hours ago
