Skip to content

processout/processout-ios

Repository files navigation

ProcessOut

Get started with our ProcessOut documentation or browse the SDK reference:

Requirements

iOS 13.0+

Modules

Module Description
ProcessOut Allows to interact with ProcessOut API and provides a UI to handle payments.
ProcessOutCheckout3DS Integration with Checkout.com 3D Secure (3DS) mobile SDK.
ProcessOutUI ProcessOut prebuilt UI to handle payments.

Note

We are currently in the process of migrating UI from ProcessOut to ProcessOutUI module. The new module is based on SwiftUI, so styling is not compatible with ProcessOut (that is based on UIKit). Also beware that UI in ProcessOut will be removed in 5.0.0.

Warning

Checkout3DS is currently incompatible with Xcode 16, which also affects ProcessOutCheckout3DS. If you depend on this functionality, please use version 4.20.0 with Xcode 15 until the issue is resolved.

Contributing

We welcome contributions of any kind including new features, bug fixes, and general improvements.

Development requirements

  • A recent version of Xcode (tested with 16.0)
  • Homebrew package manager

Installation

Before going further please make sure that you have installed all dependencies specified in requirements section. Then in order to install remaining dependencies and prepare a project run ./Scripts/BootstrapProject.sh script from repository's root directory. It will create ProcessOut.xcodeproj project that should be used for development.

Note

If you plan to run tests ensure that constants defined in Tests/ProcessOutTests/Sources/Core/Constants.swift and Tests/ProcessOutUITests/Sources/Core/Constants.swift are set to test project credentials. E.g.:

enum Constants {

   /// Project ID.
   static let projectId = "test-proj_K3Ur9LQzcKtm4zttWJ7oAKHgqdiwboAw"

   /// Project's private key.
   static let projectPrivateKey = "key_test_RE14RLcNikkP5ZXMn84BFYApwotD05Kc"

   /// Customer ID.
   static let customerId = "cust_dCFEWBwqWrBFYAtkRIpILCynNqfhLQWX"
}

Running tests

To run tests locally use ./Scripts/Test.sh script. It is also possible to run them directly in Xcode from the ProcessOut target in ProcessOut.xcodeproj.

License

ProcessOut is available under the MIT license. See the LICENSE file for more info.