Luhn Credit Card Validation Algorithm
This is a port of the Luhn Algorithm, generally used for validating Credit Card details, to Objective-C (iOS).
Swift port can be found at https://github.com/MaxKramer/SwiftLuhn.
It's as simple as calling one single method; no special formatting is required.
You must run
pod installbefore opening the Example Project's 'workspace.
Import the header:
#import "Luhn.h"
Call the class method returning a
BOOLas to whether the string is valid or not:
BOOL isValid = [Luhn validateString:@"some credit card number"];if (isValid) { // process payment
} else { // alert user }
Alternatively, you can use the NSString category (no additional imports required):
NSString *ccNumber = @"378282246310005"; BOOL isValid = [ccNumber isValidCreditCardNumber];
You can also get the type of the credit card i.e. Visa, Diners, Amex, etc:
OLCreditCardType cardType = [ccNumber creditCardType]; // or OLCreditCardType cardType = [Luhn typeFromString:ccNumber];
If you come across any issues or have a feature request, please open an issue or find me on:
Twitter: @maxkramer
Website: http://maxkramer.co
|Name|Website|Reason| |:---|:------|:-----| |Paypal|http://www.paypalobjects.com/enUS/vhelp/paypalmanagerhelp/creditcardnumbers.htm|List of valid credit card numbers for the unit tests|
Ayaka Nonaka for updating the Cocoapod spec and helping me with other aspects of the project!
Twitter: @ayanonagon
This project is licensed under the MIT License.