FAQs - Frequently Asked Questions

Pine Labs iOS SDK - FAQ

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:

  • onSuccessResponse
  • onFailureResponse
  • onCancelTxn

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.


Ask AI
Assistant
Order Lifecycle
Refunds
Settlements
Checkout
Dashboard
International Payments
How do I implement webhook notifications for payment status updates, and what's the recommended way to verify webhook authenticity?
How do I integrate Pine Labs payment gateway with my React Native mobile app and what are the required API credentials?
Can I customize the payment UI for card transactions, and what parameters can I pass to modify the checkout experience for my customers?
Assistant