[PM-5548] Eliminate in-app purchase logic (#7433)
* Eliminate in-app purchase logic * Remove more in-app logic found, for payment and subscription management --------- Co-authored-by: Lotus Scott <148992878+lscottbw@users.noreply.github.com>
This commit is contained in:
parent
cdeaa0b56a
commit
6baad76088
|
@ -69,18 +69,6 @@ export class UserSubscriptionComponent implements OnInit {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.usingInAppPurchase) {
|
|
||||||
this.dialogService.openSimpleDialog({
|
|
||||||
title: { key: "cancelSubscription" },
|
|
||||||
content: { key: "manageSubscriptionFromStore" },
|
|
||||||
acceptButtonText: { key: "ok" },
|
|
||||||
cancelButtonText: null,
|
|
||||||
type: "warning",
|
|
||||||
});
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const confirmed = await this.dialogService.openSimpleDialog({
|
const confirmed = await this.dialogService.openSimpleDialog({
|
||||||
title: { key: "reinstateSubscription" },
|
title: { key: "reinstateSubscription" },
|
||||||
content: { key: "reinstateConfirmation" },
|
content: { key: "reinstateConfirmation" },
|
||||||
|
@ -106,18 +94,6 @@ export class UserSubscriptionComponent implements OnInit {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.usingInAppPurchase) {
|
|
||||||
this.dialogService.openSimpleDialog({
|
|
||||||
title: { key: "cancelSubscription" },
|
|
||||||
content: { key: "manageSubscriptionFromStore" },
|
|
||||||
acceptButtonText: { key: "ok" },
|
|
||||||
cancelButtonText: null,
|
|
||||||
type: "warning",
|
|
||||||
});
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const confirmed = await this.dialogService.openSimpleDialog({
|
const confirmed = await this.dialogService.openSimpleDialog({
|
||||||
title: { key: "cancelSubscription" },
|
title: { key: "cancelSubscription" },
|
||||||
content: { key: "cancelConfirmation" },
|
content: { key: "cancelConfirmation" },
|
||||||
|
@ -169,17 +145,6 @@ export class UserSubscriptionComponent implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
adjustStorage(add: boolean) {
|
adjustStorage(add: boolean) {
|
||||||
if (this.usingInAppPurchase) {
|
|
||||||
this.dialogService.openSimpleDialog({
|
|
||||||
title: { key: add ? "addStorage" : "removeStorage" },
|
|
||||||
content: { key: "cannotPerformInAppPurchase" },
|
|
||||||
acceptButtonText: { key: "ok" },
|
|
||||||
cancelButtonText: null,
|
|
||||||
type: "warning",
|
|
||||||
});
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
this.adjustStorageAdd = add;
|
this.adjustStorageAdd = add;
|
||||||
this.showAdjustStorage = true;
|
this.showAdjustStorage = true;
|
||||||
}
|
}
|
||||||
|
@ -215,10 +180,6 @@ export class UserSubscriptionComponent implements OnInit {
|
||||||
return this.storagePercentage < 5 ? 5 : 0;
|
return this.storagePercentage < 5 ? 5 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
get usingInAppPurchase() {
|
|
||||||
return this.sub != null ? this.sub.usingInAppPurchase : false;
|
|
||||||
}
|
|
||||||
|
|
||||||
get title(): string {
|
get title(): string {
|
||||||
return this.i18nService.t(this.selfHosted ? "subscription" : "premiumMembership");
|
return this.i18nService.t(this.selfHosted ? "subscription" : "premiumMembership");
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,7 +91,6 @@
|
||||||
</app-callout>
|
</app-callout>
|
||||||
<p>
|
<p>
|
||||||
<i class="bwi bwi-fw" [ngClass]="paymentSourceClasses"></i>
|
<i class="bwi bwi-fw" [ngClass]="paymentSourceClasses"></i>
|
||||||
<span *ngIf="paymentSourceInApp">{{ "inAppPurchase" | i18n }}</span>
|
|
||||||
{{ paymentSource.description }}
|
{{ paymentSource.description }}
|
||||||
</p>
|
</p>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
|
@ -106,17 +106,6 @@ export class PaymentMethodComponent implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
addCredit() {
|
addCredit() {
|
||||||
if (this.paymentSourceInApp) {
|
|
||||||
this.dialogService.openSimpleDialog({
|
|
||||||
title: { key: "addCredit" },
|
|
||||||
content: { key: "cannotPerformInAppPurchase" },
|
|
||||||
acceptButtonText: { key: "ok" },
|
|
||||||
cancelButtonText: null,
|
|
||||||
type: "warning",
|
|
||||||
});
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
this.showAddCredit = true;
|
this.showAddCredit = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -128,18 +117,6 @@ export class PaymentMethodComponent implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
changePayment() {
|
changePayment() {
|
||||||
if (this.paymentSourceInApp) {
|
|
||||||
this.dialogService.openSimpleDialog({
|
|
||||||
title: { key: "changePaymentMethod" },
|
|
||||||
content: { key: "cannotPerformInAppPurchase" },
|
|
||||||
acceptButtonText: { key: "ok" },
|
|
||||||
cancelButtonText: null,
|
|
||||||
type: "warning",
|
|
||||||
});
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.showAdjustPayment = true;
|
this.showAdjustPayment = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -209,10 +186,6 @@ export class PaymentMethodComponent implements OnInit {
|
||||||
return ["bwi-bank"];
|
return ["bwi-bank"];
|
||||||
case PaymentMethodType.Check:
|
case PaymentMethodType.Check:
|
||||||
return ["bwi-money"];
|
return ["bwi-money"];
|
||||||
case PaymentMethodType.AppleInApp:
|
|
||||||
return ["bwi-apple text-muted"];
|
|
||||||
case PaymentMethodType.GoogleInApp:
|
|
||||||
return ["bwi-google text-muted"];
|
|
||||||
case PaymentMethodType.PayPal:
|
case PaymentMethodType.PayPal:
|
||||||
return ["bwi-paypal text-primary"];
|
return ["bwi-paypal text-primary"];
|
||||||
default:
|
default:
|
||||||
|
@ -220,14 +193,6 @@ export class PaymentMethodComponent implements OnInit {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
get paymentSourceInApp() {
|
|
||||||
return (
|
|
||||||
this.paymentSource != null &&
|
|
||||||
(this.paymentSource.type === PaymentMethodType.AppleInApp ||
|
|
||||||
this.paymentSource.type === PaymentMethodType.GoogleInApp)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
get subscription() {
|
get subscription() {
|
||||||
return this.sub?.subscription ?? this.org?.subscription ?? null;
|
return this.sub?.subscription ?? this.org?.subscription ?? null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3828,15 +3828,6 @@
|
||||||
"couldNotChargeCardPayInvoice": {
|
"couldNotChargeCardPayInvoice": {
|
||||||
"message": "We were not able to charge your card. Please view and pay the unpaid invoice listed below."
|
"message": "We were not able to charge your card. Please view and pay the unpaid invoice listed below."
|
||||||
},
|
},
|
||||||
"inAppPurchase": {
|
|
||||||
"message": "In-app purchase"
|
|
||||||
},
|
|
||||||
"cannotPerformInAppPurchase": {
|
|
||||||
"message": "You cannot perform this action while using an in-app purchase payment method."
|
|
||||||
},
|
|
||||||
"manageSubscriptionFromStore": {
|
|
||||||
"message": "You must manage your subscription from the store where your in-app purchase was made."
|
|
||||||
},
|
|
||||||
"minLength": {
|
"minLength": {
|
||||||
"message": "Minimum length"
|
"message": "Minimum length"
|
||||||
},
|
},
|
||||||
|
|
|
@ -90,7 +90,6 @@ import { TaxInfoResponse } from "../billing/models/response/tax-info.response";
|
||||||
import { TaxRateResponse } from "../billing/models/response/tax-rate.response";
|
import { TaxRateResponse } from "../billing/models/response/tax-rate.response";
|
||||||
import { DeleteRecoverRequest } from "../models/request/delete-recover.request";
|
import { DeleteRecoverRequest } from "../models/request/delete-recover.request";
|
||||||
import { EventRequest } from "../models/request/event.request";
|
import { EventRequest } from "../models/request/event.request";
|
||||||
import { IapCheckRequest } from "../models/request/iap-check.request";
|
|
||||||
import { KdfRequest } from "../models/request/kdf.request";
|
import { KdfRequest } from "../models/request/kdf.request";
|
||||||
import { KeysRequest } from "../models/request/keys.request";
|
import { KeysRequest } from "../models/request/keys.request";
|
||||||
import { OrganizationImportRequest } from "../models/request/organization-import.request";
|
import { OrganizationImportRequest } from "../models/request/organization-import.request";
|
||||||
|
@ -169,7 +168,6 @@ export abstract class ApiService {
|
||||||
postPasswordHint: (request: PasswordHintRequest) => Promise<any>;
|
postPasswordHint: (request: PasswordHintRequest) => Promise<any>;
|
||||||
postRegister: (request: RegisterRequest) => Promise<RegisterResponse>;
|
postRegister: (request: RegisterRequest) => Promise<RegisterResponse>;
|
||||||
postPremium: (data: FormData) => Promise<PaymentResponse>;
|
postPremium: (data: FormData) => Promise<PaymentResponse>;
|
||||||
postIapCheck: (request: IapCheckRequest) => Promise<any>;
|
|
||||||
postReinstatePremium: () => Promise<any>;
|
postReinstatePremium: () => Promise<any>;
|
||||||
postCancelPremium: () => Promise<any>;
|
postCancelPremium: () => Promise<any>;
|
||||||
postAccountStorage: (request: StorageRequest) => Promise<PaymentResponse>;
|
postAccountStorage: (request: StorageRequest) => Promise<PaymentResponse>;
|
||||||
|
|
|
@ -5,7 +5,5 @@ export enum PaymentMethodType {
|
||||||
BitPay = 3,
|
BitPay = 3,
|
||||||
Credit = 4,
|
Credit = 4,
|
||||||
WireTransfer = 5,
|
WireTransfer = 5,
|
||||||
AppleInApp = 6,
|
|
||||||
GoogleInApp = 7,
|
|
||||||
Check = 8,
|
Check = 8,
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,6 @@ export class SubscriptionResponse extends BaseResponse {
|
||||||
upcomingInvoice: BillingSubscriptionUpcomingInvoiceResponse;
|
upcomingInvoice: BillingSubscriptionUpcomingInvoiceResponse;
|
||||||
license: any;
|
license: any;
|
||||||
expiration: string;
|
expiration: string;
|
||||||
usingInAppPurchase: boolean;
|
|
||||||
|
|
||||||
constructor(response: any) {
|
constructor(response: any) {
|
||||||
super(response);
|
super(response);
|
||||||
|
@ -17,7 +16,6 @@ export class SubscriptionResponse extends BaseResponse {
|
||||||
this.maxStorageGb = this.getResponseProperty("MaxStorageGb");
|
this.maxStorageGb = this.getResponseProperty("MaxStorageGb");
|
||||||
this.license = this.getResponseProperty("License");
|
this.license = this.getResponseProperty("License");
|
||||||
this.expiration = this.getResponseProperty("Expiration");
|
this.expiration = this.getResponseProperty("Expiration");
|
||||||
this.usingInAppPurchase = this.getResponseProperty("UsingInAppPurchase");
|
|
||||||
const subscription = this.getResponseProperty("Subscription");
|
const subscription = this.getResponseProperty("Subscription");
|
||||||
const upcomingInvoice = this.getResponseProperty("UpcomingInvoice");
|
const upcomingInvoice = this.getResponseProperty("UpcomingInvoice");
|
||||||
this.subscription = subscription == null ? null : new BillingSubscriptionResponse(subscription);
|
this.subscription = subscription == null ? null : new BillingSubscriptionResponse(subscription);
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
import { PaymentMethodType } from "../../billing/enums";
|
|
||||||
|
|
||||||
export class IapCheckRequest {
|
|
||||||
paymentMethodType: PaymentMethodType;
|
|
||||||
}
|
|
|
@ -96,7 +96,6 @@ import { DeviceType } from "../enums";
|
||||||
import { CollectionBulkDeleteRequest } from "../models/request/collection-bulk-delete.request";
|
import { CollectionBulkDeleteRequest } from "../models/request/collection-bulk-delete.request";
|
||||||
import { DeleteRecoverRequest } from "../models/request/delete-recover.request";
|
import { DeleteRecoverRequest } from "../models/request/delete-recover.request";
|
||||||
import { EventRequest } from "../models/request/event.request";
|
import { EventRequest } from "../models/request/event.request";
|
||||||
import { IapCheckRequest } from "../models/request/iap-check.request";
|
|
||||||
import { KdfRequest } from "../models/request/kdf.request";
|
import { KdfRequest } from "../models/request/kdf.request";
|
||||||
import { KeysRequest } from "../models/request/keys.request";
|
import { KeysRequest } from "../models/request/keys.request";
|
||||||
import { OrganizationImportRequest } from "../models/request/organization-import.request";
|
import { OrganizationImportRequest } from "../models/request/organization-import.request";
|
||||||
|
@ -382,10 +381,6 @@ export class ApiService implements ApiServiceAbstraction {
|
||||||
return new PaymentResponse(r);
|
return new PaymentResponse(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
async postIapCheck(request: IapCheckRequest): Promise<any> {
|
|
||||||
return this.send("POST", "/accounts/iap-check", request, true, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
postReinstatePremium(): Promise<any> {
|
postReinstatePremium(): Promise<any> {
|
||||||
return this.send("POST", "/accounts/reinstate-premium", null, true, false);
|
return this.send("POST", "/accounts/reinstate-premium", null, true, false);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue