-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
runner
authored and
runner
committed
Nov 1, 2024
1 parent
ca0e821
commit e74007f
Showing
122 changed files
with
11,936 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
github "stripe/stripe-ios" == 23.27.3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,244 @@ | ||
# Changelog | ||
|
||
## v4.0.3 (Oct 25, 2024) | ||
|
||
### Bug Fixes | ||
- Fix issue with SDK assets not loading properly when using Swift Package Manager | ||
|
||
## v4.0.2 (Jun 20, 2024) | ||
|
||
### Updates | ||
- `OPPaymentCardDetailsView`: Add new property for setting alignment of the built in error message text | ||
- `OPPaymentCardCvvView`: Add new property for setting alignment of the built in error message text | ||
- `OPPaymentCardCvvView`: Fixed issue with text color not updating immediately after being set | ||
- TestHarness: Fixed custom error message for invalid card numbers | ||
|
||
### Bug Fixes | ||
- Fixed crash on SDK initialization/setup | ||
|
||
### Dependency Updates | ||
- Updated to Stripe iOS v23.27.3 | ||
- Xcode 14 is [no longer supported by Apple](https://developer.apple.com/news/upcoming-requirements/?id=04292024a). Please upgrade to Xcode 15 or later. | ||
|
||
## v4.0.1 (Mar 20, 2024) | ||
|
||
### Updates | ||
- Added Swift Package Manager Support | ||
- Deprecated `OPSetupParameters.freshSetup` | ||
- Added public getter for `OloPayAPI.environment` | ||
|
||
#### Dependency Updates | ||
- Updated to Stripe iOS v23.24.1 | ||
|
||
## v4.0.0 (Oct 27, 2023) | ||
|
||
#### Breaking Changes | ||
- `OloPayAPI`: Removed previously deprecated versions of `createPaymentMethod(...)` | ||
- Changed all references of `CVC` to `CVV` | ||
- See: `OPCardErrorType` | ||
- See: `OPCardField` | ||
- See: `OPStrings` | ||
- Removed `OPCardErrorType.incorrectNumber` and merged it's use case with `OPCardErrorType.invalidNumber` | ||
- Removed `OPCardErrorType.incorrectZip` and merged it's use case with `OPCardErrorType.invalidZip` | ||
- Changed the method signature of `OPCardErrorMessageBlock` | ||
- See: `OPPaymentCardDetailsView.errorMessageHandler` | ||
- `OPPaymentCardDetailsView` | ||
- `OPPaymentCardDetailsView.getPaymentMethodParams(...)` no longer throws an exception if card details are invalid and instead returns `nil` | ||
|
||
#### Updates | ||
- Added support for CVV tokenization | ||
- See: new `OPPaymentCardCvvView` control | ||
- See: `OloPayAPI.createCvvUpdateToken(...)` | ||
- 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` | ||
- 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 (and `OPPaymentCardDetailsView.fieldStatesObjc` for Obj-c support) | ||
- Deprecated all properties that make use of `CVC` in favor of new ones that make use of `CVV` | ||
- 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 | ||
|
||
#### Bug Fixes | ||
- `OPPaymentCardDetailsForm`: Fixed bug in `becomeFirstResponder()` that prevented the control from becoming the first responder | ||
- `OPPaymentCardDetailsView` | ||
- 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 | ||
|
||
#### Dependency Updates | ||
- Updated to Stripe iOS v23.17.2 | ||
|
||
## v3.0.0 (July 14, 2023) | ||
|
||
#### Breaking Changes | ||
- `OPApplePayContextProtocol:` Added `throws` to signature of `presentApplePay(...)` | ||
- `OPApplePayContext:` Added `throws` to signature of `presentApplePay(...)`, which will now throw errors for an empty or missing merchant id or company label | ||
|
||
#### Updates | ||
- `OPApplePayContext`: General improvements to the Apple Pay flow | ||
- `OPApplePayContextProtocol:` Added `presentApplePay(...)` overload that also takes a merchant id and company label as parameters | ||
- `OPApplePayContext:` Added `presentApplePay(...)` overload that also takes a merchant id and company label as parameters | ||
- `OPApplePayContextError:` Added `emptyCompanyLabel` and `emptyMerchantId` enum values | ||
|
||
## v2.1.6 (Jun 16, 2023) | ||
|
||
#### Updates | ||
- Improved caching mechanism when switching between Test and Production environments during development | ||
- Fix incorrect title for CocoaPods Setup documentation | ||
|
||
#### Dependency Updates | ||
- Updated to Stripe iOS v23.9.0 | ||
|
||
## v2.1.5 (Dec 9, 2022) | ||
|
||
#### Bug Fixes | ||
- Fixed bug with CocoaPods referencing an older version of Stripe iOS SDK | ||
|
||
## v2.1.4 (Dec 5, 2022) | ||
|
||
#### Updates | ||
- Reverted Podspec back use https instead of ssh (as recommended by CocoaPods) | ||
- Updated CocoaPods, Carthage, and Manual setup documentation | ||
|
||
#### Dependency Updates | ||
- Updated to Stripe iOS v23.2.0 (see updated setup instructions) | ||
|
||
## v2.1.3 (Nov 15, 2022) | ||
|
||
#### Updates | ||
- Fixed typo in podspec source url | ||
|
||
## v2.1.2 (Nov 15, 2022) | ||
|
||
#### Updates | ||
- Changed Podspec to use ssh instead of https | ||
- Fixed missing setup guides in documentation | ||
|
||
## v2.1.1 (Nov 9, 2022) | ||
|
||
#### Updates | ||
- Added missing podspec file to fix CocoaPods usage | ||
- Updated Carthage usage guide with proper tag syntax | ||
|
||
## v2.1.0 (Nov 7, 2022) | ||
|
||
#### Breaking Changes | ||
- Added Carthage support (Note: Build path of Stripe dependencies changed) | ||
|
||
#### Updates | ||
- Added CocoaPods support | ||
- `OPPaymentCardDetailsView`: Add US and CA postal code validation | ||
|
||
## v2.0.0 (Sep 27, 2022) | ||
|
||
#### Breaking Changes | ||
- Removed `OloPaySDK-Dev` target | ||
- Added `OPEnvironment` enum | ||
- `OPSetupParams`: Added environment parameter and reordered existing parameters | ||
|
||
#### Bug Fixes | ||
- Fixed Xcode 14 compilation error | ||
- `OPPaymentCardDetailsView`: Fixed postal code error message displaying when it shouldn't | ||
|
||
#### Dependency Updates | ||
- Update to Stripe iOS v22.8.1 | ||
|
||
## v1.2.1 (May 18, 2022) | ||
|
||
#### Bug Fixes | ||
- Fixed typo in error message for empty CVC fields | ||
- Fixed test harness incorrectly logging whether the `OPPaymentCardDetailsForm` is valid or not | ||
|
||
#### Updates | ||
- `OPPaymentCardDetailsView`: Error message now displays if `getPaymentMethodParams()` is called and card details are invalid | ||
- `OPPaymentCardDetailsView`: Added `hasErrorMessage(...)` | ||
- `OPPaymentCardDetailsView`: Added `getErrorMessage(...)` | ||
- `OPCardBrand`: Added `unsupported` 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 | ||
|
||
## 1.2.0 (Feb 28, 2022) | ||
|
||
#### Bug Fixes | ||
- Fixes for hybrid app solutions (e.g. React Native) | ||
- Test Harness compilation fixes after updating Stripe SDK | ||
|
||
#### Updates | ||
- Official React Native bridging files support | ||
- Added SDK setup steps to documentation | ||
|
||
#### Dependency Updates | ||
- Update to Stripe iOS v21.12.0 | ||
|
||
## 1.1.3 (Dec 17, 2021) | ||
|
||
#### Updates | ||
- `OloPayAPI`: Added safeguard to `createPaymentRequest(...)` for Apple Pay merchant id and company name | ||
- `OloPayAPI`: : Added more robust retry mechanism in `createPaymentMethod(...)` | ||
- `OloPayApiInitializer`: Added completion handler to `setup(...)` | ||
- `OPError`: Added public constructor | ||
- `OPPaymentMethod`: Added `country` property | ||
- `OPPaymentMethodProtocol`: Added `country` property | ||
- Added unit tests | ||
|
||
## 1.1.2 (Oct 22, 2021) | ||
|
||
#### Updates | ||
- Minor Xcode project tweaks | ||
|
||
## 1.1.1 (Oct 22, 2021) | ||
|
||
#### Updates | ||
- Minor Xcode project tweaks | ||
|
||
## 1.1.0 (Oct 21, 2021) | ||
|
||
#### Breaking Changes | ||
- Removed `OloPayAPIGateway` (`OloPayAPI` should now be used directly) | ||
- `OloPayAPI`: Removed `setup()` method | ||
- `OloPayApiInitializer`: Added `setup()` method | ||
|
||
#### Bug Fixes | ||
- Fixed issue with Carthage always pulling the latest version of the Stripe SDK | ||
- `OPPaymentCardDetailsView`: Added missing `@objc` annotations | ||
|
||
#### Updates | ||
- 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` | ||
- `OloPayAPI`: Added `createPaymentMethod(...)` that takes an instance of `OPPaymentMethodParamsProtocol` | ||
- `OloPayAPI`: Deprecated `createPaymentMethod(...)` that takes an instance of `OPPaymentCardDetailsForm` | ||
- `OloPayAPI`: Deprecated `createPaymentMethod(...)` that takes an instance of `OPPaymentCardDetailsView` | ||
- `OloPayAPI`: More robust error handling in `createPaymentMethod(...)` | ||
- `OPPaymentCardDetailsView`: Added `expirationIsValid` convenience property | ||
- `OPPaymentCardDetailsView`: Added `expirationIsEmpty` convenience property | ||
- `OPPaymentCardDetailsView`: Added `postalCodeIsEmpty` convenience property | ||
- `OPPaymentCardDetailsView`: Added ability to provide custom error messages via `errorMessageHandler` property | ||
- `OPPaymentCardDetailsView`: Added ability to turn off display of error messages | ||
- `OPPaymentCardDetailsView`: Added `errorMessage` property | ||
- `OPPaymentCardDetailsView`: Added `getUserFacingMessage(...)` to get an error message for a specific field | ||
- `OPPaymentCardDetailsView`: Added `getPaymentMethodParams(...)` | ||
|
||
## 1.0.1 (Sep 24, 2021) | ||
|
||
#### Updates | ||
- `OPPaymentCardDetailsView`: `isValid` property now returns false if the card type isn't supported by Olo Pay | ||
- `OPPaymentCardDetailsView`: 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 | ||
|
||
## 1.0.0 | ||
- Initial release |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
**Olo Pay Software Development Kit License Agreement** | ||
|
||
Copyright © 2022 Olo Inc. All rights reserved. | ||
|
||
Subject to the terms and conditions of the license, you are hereby granted a non-exclusive, worldwide, royalty-free license to (a) copy and modify the software in source code or binary form for your use in connection with the software services and interfaces provided by Olo, and (b) redistribute unmodified copies of the software to third parties. The above copyright notice and this license shall be included in or with all copies or substantial portions of the software. | ||
|
||
Your use of this software is subject to the Olo APIs Terms of Use, available at https://www.olo.com/api-usage-terms. This license does not grant you permission to use the trade names, trademarks, service marks, or product names of Olo, except as required for reasonable and customary use in describing the origin of the software and reproducing the content of this license. | ||
|
||
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
Pod::Spec.new do |spec| | ||
spec.name = "OloPaySDK" | ||
spec.version = "4.0.3" | ||
spec.summary = "A CocoaPods library for the Olo Pay SDK written in Swift" | ||
spec.description = <<-DESC | ||
Olo Pay is an E-commerce payment solution designed to help restaurants grow, protect, and support their digital ordering and delivery business. Olo Pay is specifically designed for digital restaurant ordering to address the challenges and concerns that weʼve heard from thousands of merchants. | ||
DESC | ||
|
||
spec.homepage = "https://github.com/ololabs/olo-pay-ios-sdk-releases" | ||
spec.license = { :type => "Olo Pay SDK License", :file => "LICENSE.md" } | ||
spec.author = "Olo, Inc." | ||
|
||
spec.platform = :ios | ||
spec.ios.deployment_target = "13.0" | ||
spec.swift_version = "5.0" | ||
|
||
spec.source = { :git => "https://github.com/ololabs/olo-pay-ios-sdk-releases.git", :tag => "#{spec.version}" } | ||
spec.source_files = "**/src/OloPaySDK/OloPaySDK/**/*.{h,m,swift}" | ||
spec.public_header_files = "**/src/OloPaySDK/OloPaySDK/**/*.h" | ||
spec.dependency "Stripe", "23.27.3" | ||
spec.resource_bundles = {"OloPaySDK" => [ "**/src/OloPaySDK/OloPaySDK/Assets/**/SdkInfo.plist" ]} | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
// swift-tools-version: 5.7.1 | ||
// The swift-tools-version declares the minimum version of Swift required to build this package. | ||
|
||
import PackageDescription | ||
|
||
let package = Package( | ||
name: "OloPaySDK", | ||
platforms: [.iOS(.v13)], | ||
products: [ | ||
.library( | ||
name: "OloPaySDK", | ||
targets: ["OloPaySDK"] | ||
), | ||
], | ||
dependencies: [ | ||
.package(url: "https://github.com/stripe/stripe-ios.git", exact: "23.27.3") | ||
], | ||
targets: [ | ||
.target( | ||
name: "OloPaySDK", | ||
dependencies: [ | ||
.product(name: "Stripe", package: "stripe-ios"), | ||
], | ||
path: "src/OloPaySDK/OloPaySDK" | ||
), | ||
.testTarget( | ||
name: "OloPaySDKTests", | ||
dependencies: ["OloPaySDK"], | ||
path: "src/OloPaySDK/OloPaySDKTests" | ||
), | ||
], | ||
swiftLanguageVersions: [.v5] | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# Olo Pay iOS SDK | ||
|
||
## About Olo Pay | ||
[Olo Pay](https://www.olo.com/solutions/pay/) is an E-commerce payment solution designed to help restaurants grow, protect, and support their digital ordering and delivery business. Olo Pay is specifically designed for digital restaurant ordering to address the challenges and concerns that weʼve heard from thousands of merchants. | ||
|
||
## About the SDK | ||
The Olo Pay iOS SDK allows partners to easily add PCI-compliant credit card and Apple Pay functionality to their checkout flow and seamlessly integrate with the Olo Ordering API. This repo contains source code and documentation for the Olo Pay iOS SDK. Use of the SDK is subject to the terms of the [Olo Pay SDK License](https://github.com/ololabs/olo-pay-ios-sdk-releases/blob/main/LICENSE.md). | ||
|
||
The Olo Pay SDK supports Carthage, CocoaPods, and Swift Package Manager. | ||
|
||
## SDK Documentation | ||
|
||
Documentation for the [current version](https://ololabs.github.io/olo-pay-ios-sdk-releases/index.html) of the Olo Pay SDK, including setup instructions and full class documentation, are available online. Follow the steps in the `Setup` and `Getting Started` sections to begin integrating the SDK into your app. Documentation for [older versions](https://ololabs.github.io/olo-pay-ios-sdk-releases/versions/index.html) of the SDK are also available if needed. | ||
|
||
For more information about integrating Olo Pay into your payment solutions, refer to our [Olo Pay Dev Portal Documentation](https://developer.olo.com/docs/load/olopay) _(Note: requires an Olo Developer account)_. | ||
|
||
## Example App | ||
|
||
This repo contains a fully-functional example app that can be used as a guide for integrating and working with the Olo Pay iOS SDK. Source code for the example app can be found [here](https://github.com/ololabs/olo-pay-ios-sdk-releases/tree/main/src/TestHarness/iOS). Details about using and building the example app can be found in the `SDK Test Harness App` section of our [Olo Pay Dev Portal's iOS SDK Documentation](https://developer.olo.com/docs/load/olopay#section/Native-iOS/Using-the-iOS-SDK) _(Note: requires an Olo Developer account)_. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
#!/bin/bash | ||
carthage update --use-xcframeworks --no-use-binaries --platform iOS |
Oops, something went wrong.