Swiftpack.co - paypal/paypal-ios as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by paypal.
paypal/paypal-ios 0.0.11
One merchant integration point for all of PayPal's services
⭐️ 37
🕓 4 weeks ago
.package(url: "https://github.com/paypal/paypal-ios.git", from: "0.0.11")

PayPal iOS SDK

Welcome to PayPal's iOS SDK. This library will help you accept card, PayPal, Venmo, and alternative payment methods in your iOS app.



If you have suggestions for features that you would like to see in future iterations of the SDK, please feel free to open an issue, PR, or discussion with suggestions. This product is fully open source. We welcome any and all feedback.


The PayPal iOS SDK supports a minimum deployment target of iOS 14+ and requires Xcode 14.3+ and macOS Ventura 13. See our Client Deprecation policy to plan for updates.

Package Managers

This SDK supports:

  • CocoaPods
  • Swift Package Manager


This SDK supports Swift 5.7+. This SDK is written in Swift.

UI Frameworks

This SDK supports:

  • UIKit
  • SwiftUI

Client ID

The PayPal SDK uses a client ID for authentication. This can be found in your PayPal Developer Dashboard.


Each feature module has its own onboarding guide:

To accept a certain payment method in your app, you only need to include that payment-specific submodule.


  1. Open PayPal.xcworkspace in Xcode
  2. Resolve the Swift Package Manager packages if needed: File > Packages > Resolve Package Versions or by running swift package resolve in Terminal
  3. Select the Demo scheme, and then run

Xcode 14.3+ is required to run the demo app.


This project uses the XCTest framework provided by Xcode. Every code path should be unit tested. Unit tests should make up most of the test coverage, with integration, and then UI tests following.

This project also takes advantage of Fastlane to run tests through our CI and from terminal. In order to invoke our unit tests through terminal, run the following commands from the root level directory of the repository:

bundle install
bundle exec fastlane unit_tests

If you would like to get the code coverage for all of the modules within the workspace, run the following:

bundle install
bundle exec fastlane coverage


GitHub Actions CI will run all tests and build commands per package manager on each PR.

Local Testing

We use Fastlane for command-line build tasks.

Release Process

This SDK follows Semantic Versioning. The release process will be automated via GitHub Actions.


Client analytics will be collected via Lighthouse/FPTI.


Stars: 37
Last commit: 2 days ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

4 weeks ago
  • PayPalNativePayments
    • Bump PayPalCheckout to 1.1.0
  • CardPayments
    • Add vault method
    • Add CardVaultRequest and CardVaultResult types for interacting with vault method
    • Add CardVaultDelegate protocol to receive success and failure results
    • Add CardVaultDelegate property to CardClient
  • Breaking Changes
    • FraudProtection
      • Update PayPalDataCollector constructor to require a configuration instead of an environment
      • Remove PayPalDataCollectorEnvironment enum

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics