Max Hvesser
38c357ccee
feat(payment): Rearrange and tidy-up payment flow
2025-10-16 15:18:40 +00:00
dkadrikj and Dino Kadrikj
16d7451c67
feat(payment): Update Current Subscription screen and logic.
2025-01-22 11:54:46 +00:00
dkadrikj and Dino Kadrikj
f9ffddf6a3
feat(payment): Update Current Subscription screen and logic.
2025-01-22 11:54:46 +00:00
Marcin Simonides and MargeBot
33e4207e9f
feat(payment,plan): Add v5 subscriptions endpoints.
2024-09-05 09:19:56 +00:00
Neil Marietta and MargeBot
f40892525f
fix(payment): Fixed DeletePurchaseWorker to deleteByProtonPaymentToken.
2024-07-23 12:12:13 +00:00
Neil Marietta
b2f50c3cc0
feat!: Added Purchase, Manager, Repository, StateHandlers and Workers.
...
Migration: PaymentDatabase.MIGRATION_1.
2024-03-14 12:06:21 +01:00
Mateusz Armatys and MargeBot
e0f0766a7a
fix(plan, payment): Do not use credential-less userId for payments.
2024-03-11 14:12:15 +00:00
dkadrikj and Dino Kadrikj
7f5fae7d21
chore(payment): Increase unit test coverage.
2024-01-09 13:03:37 +00:00
dkadrikj and Neil Marietta
f59310f895
feat(plan): Add GIAP Adjusted Prices support.
2023-12-13 12:20:02 +01:00
Neil Marietta
4e3f52f6c5
fix(plan): Fixed Dynamic Plan metrics.
2023-09-29 17:07:51 +02:00
Neil Marietta
28b7e08f10
feat(plan): Added Dynamic Cycle/Currency selection, Vendor Query param and DefaultCycle.
2023-09-28 16:59:06 +02:00
Neil Marietta and MargeBot
2b2ebf6fff
fix(plan): Fixed Dynamic Decoration Starred.
2023-09-01 08:26:00 +00:00
dkadrikj
5056c06e4c
feat(plan, payment): Add initial observability metrics.
2023-08-23 13:06:52 +02:00
Neil Marietta
7e0a214095
fix(plan, payment): Updated Dynamic Plan/Subscription according latest API.
2023-08-22 10:59:25 +02:00
Neil Marietta
b6f1853930
feat(plan, payment): Added Dynamic Plan/Subscription parsing error logs.
2023-08-22 10:59:25 +02:00
Neil Marietta
7f0a84af8d
feat(plan): Added Dynamic Upgrade Plan Activity/Fragment/ViewModel.
2023-08-17 15:39:18 +00:00
Neil Marietta
3b6d57cf2f
feat(plan): Added Dynamic Plan List Fragment.
2023-08-11 16:00:54 +02:00
dkadrikj and Dino Kadrikj
7ff49c38a8
feat(plan, payment): Add DynamicSubscription.
2023-08-07 14:54:49 +00:00
Neil Marietta
935d5d5543
refactor(payment): Migrated Checkout Payment Methods Metrics to Result API.
2023-07-12 17:55:44 +02:00
Neil Marietta
d8756ae8d6
refactor(payment): Migrated Checkout Subscribe and Validate Metrics to Result API.
2023-07-12 17:55:43 +02:00
Neil Marietta
f84442bb9c
refactor(payment): Migrated Checkout Create Payment Token Metrics to Result API.
2023-07-12 17:55:33 +02:00
Neil Marietta
ebfa017f37
chore!: Upgraded AGP to 8.0.2 (+Java 17).
2023-07-04 16:22:38 +02:00
Mateusz Armatys
3c4499d45f
feat(account-recovery): Cancelling account recovery attempt.
2023-06-15 16:34:31 +00:00
Mateusz Armatys and Neil Marietta
79e20471f9
chore(observability): Increment schema version metrics that use HttpApiStatus.
2023-04-25 13:35:45 +00:00
Mateusz Armatys
b77814327b
feat(observability, plan, payment): Add observability metrics for checkout.
2023-02-20 15:42:01 +01:00
dkadrikj and Dino Kadrikj
230b91d6a5
feat(payment): Payment token body adjustment.
2023-02-16 12:49:52 +00:00
Mateusz Armatys
b1c4e41746
test: Migrate tests to the new coroutines-test APIs.
2022-12-05 13:33:57 +00:00
dkadrikj and Dino Kadrikj
a5d1b9ae68
fix(plan): Fix subscription plan amount.
2022-10-13 13:21:02 +00:00
Mateusz Armatys
a73256fdab
style(plan, presentation): Fix some detekt issues.
2022-10-04 15:51:52 +02:00
Mateusz Armatys and MargeBot
083208ea70
test(payment): Add tests for PaymentsApi.
2022-10-03 08:12:47 +00:00
Mateusz Armatys and MargeBot
da28b31430
feat(payments-iap): Match a Google purchase with a Proton user.
2022-10-03 08:12:47 +00:00
Marino Meneghel
34a6c9219b
fix: Pass test dispatcher to runTest method.
...
This is to solve test failures which started happening after updating
AGP to 7.1.3 (error `Detected use of different schedulers..`)
2022-09-28 17:50:17 +02:00
Mateusz Armatys
0a46dea36e
refactor(payment): Introduce value classes for payment/purchase tokens.
2022-09-22 18:10:01 +00:00
Mateusz Armatys
b12f9e9f88
refactor(payment): Rename PaymentToken into PaymentTokenResult.
2022-09-22 18:10:01 +00:00
Mateusz Armatys
80bf7ab191
test(payments-iap): Unit tests for GIAP.
...
- `ConnectedBillingClientTest`
- `GoogleBillingRepositoryImplTest`
- `FindUnredeemedGooglePurchaseImplTest`
- `AcknowledgeGooglePlayPurchaseImplTest`
2022-09-22 18:10:01 +00:00
Mateusz Armatys
1c477a5851
feat(payment-iap): Detect if there is an unredeemed Google purchase.
...
`UnredeemedPurchaseInitializer` will be added to your manifest (androidx.startup).
In case there is an unredeemed Google purchase, an alert dialog will
be shown (in a separate, transparent activity), asking the user to redeem.
2022-09-22 18:10:01 +00:00
Mateusz Armatys
3e3753cb38
feat(payment)!: For GIAP, acknowledge the purchase after the subscription is assigned.
...
MIGRATION:
1. Add and provide `PaymentDatabase`.
2. Add a database migration: `PaymentDatabase.MIGRATION_0`.
2022-09-22 18:10:01 +00:00
dkadrikj and Neil Marietta
078898285f
feat(payment-iap): Add Google IAP happy flow.
2022-09-02 18:39:12 +02:00
Mateusz Armatys
b90cf205cb
feat(payment): Add the new endpoint for payment status and remove the old one.
...
DAGGER: You should provide an `AppStore` in your dagger module:
- For builds distributed in Google Play Store:
```
@Provides
fun provideAppStore() = AppStore.GooglePlay
```
- For builds distributed in F-Droid:
```
@Provides
fun provideAppStore() = AppStore.FDroid
```
2022-08-10 17:56:03 +02:00
dkadrikj
bd7936ae9f
feat (payment-common): Extract common payment classes
2022-08-10 15:02:04 +02:00
Mateusz Armatys
9730dc01a6
test: Use TestDispatcherProvider when creating ApiProvider.
2022-07-27 18:41:21 +02:00
dkadrikj and Dino Kadrikj
6233ce1a7d
feat(payment): redesign payment for IAP support.
...
feat(plan): redesign plans for IAP support.
2022-07-27 08:13:01 +00:00
Mateusz Armatys
74137caf98
refactor(payment, plan): Use GetAvailablePaymentProviders instead of PurchaseEnabled.
2022-07-26 13:01:20 +02:00
Mateusz Armatys
81ae0d4ca1
feat(payment): Add GetAvailablePaymentProviders.
...
The class returns a set of payment providers which can be offered to the user,
based on the value of feature flags, and the availability of Google Play Billing library.
Note: You may need to provide `GooglePlayBillingLibrary`:
```
@Binds fun bindGooglePlayBillingLibrary(impl: GooglePlayBillingLibraryImpl): GooglePlayBillingLibrary
```
2022-07-26 12:57:18 +02:00
dkadrikj and Dino Kadrikj
6f3fbe1c2a
fix(payment): Remove not needed ThreeDSSupport field in PaymentMethodDetails.kt
2022-05-11 13:37:09 +00:00
dkadrikj
db24b39cf1
Improve product based plans filtering.
...
Add additional filtering for product exclusive plans or combo plans. Other smaller improvements, fixes.
Add unit tests.
2022-03-16 11:55:41 +01:00
dkadrikj
74206eff68
Remove SupportedSignupPaidPlans and SupportedUpgradePaidPlans annotations.
2022-03-15 17:50:15 +01:00
dkadrikj and Neil Marietta
d6e1999cbe
Refactor feature flag module.
...
Depending on the payments feature flag update the plan&payments UI modules.
2022-02-25 16:58:59 +01:00
dkadrikj
096a613acc
Refactor plan name logic.
...
Clarify some ambiguity.
Fix potential bugs.
2021-10-15 13:56:26 +02:00
dkadrikj and Dino Kadrikj
1ca9c5ddfa
Integrate latest plan api changes.
2021-10-15 11:31:36 +00:00