Skip to content
This repository was archived by the owner on Jan 20, 2024. It is now read-only.

Repository files navigation

SwiftLuhn

SwiftCircleCIVersionCarthage compatibleLicensePlatform

Warning! This repository is no longer maintained.

This is a port of the Luhn Algorithm, generally used for validating debit/credit card details, written in Swift.

SwiftLuhn's HEAD is written in Swift 4. If your project doesn't support Swift 4 yet, please use the 0.2.1 tag.

Objective-C port can be found at https://github.com/MaxKramer/ObjectiveLuhn.

Usage

To run the example project, clone the repo, and run pod install from the Example directory first.

Installation

SwiftLuhn is available through CocoaPods or Carthage (with or without using our pre-built binary).

To install it, simply add the following line to your Podfile:

pod"SwiftLuhn"# use '0.2.1' for Swift 3.X

Or alternatively the following line to your Cartfile:

github "MaxKramer/SwiftLuhn"

Usage

Validation

Call the class method which will throws an exception SwiftLuhn.CardError if the card is invalid.

letcardNumber="378282246310005"do{trySwiftLuhn.performLuhnAlgorithm(with: cardNumber)
// process payment
}catch{
// invalid, alert user
}

Alternatively, you can use the String category:

letisValid= cardNumber.isValidCardNumber()

Card Types

You can also get the type of the card being used which will be one of:

Card Type
American Express
Visa
Mastercard
Discover
Diner's Club
JCB
do{letcardType=trySwiftLuhn.cardType(of: cardNumber)}catch{
// card is invalid
}

Unit Tests

To run the unit test suite, please open the example project and hit CMD + U.

Sources

NameWebsiteReason
Paypalhttp://www.paypalobjects.com/en_US/vhelp/paypalmanager_help/credit_card_numbers.htmList of valid credit card numbers for the unit tests

License

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

About

Debit/Credit card validation port of the Luhn Algorithm in Swift

Resources

Stars

137 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages