Commit cca6379
* chore: Include swiftlint
* feat: Plugin init + Setup Configurations (#1)
Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.
* feat: Check Wallet and Payment Availability (#2)
Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.
* feat: Set Details and Trigger Payment (#3)
Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.
* refactor: Add DocC documentation and minor fixes. (#4)
Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.
* fix: Payment Setup Verification Failed on Invalid Configuration (#5)
Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.
* fix: Errors and Contact Management (#6)
Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).
* fix: Check if GivenName and FamilyName are empty (#7)
* chore: Add Unreleased Section
* Chore: Add Podspec (#9)
* refactor: Simply Generic Method
* chore: Add public podspec
Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.
* feat: Add Stripe as First Payment Gateway (#11)
Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.
* Feat: Add Gateway property to OSPMTDetailsModel (#12)
Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).
* feat: Add AccessToken to Full Payment Process (#13)
Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.
* chore: Set Release Tag
Set release tag on the repo's CHANGELOG file.
* Merge Development Into Main (#10)
* chore: Include swiftlint
* feat: Plugin init + Setup Configurations (#1)
Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.
* feat: Check Wallet and Payment Availability (#2)
Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.
* feat: Set Details and Trigger Payment (#3)
Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.
* refactor: Add DocC documentation and minor fixes. (#4)
Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.
* fix: Payment Setup Verification Failed on Invalid Configuration (#5)
Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.
* fix: Errors and Contact Management (#6)
Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).
* fix: Check if GivenName and FamilyName are empty (#7)
* chore: Add Unreleased Section
* Chore: Add Podspec (#9)
* refactor: Simply Generic Method
* chore: Add public podspec
Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.
* feat: Make library available as xcframework (#15)
Add the necessary script (script.sh) to make the library available as a xcframework.
Remove podspec file as the CocoaPods approach was discarded.
Exchange Stripe pod for a Swift Package Manager.
* chore: Set Release Tag
* Prepare Release 1.1.0 (#14)
* chore: Include swiftlint
* feat: Plugin init + Setup Configurations (#1)
Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.
* feat: Check Wallet and Payment Availability (#2)
Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.
* feat: Set Details and Trigger Payment (#3)
Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.
* refactor: Add DocC documentation and minor fixes. (#4)
Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.
* fix: Payment Setup Verification Failed on Invalid Configuration (#5)
Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.
* fix: Errors and Contact Management (#6)
Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).
* fix: Check if GivenName and FamilyName are empty (#7)
* chore: Add Unreleased Section
* Chore: Add Podspec (#9)
* refactor: Simply Generic Method
* chore: Add public podspec
Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.
* feat: Add Stripe as First Payment Gateway (#11)
Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.
* Feat: Add Gateway property to OSPMTDetailsModel (#12)
Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).
* feat: Add AccessToken to Full Payment Process (#13)
Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.
* chore: Set Release Tag
Set release tag on the repo's CHANGELOG file.
* Prepare Release 1.1.1 (#16)
* chore: Include swiftlint
* feat: Plugin init + Setup Configurations (#1)
Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.
* feat: Check Wallet and Payment Availability (#2)
Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.
* feat: Set Details and Trigger Payment (#3)
Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.
* refactor: Add DocC documentation and minor fixes. (#4)
Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.
* fix: Payment Setup Verification Failed on Invalid Configuration (#5)
Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.
* fix: Errors and Contact Management (#6)
Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).
* fix: Check if GivenName and FamilyName are empty (#7)
* chore: Add Unreleased Section
* Chore: Add Podspec (#9)
* refactor: Simply Generic Method
* chore: Add public podspec
Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.
* feat: Add Stripe as First Payment Gateway (#11)
Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.
* Feat: Add Gateway property to OSPMTDetailsModel (#12)
Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).
* feat: Add AccessToken to Full Payment Process (#13)
Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.
* chore: Set Release Tag
Set release tag on the repo's CHANGELOG file.
* feat: Make library available as xcframework (#15)
Add the necessary script (script.sh) to make the library available as a xcframework.
Remove podspec file as the CocoaPods approach was discarded.
Exchange Stripe pod for a Swift Package Manager.
* chore: Set Release Tag
* fix: Update GitHub Actions (#17)
Update `github_actions.yml` file steps versions.
References: https://outsystemsrd.atlassian.net/browse/RMET-2568
* RMET-3283 ::: Add Privacy Manifest (#19)
* chore: add CODEOWNERS (#18)
Signed-off-by: IT-MikeS <20338451+IT-MikeS@users.noreply.github.com>
* chore: Update Stripe to `23.26.0`
Considering that this new version doesn't work with Xcode 14, we update the minimum versions to:
- xCode 15;
- iOS 14.
These updates require updating `Quick` and `Nimble` to the latest versions: `7.5.0` and `13.2.1` respectively. This requires updating the test cases, to make them pass successfully.
The update to iOS 14 also requires the insertion of the `presentationWindow(for:)` method for `OSPMTApplePayRequestBehaviour`.
Add `Podfile.lock` to the `gitignore` file.
References: https://outsystemsrd.atlassian.net/browse/RMET-3283
* chore: Update scripts
Update `github_actions.yml` file to allow the correct execution of the unit tests.
Update the `build.sh` script by including:
- the Xcode version to run;
- the `sdk`s to run;
- code signing.
* feat: Add Privacy Manifest
References: https://outsystemsrd.atlassian.net/browse/RMET-3283
* chore: Use `macos-14` for GitHub Actions
Replace `macos-latest` with `macos-14`. This is required as we aim to use Xcode 15 to run the unit tests.
Add `Gemfile.lock` file to `gitignore`.
References: https://outsystemsrd.atlassian.net/browse/RMET-3283
* chore: Add CHANGELOG entry
References: https://outsystemsrd.atlassian.net/browse/RMET-3283
---------
Signed-off-by: IT-MikeS <20338451+IT-MikeS@users.noreply.github.com>
Co-authored-by: Mike Summerfeldt <20338451+IT-MikeS@users.noreply.github.com>
* RMET-3340 ::: Prepare Release `1.2.0` (#20)
* chore: Set Release Version
Raise version to `1.2.0`.
References: https://outsystemsrd.atlassian.net/browse/RMET-3340
* fix: Typo
References: https://outsystemsrd.atlassian.net/browse/RMET-3340
* chore: Add missing configurations
---------
Signed-off-by: IT-MikeS <20338451+IT-MikeS@users.noreply.github.com>
Co-authored-by: Mike Summerfeldt <20338451+IT-MikeS@users.noreply.github.com>
1 parent ee57cd8 commit cca6379
File tree
208 files changed
+12445
-3234
lines changed- .github/workflows
- OSPaymentsLib.xcodeproj
- OSPaymentsLibTests
- ModelSpecs
- OSPaymentsLib
- Protocols
- Pods
- CwlCatchExceptionSupport
- Sources/CwlCatchExceptionSupport
- include
- CwlCatchException
- Sources/CwlCatchException
- CwlMachBadInstructionHandler
- Sources/CwlMachBadInstructionHandler
- include
- CwlPosixPreconditionTesting
- Sources/CwlPosixPreconditionTesting
- CwlPreconditionTesting
- Sources/CwlPreconditionTesting
- Nimble
- Carthage/Checkouts/CwlCatchException/Sources/CwlCatchException
- Sources
- NimbleObjectiveC
- include
- Nimble
- Adapters
- Matchers
- Utils
- Pods.xcodeproj
- Quick
- Sources
- QuickObjectiveC
- DSL
- Quick
- Async
- Configuration
- DSL
- Examples
- Hooks
- Target Support Files
- CwlCatchExceptionSupport
- CwlCatchException
- CwlMachBadInstructionHandler
- CwlPosixPreconditionTesting
- CwlPreconditionTesting
- Nimble
- Pods-OSPaymentsLib-OSPaymentsLibTests
- Pods-OSPaymentsLib
- Quick
- docs
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
208 files changed
+12445
-3234
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
| 13 | + | |
15 | 14 | | |
16 | 15 | | |
17 | | - | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
18 | 27 | | |
19 | 28 | | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
20 | 36 | | |
21 | 37 | | |
22 | 38 | | |
23 | 39 | | |
| 40 | + | |
24 | 41 | | |
25 | 42 | | |
| 43 | + | |
26 | 44 | | |
27 | 45 | | |
| 46 | + | |
28 | 47 | | |
29 | | - | |
| 48 | + | |
| 49 | + | |
30 | 50 | | |
31 | 51 | | |
32 | 52 | | |
33 | 53 | | |
34 | | - | |
| 54 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
| 91 | + | |
| 92 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
Large diffs are not rendered by default.
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
| 48 | + | |
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| |||
Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
113 | | - | |
114 | | - | |
115 | 113 | | |
116 | 114 | | |
117 | 115 | | |
| |||
124 | 122 | | |
125 | 123 | | |
126 | 124 | | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | 125 | | |
133 | 126 | | |
134 | 127 | | |
| |||
172 | 165 | | |
173 | 166 | | |
174 | 167 | | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
175 | 174 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
83 | | - | |
| 83 | + | |
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
63 | | - | |
| 63 | + | |
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
| |||
0 commit comments