- Support for Xcode 16
OPPaymentCardDetailsForm
: Updated constraints to be more flexibleOPApplePayLauncherError
: AddedunexpectedError
value
OPApplePayLauncher
: Fixed bug that caused some error scenarios being improperly treated as timeout errors or a user cancellation
- Updated to Stripe iOS v24.7.0
- Apple Pay overhaul
- Removed Apple Pay configuration from SDK setup/initialization and move it to OPApplePayLauncher
- Apple Pay sheet can be displayed multiple times from a single OPApplePayLauncher instance
- Added support for timeout detection
- Added support for line items
- Renamed classes, properties, and functions for clarity
- Added additional data specific to Apple Pay to payment methods
- Simplified SDK initialization
OloPayAPI
- Removed
deviceSupportsApplePay()
in favor ofOPApplePayLauncher.canMakePayments()
- Removed
createPaymentRequest()
. Payment requests are now created byOPApplePayLauncher
as needed
- Removed
OloPayApiInitializer
: Changedsetup()
to take anOPEnvironment
parameter instead ofOPSetupParameters
OPApplePayContext
- Renamed to
OPApplePayLauncher
- Changed constructor to take an
OPApplePayConfiguration
parameter instead of aPKPaymentRequest
parameter - Renamed
presentApplePay()
topresent()
- Renamed to
OPApplePayContextError
- Renamed to
OPApplePayLauncherError
- Removed
missingMerchantId
value - Removed
missingCompanyLabel
value
- Renamed to
OPApplePayContextDelegate
- Renamed to
OPApplePayLauncherDelegate
- Renamed
applePaymentMethodCreated()
topaymentMethodCreated()
and changed method signature - Renamed
applePaymentCompleted()
toapplePayDismissed()
and changed method signature
- Renamed to
OPApplePayContextProtocol
: Renamed toOPApplePayLauncherProtocol
OPPaymentStatus
: Renamed toOPApplePayStatus
OPSetupParameters
: Class removedOPPaymentMethodProtocol
- Renamed
country
property tocountryCode
- The
last4
property is no longer nullable - The
postalCode
property is no longer nullable - The
countryCode
property is no longer nullable
- Renamed
- New Classes/Enums
OPAddressProtocol
OPApplePayConfiguration
OPCurrencyCode
OPApplePayLauncher
- Apple Pay sheet can be presented multiple times from the same instance
- Changed signatures of
present()
methods - Added
configuration
property - Added
delegate
proeprty - Added
canMakePayments()
method
OPApplePayLauncherError
- Added
configurationNotSet
value - Added
delegateNotSet
value - Added
invalidCountryCode
value - Added
applePayNotSupported
value - Added
lineItemTotalMismatchError
value
- Added
OPApplePayStatus
: Addedtimeout
valueOPPaymentMethodProtocol
- Added
applePayCardDescription
property - Added
billingAddress
property - Added
email
property - Added
fullName
property - Added
fullPhoneticName
property - Added
phoneNumber
property
- Added
- Updated to Stripe iOS v24.5.0
OPPaymentCardDetailsView
: Added newbecomeFirstResponder
method to allow for setting a specific field as first reponder.OPPaymentCardDetailsForm
: Added newbecomeFirstResponder
method to allow for setting a specific field as first reponder.OPPaymentCardCvvView
: AddedintrinsicContentSize
to properly account for the error message size.
OPPaymentCardDetailsView
: FixintrinsicContentSize
to properly account for the error message size.
- Updated to Stripe iOS v24.1.0
- Fix issue with SDK assets not loading properly when using Swift Package Manager
OPPaymentCardDetailsView
: Add new property for setting alignment of the built in error message textOPPaymentCardCvvView
- Add new property for setting alignment of the built in error message text
- Fixed issue with text color not updating immediately after being set
- TestHarness: Fixed custom error message for invalid card numbers
- Fixed crash on SDK initialization/setup
- Updated to Stripe iOS v23.27.3
- Xcode 14 is no longer supported by Apple. Please upgrade to Xcode 15 or later.
- Added Swift Package Manager Support
OPSetupParameters
: DeprecatedfreshSetup
propertyOloPayAPI
: Added public getter forenvironment
property
- Updated to Stripe iOS v23.24.1
OloPayAPI
: Removed previously deprecated versions ofcreatePaymentMethod(...)
- Changed all references of
CVC
toCVV
- See:
OPCardErrorType
- See:
OPCardField
- See:
OPStrings
- See:
OPCardErrorType
- Removed
incorrectNumber
property and merged it's use case withinvalidNumber
- Removed
incorrectZip
property and merged it's use case withinvalidZip
- Removed
- Changed the method signature of
OPCardErrorMessageBlock
- See:
OPPaymentCardDetailsView.errorMessageHandler
- See:
OPPaymentCardDetailsView
OPPaymentCardDetailsView.getPaymentMethodParams(...)
no longer throws an exception if card details are invalid and instead returnsnil
- Added support for CVV tokenization
- See: new
OPPaymentCardCvvView
control - See:
OloPayAPI.createCvvUpdateToken(...)
- See: new
- Added new callback methods to delegates that do not contain a UI parameter to allow for better separation of UI and data layers
- See:
OPPaymentCardDetailsFormDelegate
- See:
OPPaymentCardDetailsViewDelegate
- See:
- Improved support for handling unsupported card brands
- Added
OPPaymentMethodProtocol.environment
property to know what environment was used to create a payment method OPPaymentCardDetailsView
- Updated default error font to respect user's font scaling settings
- Added
OPPaymentCardDetailsView.fieldStates
property (andOPPaymentCardDetailsView.fieldStatesObjc
for Obj-c support) - Deprecated all properties that make use of
CVC
in favor of new ones that make use ofCVV
- Changed default placeholder for postal code field to "Postal Code" regardless of country setting
- Improvded algorithm for detecting and displaying error messages to the user
- Test Harness Improvements
- New tabbed interface for each main aspect of the Olo Pay SDK: Credit Cards, Apple Pay, CVV Tokenization
- Updated to use MVVM architecture
OPPaymentCardDetailsForm
: Fixed bug inbecomeFirstResponder()
that prevented the control from becoming the first responderOPPaymentCardDetailsView
- Fixed bug with error message displaying when calling
OPPaymentCardDetailsView.clear(...)
- Fixed bug preventing an error from displaying when pressing the back button on the keyboard
- Fixed bug with error message displaying when calling
- Updated to Stripe iOS v23.17.2
OPApplePayContextProtocol:
Addedthrows
to signature ofpresentApplePay(...)
OPApplePayContext:
Addedthrows
to signature ofpresentApplePay(...)
, which will now throw errors for an empty or missing merchant id or company label
OPApplePayContext
- General improvements to the Apple Pay flow
- Added
presentApplePay(...)
overload that also takes a merchant id and company label as parameters
OPApplePayContextProtocol:
AddedpresentApplePay(...)
overload that also takes a merchant id and company label as parametersOPApplePayContextError:
AddedemptyCompanyLabel
andemptyMerchantId
enum values
- Improved caching mechanism when switching between Test and Production environments during development
- Fix incorrect title for CocoaPods Setup documentation
- Updated to Stripe iOS v23.9.0
- Fixed bug with CocoaPods referencing an older version of Stripe iOS SDK
- Reverted Podspec back use https instead of ssh (as recommended by CocoaPods)
- Updated CocoaPods, Carthage, and Manual setup documentation
- Updated to Stripe iOS v23.2.0 (see updated setup instructions)
- Fixed typo in podspec source url
- Changed Podspec to use ssh instead of https
- Fixed missing setup guides in documentation
- Added missing podspec file to fix CocoaPods usage
- Updated Carthage usage guide with proper tag syntax
- Added Carthage support (Note: Build path of Stripe dependencies changed)
- Added CocoaPods support
OPPaymentCardDetailsView
: Add US and CA postal code validation
- Removed
OloPaySDK-Dev
target - Added
OPEnvironment
enum OPSetupParams
: Added environment parameter and reordered existing parameters
- Fixed Xcode 14 compilation error
OPPaymentCardDetailsView
: Fixed postal code error message displaying when it shouldn't
- Update to Stripe iOS v22.8.1
- Fixed typo in error message for empty CVC fields
- Fixed test harness incorrectly logging whether the
OPPaymentCardDetailsForm
is valid or not
OPPaymentCardDetailsView
- Error message now displays if
getPaymentMethodParams()
is called and card details are invalid - Added
hasErrorMessage(...)
- Added
getErrorMessage(...)
- Error message now displays if
OPCardBrand
: Addedunsupported
value- Updated card error messages to distinguish between invalid card numbers and unsupported card numbers
- Added "Log Form Valid Changes" option to Test Harness settings
- Removed Carthage files to reduce SDK download size
- Fixes for hybrid app solutions (e.g. React Native)
- Test Harness compilation fixes after updating Stripe SDK
- Official React Native bridging files support
- Added SDK setup steps to documentation
- Update to Stripe iOS v21.12.0
OloPayAPI
:- Added safeguard to
createPaymentRequest(...)
for Apple Pay merchant id and company name - Added more robust retry mechanism in
createPaymentMethod(...)
- Added safeguard to
OloPayApiInitializer
: Added completion handler tosetup(...)
OPError
: Added public constructorOPPaymentMethod
: Addedcountry
propertyOPPaymentMethodProtocol
: Addedcountry
property- Added unit tests
- Minor Xcode project tweaks
- Minor Xcode project tweaks
- Removed
OloPayAPIGateway
(OloPayAPI
should now be used directly) OloPayAPI
: Removedsetup()
methodOloPayApiInitializer
: Addedsetup()
method
- Fixed issue with Carthage always pulling the latest version of the Stripe SDK
OPPaymentCardDetailsView
: Added missing@objc
annotations
- Added missing documentation
- New Classes/Protocols/Enums
- Added
OloPayApiInitializer
- Added
OloPayAPIProtocol
- Added
OPPaymentCardDetailsForm
- Added
OPPaymentMethodProtocol
- Added
OPPaymentMethodParams
- Added
OPPaymentMethodParamsProtocol
- Added
OPPaymentCardDetailsForm
- Added
OPCardFormStyle
- Added
OPStrings
- Added
OloPayAPI
- Added
createPaymentMethod(...)
that takes an instance ofOPPaymentMethodParamsProtocol
- Deprecated
createPaymentMethod(...)
that takes an instance ofOPPaymentCardDetailsForm
- Deprecated
createPaymentMethod(...)
that takes an instance ofOPPaymentCardDetailsView
- More robust error handling in
createPaymentMethod(...)
- Added
OPPaymentCardDetailsView
:- Added
expirationIsValid
convenience property - Added
expirationIsEmpty
convenience property - Added
postalCodeIsEmpty
convenience property - Added ability to provide custom error messages via
errorMessageHandler
property - Added ability to turn off display of error messages
- Added
errorMessage
property - Added
getUserFacingMessage(...)
to get an error message for a specific field - Added
getPaymentMethodParams(...)
- Added
OPPaymentCardDetailsView
isValid
property now returns false if the card type isn't supported by Olo Pay- New properties to check the validity of each card field
OloPayAPI
:createPaymentMethod(...)
returns an error if the card type isn't supported by Olo Pay
- Initial release