• Log in
  • Contact Us

Get in touch  

Swift eCommerce SDK

Embed commerce functionality into your iPhone, iPad, Apple TV or Apple Watch with our native iOS Swift SDK.

Create a store Learn more
Simple to use
Get up and running in no time at all.
Run your store in any currency you have.
Full test suite
We make sure our code works, so that your code works.
No dependencies
We don't need other code to run, so you don't need to manage versions.

Start building

View the full SDK and see the example apps over on GitHub.

Go to the repo

Install in seconds

It’s as easy as adding a CocoaPod, installing via Carthage, or using the Swift Package Manager. Moltin is incredibly powerful & lightning fast. With a fully native SDK, it’s super simple to use in Swift.

View guide
let moltin: Moltin = Moltin(withClientID: "XXXX")

Simple and powerful shopping cart

The Moltin Swift SDK allows you to quickly and easily add a shopping cart to your native iOS app.

moltin.product.all { (result) in
        switch result {
          case .success(let response):
            print("Got products: \(response.data)")
          case .failure(let error):
            print("Got failure: \(error)")
      moltin.cart.addProduct(withID: product.id,
                                     ofQuantity: 1,
                                     toCart: "XXXX") { result in
        switch result {
          case .success:
            print("Added a product to the cart")
          case .failure(let error):
            print("Got error adding a product to the cart: \(error)")

Blazing fast

Make your online store truly mobile-ready by bringing your products from your web store directly into your native iOS app, with our simple-to-use SDK.

Process payments

Moltin aggregates the most popular payment gateways, allowing you to choose your preferred provider. You can also integrate Apple Pay with your store’s iOS app via Stripe - like in our example app.

let customer = Customer(withEmail: "XXXX", withName: "XXXX")
      let billingAddress = Address(withFirstName: "XXXX", withLastName: "XXXX")
      billingAddress.line1 = "XXXX"
      billingAddress.county = "XXXX"
      billingAddress.country = "XXXX"
      billingAddress.postcode = "XXXX"
      moltin.cart.checkout(cart: "XXXX",
      withCustomer: customer,
      withBillingAddress: billingAddress,
      withShippingAddress: nil) { (result) in
        switch result {
          case .success(let order):
            print("Created order: \(order)")
          case .failure(let error):
            print("Could not create order: \(error)")
      let paymentMethod: PaymentMethod = StripeCard(withFirstName: "XXXX",
        withLastName: "XXXX",
        withCardNumber: "XXXX",
        withExpiryMonth: "XXXX",
        withCVVNumber: "XXXX")
      moltin.cart.pay(forOrderID: "XXXX",
      withPaymentMethod: paymentMethod) { (result) in
        switch result {
          case .success(let status):
            print("Paid for order: \(status)")
          case .failure(let error):
            print("Could not pay for order: \(error)")

A feature-rich storefront

Inventory, carts, categorization, search, checkout and more in or Swift. Take a look at our example apps or download the SDK and get started today!

Try the app

Let's build something amazing with Moltin

It all starts with a conversation.

Evaluate Product