FramesIos alternatives and similar libraries
Based on the "Payments" category.
Alternatively, view FramesIos alternatives based on common mentions on social networks and blogs.
-
CreditCardForm-iOS
CreditCardForm is iOS framework that allows developers to create the UI which replicates an actual Credit Card. -
Moltin
Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required.
Scout APM - Leading-edge performance monitoring starting at $39/month
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of FramesIos or a related project?
README
FramesIos
Requirements
- iOS 10.0+
- Xcode 9.0+
- Swift 5.0+
Documentation
You can find the FramesIos documentation on this website.
- Usage
- Customizing the card view
- Walkthrough
Installation
CocoaPods
CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:
$ gem install cocoapods
CocoaPods 1.1+ is required to build FramesIos 1.0+.
To integrate FramesIos into your Xcode project using CocoaPods, specify it in your Podfile
:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!
target '<Your Target Name>' do
pod 'Frames', '~> 3.0'
end
Then, run the following command:
$ pod install
Carthage
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
You can install Carthage with Homebrew using the following command:
$ brew update
$ brew install carthage
To integrate FramesIos into your Xcode project using Carthage, specify it in your Cartfile
:
github "checkout/frames-ios" ~> 3.0
Run carthage update
to build the framework and drag the built FramesIos
into your Xcode project.
Usage
Import the SDK:
import Frames
Using CardViewController
class ViewController: UIViewController, CardViewControllerDelegate {
let checkoutAPIClient = CheckoutAPIClient(publicKey: "pk_test_6ff46046-30af-41d9-bf58-929022d2cd14",
environment: .sandbox)
var cardViewController: CardViewController {
let checkoutAPIClient = CheckoutAPIClient(publicKey: "pk_test_03728582-062b-419c-91b5-63ac2a481e07",
environment: .sandbox)
return CardViewController(checkoutApiClient: checkoutAPIClient, cardHolderNameState: .hidden, billingDetailsState: .hidden)
}
override func viewDidLoad() {
super.viewDidLoad()
// set the card view controller delegate
cardViewController.delegate = self
// replace the bar button by Pay
cardViewController.rightBarButtonItem = UIBarButtonItem(title: "Pay", style: .done, target: nil, action: nil)
// specified which schemes are allowed
cardViewController.availableSchemes = [.visa, .mastercard]
navigationController?.pushViewController(cardViewController, animated: false)
}
func onTapDone(controller: CardViewController, card: CkoCardTokenRequest) {
checkoutAPIClient.createCardToken(card: card, successHandler: { cardToken in
print(cardToken.id)
}, errorHandler: { error in
print(error)
})
}
}
Using Methods available in FramesIos
You can find more examples on the usage guide.
Create the API Client CheckoutAPIClient
:
// replace "pk_test_6ff46046-30af-41d9-bf58-929022d2cd14" by your own public key
let checkoutAPIClient = CheckoutAPIClient(publicKey: "pk_test_6ff46046-30af-41d9-bf58-929022d2cd14",
environment: .sandbox)
Create the CardUtils
instance:
let cardUtils = CardUtils()
Use CardUtils
to verify card number:
/// verify card number
let cardNumber = "4242424242424242"
let isCardValid = cardUtils.isValid(cardNumber: cardNumber)
Create the card token request CkoCardTokenRequest
:
// create the phone number
let phoneNumber = CkoPhoneNumber(countryCode: "44", number: "7777777777")
// create the address
let address = CkoAddress(addressLine1: "test1", addressLine2: "test2", city: "London", state: "London", zip: "N12345", country: "GB")
// create the card token request
let cardTokenRequest = CkoCardTokenRequest(number: cardNumber, expiryMonth: "07", expiryYear: "22", cvv: "100", name: "Test Customer", billingAddress: address, phone: phoneNumber)
Create a card token:
let checkoutAPIClient = CheckoutAPIClient(publicKey: "pk_test_.....", environment: .sandbox)
// create the phone number
let phoneNumber = CkoPhoneNumber(countryCode: "44", number: "7777777777")
// create the address
let address = CkoAddress(addressLine1: "test1", addressLine2: "test2", city: "London", state: "London", zip: "N12345", country: "GB")
// create the card token request
checkoutAPIClient.createCardToken(card: cardTokenRequest, successHandler: { cardToken in
// success
}, errorHandler: { error in
// error
})
The success handler takes an array of CkoCardTokenResponse
as a parameter.
The error handler takes an ErrorResponse
as a parameter.
Customize with CheckoutTheme
var cardViewController: CardViewController {
let checkoutAPIClient = CheckoutAPIClient(publicKey: "pk_test_03728582-062b-419c-91b5-63ac2a481e07",
environment: .sandbox)
CheckoutTheme.primaryBackgroundColor = .blue
CheckoutTheme.secondaryBackgroundColor = .purple
CheckoutTheme.errorColor = .yellow
CheckoutTheme.color = .green
return CardViewController(checkoutApiClient: checkoutAPIClient, cardHolderNameState: .hidden, billingDetailsState: .normal)
}
License
FramesIos is released under the MIT license. See LICENSE for details.
*Note that all licence references and agreements mentioned in the FramesIos README section above
are relevant to that project's source code only.