@churchapps/apphelper 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/donations/components/MultiGatewayDonationForm.d.ts.map +1 -1
  2. package/dist/donations/components/MultiGatewayDonationForm.js +88 -184
  3. package/dist/donations/components/MultiGatewayDonationForm.js.map +1 -1
  4. package/dist/donations/components/NonAuthDonation.d.ts.map +1 -1
  5. package/dist/donations/components/NonAuthDonation.js +16 -74
  6. package/dist/donations/components/NonAuthDonation.js.map +1 -1
  7. package/dist/donations/components/PayPalNonAuthDonationInner.d.ts.map +1 -1
  8. package/dist/donations/components/PayPalNonAuthDonationInner.js +9 -5
  9. package/dist/donations/components/PayPalNonAuthDonationInner.js.map +1 -1
  10. package/dist/donations/components/PaymentMethods.d.ts.map +1 -1
  11. package/dist/donations/components/PaymentMethods.js +33 -31
  12. package/dist/donations/components/PaymentMethods.js.map +1 -1
  13. package/dist/donations/components/RecurringDonations.js +6 -6
  14. package/dist/donations/components/RecurringDonations.js.map +1 -1
  15. package/dist/donations/components/index.d.ts +0 -2
  16. package/dist/donations/components/index.d.ts.map +1 -1
  17. package/dist/donations/components/index.js +0 -1
  18. package/dist/donations/components/index.js.map +1 -1
  19. package/dist/donations/helpers/DonationHelper.d.ts +3 -3
  20. package/dist/donations/helpers/DonationHelper.d.ts.map +1 -1
  21. package/dist/donations/helpers/DonationHelper.js +6 -3
  22. package/dist/donations/helpers/DonationHelper.js.map +1 -1
  23. package/dist/donations/helpers/DonationInterface.d.ts +1 -1
  24. package/dist/donations/helpers/DonationInterface.d.ts.map +1 -1
  25. package/dist/donations/helpers/PaymentMethod.d.ts +2 -2
  26. package/dist/donations/helpers/PaymentMethod.d.ts.map +1 -1
  27. package/dist/donations/helpers/StripePaymentMethod.d.ts +1 -1
  28. package/dist/donations/helpers/StripePaymentMethod.d.ts.map +1 -1
  29. package/dist/donations/index.d.ts +1 -0
  30. package/dist/donations/index.d.ts.map +1 -1
  31. package/dist/donations/index.js +1 -0
  32. package/dist/donations/index.js.map +1 -1
  33. package/dist/donations/providers/KingdomFundingProvider.d.ts +3 -0
  34. package/dist/donations/providers/KingdomFundingProvider.d.ts.map +1 -0
  35. package/dist/donations/providers/KingdomFundingProvider.js +86 -0
  36. package/dist/donations/providers/KingdomFundingProvider.js.map +1 -0
  37. package/dist/donations/providers/PayPalProvider.d.ts +3 -0
  38. package/dist/donations/providers/PayPalProvider.d.ts.map +1 -0
  39. package/dist/donations/providers/PayPalProvider.js +84 -0
  40. package/dist/donations/providers/PayPalProvider.js.map +1 -0
  41. package/dist/donations/providers/StripeProvider.d.ts +34 -0
  42. package/dist/donations/providers/StripeProvider.d.ts.map +1 -0
  43. package/dist/donations/providers/StripeProvider.js +74 -0
  44. package/dist/donations/providers/StripeProvider.js.map +1 -0
  45. package/dist/donations/providers/index.d.ts +3 -0
  46. package/dist/donations/providers/index.d.ts.map +1 -0
  47. package/dist/donations/providers/index.js +6 -0
  48. package/dist/donations/providers/index.js.map +1 -0
  49. package/dist/donations/providers/registry.d.ts +6 -0
  50. package/dist/donations/providers/registry.d.ts.map +1 -0
  51. package/dist/donations/providers/registry.js +36 -0
  52. package/dist/donations/providers/registry.js.map +1 -0
  53. package/dist/donations/providers/types.d.ts +113 -0
  54. package/dist/donations/providers/types.d.ts.map +1 -0
  55. package/dist/donations/providers/types.js +2 -0
  56. package/dist/donations/providers/types.js.map +1 -0
  57. package/package.json +1 -1
  58. package/dist/donations/components/PayPalCardForm.d.ts +0 -17
  59. package/dist/donations/components/PayPalCardForm.d.ts.map +0 -1
  60. package/dist/donations/components/PayPalCardForm.js +0 -118
  61. package/dist/donations/components/PayPalCardForm.js.map +0 -1
  62. package/dist/helpers/__tests__/WebPushHelper.test.d.ts +0 -13
  63. package/dist/helpers/__tests__/WebPushHelper.test.d.ts.map +0 -1
  64. package/dist/helpers/__tests__/WebPushHelper.test.js +0 -99
  65. package/dist/helpers/__tests__/WebPushHelper.test.js.map +0 -1
@@ -53,13 +53,16 @@ export class DonationHelper {
53
53
  return provider?.toLowerCase() || "";
54
54
  }
55
55
  static isProvider(provider, expectedProvider) {
56
- return this.normalizeProvider(provider) === expectedProvider;
56
+ return this.normalizeProvider(provider) === this.normalizeProvider(expectedProvider);
57
57
  }
58
58
  static findGatewayByProvider(gateways, provider) {
59
59
  return gateways.find(g => this.isProvider(g.provider, provider));
60
60
  }
61
- static isKingdomFunding(provider) {
62
- return this.normalizeProvider(provider) === "kingdomfunding";
61
+ // A PayPal capture is money-in-hand only at COMPLETED/APPROVED. "CREATED"
62
+ // means an order was created but not yet captured — treating it as success
63
+ // shows the donor a thank-you screen for a payment that never collected.
64
+ static isPayPalCaptureComplete(status) {
65
+ return status === "COMPLETED" || status === "APPROVED";
63
66
  }
64
67
  }
65
68
  //# sourceMappingURL=DonationHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DonationHelper.js","sourceRoot":"","sources":["../../../src/donations/helpers/DonationHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DonationHelper.js","sourceRoot":"","sources":["../../../src/donations/helpers/DonationHelper.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { FundDonationInterface } from "@churchapps/helpers";
2
2
  export interface MultiGatewayDonationInterface {
3
3
  id: string;
4
4
  type: "card" | "bank" | "paypal";
5
- provider: "stripe" | "paypal" | "kingdomfunding";
5
+ provider: string;
6
6
  customerId?: string;
7
7
  gatewayId?: string;
8
8
  person?: {
@@ -1 +1 @@
1
- {"version":3,"file":"DonationInterface.d.ts","sourceRoot":"","sources":["../../../src/donations/helpers/DonationInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,gBAAgB,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE;QACT,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"DonationInterface.d.ts","sourceRoot":"","sources":["../../../src/donations/helpers/DonationInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE;QACT,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -1,7 +1,7 @@
1
1
  export interface PaymentMethod {
2
2
  id: string;
3
3
  type: "card" | "bank" | "paypal";
4
- provider: "stripe" | "paypal" | "kingdomfunding";
4
+ provider: string;
5
5
  name: string;
6
6
  last4?: string;
7
7
  email?: string;
@@ -9,7 +9,7 @@ export interface PaymentMethod {
9
9
  }
10
10
  export interface PaymentGateway {
11
11
  id: string;
12
- provider: "stripe" | "paypal" | "kingdomfunding" | "Stripe" | "Paypal" | "PayPal" | "KingdomFunding";
12
+ provider: string;
13
13
  publicKey?: string;
14
14
  productId?: string;
15
15
  payFees?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentMethod.d.ts","sourceRoot":"","sources":["../../../src/donations/helpers/PaymentMethod.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,gBAAgB,CAAC;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,gBAAgB,CAAC;IACrG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC"}
1
+ {"version":3,"file":"PaymentMethod.d.ts","sourceRoot":"","sources":["../../../src/donations/helpers/PaymentMethod.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IAGX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC"}
@@ -1,7 +1,7 @@
1
1
  export declare class StripePaymentMethod {
2
2
  id: string;
3
3
  type: "card" | "bank" | "paypal";
4
- provider: "stripe" | "paypal" | "kingdomfunding";
4
+ provider: string;
5
5
  name: string;
6
6
  last4?: string;
7
7
  email?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"StripePaymentMethod.d.ts","sourceRoot":"","sources":["../../../src/donations/helpers/StripePaymentMethod.ts"],"names":[],"mappings":"AAAA,qBAAa,mBAAmB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,gBAAgB,CAAC;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEP,GAAG,CAAC,EAAE,GAAG;CActB"}
1
+ {"version":3,"file":"StripePaymentMethod.d.ts","sourceRoot":"","sources":["../../../src/donations/helpers/StripePaymentMethod.ts"],"names":[],"mappings":"AAAA,qBAAa,mBAAmB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEP,GAAG,CAAC,EAAE,GAAG;CActB"}
@@ -1,4 +1,5 @@
1
1
  export * from "./components";
2
+ export * from "./providers";
2
3
  export { DonationPreviewModal } from "./modals/DonationPreviewModal";
3
4
  export { DonationHelper, StripePaymentMethod } from "./helpers";
4
5
  export type { PaymentMethod, PaymentGateway, PayPalPaymentMethod, MultiGatewayDonationInterface, PayPalDonationInterface } from "./helpers";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/donations/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChE,YAAY,EACV,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/donations/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChE,YAAY,EACV,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,WAAW,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from "./components";
2
+ export * from "./providers";
2
3
  export { DonationPreviewModal } from "./modals/DonationPreviewModal";
3
4
  export { DonationHelper, StripePaymentMethod } from "./helpers";
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/donations/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/donations/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { PaymentProvider } from "./types";
2
+ export declare const KingdomFundingProvider: PaymentProvider;
3
+ //# sourceMappingURL=KingdomFundingProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KingdomFundingProvider.d.ts","sourceRoot":"","sources":["../../../src/donations/providers/KingdomFundingProvider.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,SAAS,CAAC;AAkCjB,eAAO,MAAM,sBAAsB,EAAE,eAgEpC,CAAC"}
@@ -0,0 +1,86 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { forwardRef, useImperativeHandle, useRef } from "react";
4
+ import { KingdomFundingTokenForm } from "../components/KingdomFundingTokenForm";
5
+ import { KingdomFundingNonAuthDonationInner } from "../components/KingdomFundingNonAuthDonationInner";
6
+ import { buildSavedMethodBody } from "./StripeProvider";
7
+ // Inline card entry for member donations — wraps the accept.blue hosted iframe
8
+ // and normalizes its nonce into the uniform PaymentToken.
9
+ const KingdomFundingMemberEntry = forwardRef(({ gateway }, ref) => {
10
+ const kfRef = useRef(null);
11
+ useImperativeHandle(ref, () => ({
12
+ tokenize: async () => {
13
+ if (!kfRef.current)
14
+ throw new Error("Card form not ready. Please wait and try again.");
15
+ const r = await kfRef.current.getNonce();
16
+ return { id: r.nonce, type: "card", brand: r.cardType, last4: r.last4, expMonth: r.expiryMonth, expYear: r.expiryYear };
17
+ }
18
+ }));
19
+ return (_jsx(KingdomFundingTokenForm, { ref: kfRef, tokenizationKey: gateway.publicKey || "", sandbox: gateway?.settings?.sandbox === true || gateway?.environment === "sandbox" }));
20
+ });
21
+ KingdomFundingMemberEntry.displayName = "KingdomFundingMemberEntry";
22
+ const KingdomFundingGuestForm = (props) => (_jsx(KingdomFundingNonAuthDonationInner, { churchId: props.churchId, mainContainerCssProps: props.mainContainerCssProps, showHeader: false, recaptchaSiteKey: props.recaptchaSiteKey, churchLogo: props?.churchLogo, paymentType: "card" }));
23
+ export const KingdomFundingProvider = {
24
+ key: "kingdomfunding",
25
+ descriptor: {
26
+ adminValue: "KingdomFunding",
27
+ label: "Kingdom Funding",
28
+ keyLabels: {
29
+ public: "settings.givingSettingsEdit.tokenizationKey",
30
+ private: "settings.givingSettingsEdit.sourceKey",
31
+ webhook: "settings.givingSettingsEdit.webhookKey"
32
+ },
33
+ feeFields: ["kf"],
34
+ currencies: [],
35
+ selectableInAdmin: true,
36
+ betaOnly: true,
37
+ setupInstructionsKey: "settings.givingSettingsEdit.kfSetup",
38
+ signupUrl: (church, user) => {
39
+ const fullName = ((user?.firstName || "") + " " + (user?.lastName || "")).trim();
40
+ const params = [
41
+ ["sponsor", "b1"],
42
+ ["email", user?.email],
43
+ ["org", church?.name],
44
+ ["full_name", fullName],
45
+ ["phone", user?.contactInfo?.workPhone],
46
+ ["address1", church?.address1],
47
+ ["address2", church?.address2],
48
+ ["state", church?.state],
49
+ ["zip", church?.zip],
50
+ ["country", church?.country]
51
+ ];
52
+ return "https://kingdomfunding.org/begin-registration/?" + params.map(([k, v]) => k + "=" + encodeURIComponent(v || "")).join("&");
53
+ }
54
+ },
55
+ capabilities: { savedCard: true, savedBank: false, guestAch: false, memberNewCard: true, recurring: true, editRecurring: false },
56
+ MemberEntry: KingdomFundingMemberEntry,
57
+ buildChargeRequest: (ctx, token) => {
58
+ const endpoint = ctx.recurring ? "/donate/subscribe" : "/donate/charge";
59
+ if (token.saved)
60
+ return { endpoint, body: buildSavedMethodBody(ctx, token, "kingdomfunding") };
61
+ const body = {
62
+ provider: "kingdomfunding",
63
+ gatewayId: ctx.gatewayId,
64
+ churchId: ctx.churchId,
65
+ amount: ctx.amount,
66
+ funds: ctx.funds,
67
+ person: ctx.person,
68
+ notes: ctx.notes || "",
69
+ church: ctx.church,
70
+ saveCard: ctx.saveCard,
71
+ type: "card",
72
+ id: token.id,
73
+ cardBrand: token.brand,
74
+ cardLast4: token.last4,
75
+ expiry_month: token.expMonth,
76
+ expiry_year: token.expYear
77
+ };
78
+ if (ctx.recurring) {
79
+ body.billing_cycle_anchor = ctx.billingCycleAnchor;
80
+ body.interval = ctx.interval;
81
+ }
82
+ return { endpoint, body };
83
+ },
84
+ GuestForm: KingdomFundingGuestForm
85
+ };
86
+ //# sourceMappingURL=KingdomFundingProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KingdomFundingProvider.js","sourceRoot":"","sources":["../../../src/donations/providers/KingdomFundingProvider.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { PaymentProvider } from "./types";
2
+ export declare const PayPalProvider: PaymentProvider;
3
+ //# sourceMappingURL=PayPalProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayPalProvider.d.ts","sourceRoot":"","sources":["../../../src/donations/providers/PayPalProvider.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,SAAS,CAAC;AA4EjB,eAAO,MAAM,cAAc,EAAE,eAiC5B,CAAC"}
@@ -0,0 +1,84 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { forwardRef, useImperativeHandle, useRef } from "react";
4
+ import { ApiHelper } from "@churchapps/helpers";
5
+ import { PayPalHostedFields } from "../components/PayPalHostedFields";
6
+ import { PayPalNonAuthDonationInner } from "../components/PayPalNonAuthDonationInner";
7
+ // Member PayPal entry — Hosted Fields create a server-side order at submit time,
8
+ // so it reads live amount/funds through getContext(). tokenize() returns the
9
+ // captured order id.
10
+ const PayPalMemberEntry = forwardRef(({ gateway, getContext }, ref) => {
11
+ const hostedRef = useRef(null);
12
+ useImperativeHandle(ref, () => ({
13
+ tokenize: async () => {
14
+ const payload = await hostedRef.current?.submit();
15
+ const orderId = payload?.orderId || payload?.id || "";
16
+ return { id: orderId, type: "paypal" };
17
+ }
18
+ }));
19
+ return (_jsx(PayPalHostedFields, { ref: hostedRef, clientId: gateway.publicKey || "", getClientToken: async () => {
20
+ try {
21
+ const ctx = getContext?.();
22
+ const resp = await ApiHelper.post("/donate/client-token", { churchId: ctx?.churchId || "", provider: "paypal", gatewayId: gateway.id }, "GivingApi");
23
+ const token = resp?.clientToken || resp?.token || resp?.result || resp;
24
+ return typeof token === "string" && token.length > 0 ? token : "";
25
+ }
26
+ catch {
27
+ return "";
28
+ }
29
+ }, createOrder: async () => {
30
+ try {
31
+ const ctx = getContext?.();
32
+ const resp = await ApiHelper.post("/donate/create-order", {
33
+ churchId: ctx?.churchId || "",
34
+ provider: "paypal",
35
+ gatewayId: gateway.id,
36
+ amount: ctx?.amount,
37
+ currency: (ctx?.currency || "USD").toUpperCase(),
38
+ funds: ctx?.funds || [],
39
+ notes: ctx?.notes || ""
40
+ }, "GivingApi");
41
+ return resp?.id || resp?.orderId || "";
42
+ }
43
+ catch {
44
+ return "";
45
+ }
46
+ } }));
47
+ });
48
+ PayPalMemberEntry.displayName = "PayPalMemberEntry";
49
+ const PayPalGuestForm = (props) => (_jsx(PayPalNonAuthDonationInner, { churchId: props.churchId, mainContainerCssProps: props.mainContainerCssProps, showHeader: false, recaptchaSiteKey: props.recaptchaSiteKey, churchLogo: props?.churchLogo, paypalClientId: props.gateway?.publicKey || null, allowSingleGift: props.allowSingleGift,
50
+ // PayPal has no subscribe path (capabilities.recurring=false); never offer
51
+ // a recurring toggle that would silently downgrade to a one-time charge.
52
+ allowRecurring: false, showFundSelector: props.showFundSelector, allowedFundIds: props.allowedFundIds, defaultFundId: props.defaultFundId }));
53
+ export const PayPalProvider = {
54
+ key: "paypal",
55
+ descriptor: {
56
+ adminValue: "Paypal",
57
+ label: "PayPal",
58
+ keyLabels: { public: "settings.givingSettingsEdit.clientId", private: "settings.givingSettingsEdit.clientSecret" },
59
+ feeFields: ["paypal"],
60
+ currencies: [],
61
+ selectableInAdmin: false,
62
+ setupInstructionsKey: "settings.givingSettingsEdit.paypalSetup",
63
+ signupUrl: () => "https://developer.paypal.com/"
64
+ },
65
+ // PayPal has no saved-method vault and no member subscribe path today; charges
66
+ // are one-time via captured orders.
67
+ capabilities: { savedCard: false, savedBank: false, guestAch: false, memberNewCard: false, recurring: false, editRecurring: false },
68
+ MemberEntry: PayPalMemberEntry,
69
+ buildChargeRequest: (ctx, token) => ({
70
+ endpoint: "/donate/charge",
71
+ body: {
72
+ provider: "paypal",
73
+ gatewayId: ctx.gatewayId,
74
+ id: token.id,
75
+ churchId: ctx.churchId,
76
+ amount: ctx.amount,
77
+ funds: ctx.funds,
78
+ person: ctx.person,
79
+ notes: ctx.notes || ""
80
+ }
81
+ }),
82
+ GuestForm: PayPalGuestForm
83
+ };
84
+ //# sourceMappingURL=PayPalProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayPalProvider.js","sourceRoot":"","sources":["../../../src/donations/providers/PayPalProvider.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { PaymentProvider, ChargeContext, PaymentToken } from "./types";
2
+ declare function buildSavedMethodBody(ctx: ChargeContext, token: PaymentToken, providerKey: string): {
3
+ id: string;
4
+ type: "card" | "paypal" | "bank";
5
+ provider: string;
6
+ customerId: string;
7
+ gatewayId: string;
8
+ person: {
9
+ id: string;
10
+ email: string;
11
+ name: string;
12
+ };
13
+ amount: number;
14
+ funds: {
15
+ id: string;
16
+ amount: number;
17
+ }[];
18
+ billing_cycle_anchor: number;
19
+ interval: {
20
+ interval_count: number;
21
+ interval: string;
22
+ };
23
+ notes: string;
24
+ currency: string;
25
+ church: {
26
+ name: string;
27
+ subDomain: string;
28
+ churchURL: string;
29
+ logo: string;
30
+ };
31
+ };
32
+ export declare const StripeProvider: PaymentProvider;
33
+ export { buildSavedMethodBody };
34
+ //# sourceMappingURL=StripeProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StripeProvider.d.ts","sourceRoot":"","sources":["../../../src/donations/providers/StripeProvider.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAkB,aAAa,EAAE,YAAY,EAAiB,MAAM,SAAS,CAAC;AA6D3G,iBAAS,oBAAoB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBzF;AAED,eAAO,MAAM,cAAc,EAAE,eA4B5B,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,74 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useMemo, useState } from "react";
4
+ import { loadStripe } from "@stripe/stripe-js";
5
+ import { Elements } from "@stripe/react-stripe-js";
6
+ import { Box, ToggleButtonGroup, ToggleButton } from "@mui/material";
7
+ import { NonAuthDonationInner } from "../components/NonAuthDonationInner";
8
+ import { DonationHelper } from "../helpers";
9
+ const stripeSupportedCurrencies = [
10
+ "usd", "eur", "gbp", "cad", "aud", "inr", "jpy", "sgd", "hkd", "sek", "nok", "dkk", "chf", "mxn", "brl"
11
+ ];
12
+ const toggleSx = {
13
+ backgroundColor: "#FFFFFF",
14
+ color: "#333",
15
+ "&.Mui-selected": { backgroundColor: "#1976d2", color: "#FFFFFF" },
16
+ "&:hover": { backgroundColor: "#f5f5f5" },
17
+ "&.Mui-selected:hover": { backgroundColor: "#1565c0" }
18
+ };
19
+ // Stripe guest form: owns its own card/bank (ACH) toggle and Elements wrapper,
20
+ // then renders the existing Stripe inner form. This is what the NonAuthDonation
21
+ // shell used to inline for `=== "stripe"`.
22
+ const StripeGuestForm = (props) => {
23
+ const [paymentType, setPaymentType] = useState("card");
24
+ const stripePromise = useMemo(() => (props.gateway?.publicKey ? loadStripe(props.gateway.publicKey) : null), [props.gateway?.publicKey]);
25
+ const currency = props.gateway?.currency || "usd";
26
+ return (_jsxs(Box, { children: [_jsx(Box, { sx: { mb: 3 }, children: _jsxs(ToggleButtonGroup, { value: paymentType, exclusive: true, onChange: (_, value) => value && setPaymentType(value), fullWidth: true, size: "small", sx: { backgroundColor: "#FFFFFF", borderRadius: 1 }, children: [_jsx(ToggleButton, { value: "card", sx: toggleSx, children: "Credit/Debit Card" }), currency === "usd" && _jsx(ToggleButton, { value: "bank", sx: toggleSx, children: "Bank Account (ACH)" })] }) }), _jsx(Elements, { stripe: stripePromise, children: _jsx(NonAuthDonationInner, { churchId: props.churchId, mainContainerCssProps: props.mainContainerCssProps, showHeader: false, recaptchaSiteKey: props.recaptchaSiteKey, churchLogo: props?.churchLogo, paymentType: paymentType, allowSingleGift: props.allowSingleGift, allowRecurring: props.allowRecurring, showFundSelector: props.showFundSelector, allowedFundIds: props.allowedFundIds, defaultFundId: props.defaultFundId }) })] }));
27
+ };
28
+ // Member Stripe donations charge a saved payment method (cards are added in
29
+ // PaymentMethods, not inline) — so the body is the saved-method shape.
30
+ function buildSavedMethodBody(ctx, token, providerKey) {
31
+ return {
32
+ id: token.id,
33
+ type: token.type,
34
+ provider: providerKey,
35
+ customerId: ctx.customerId,
36
+ gatewayId: ctx.gatewayId,
37
+ person: ctx.person,
38
+ amount: ctx.amount,
39
+ funds: ctx.funds,
40
+ billing_cycle_anchor: ctx.billingCycleAnchor,
41
+ interval: ctx.interval,
42
+ notes: ctx.notes,
43
+ currency: ctx.currency,
44
+ church: ctx.church
45
+ };
46
+ }
47
+ export const StripeProvider = {
48
+ key: "stripe",
49
+ descriptor: {
50
+ adminValue: "Stripe",
51
+ label: "Stripe",
52
+ keyLabels: { public: "settings.givingSettingsEdit.pubKey", private: "settings.givingSettingsEdit.secKey" },
53
+ feeFields: ["card", "ach"],
54
+ currencies: stripeSupportedCurrencies,
55
+ selectableInAdmin: true,
56
+ setupInstructionsKey: "settings.givingSettingsEdit.stripeSetup",
57
+ signupUrl: () => "https://dashboard.stripe.com/"
58
+ },
59
+ capabilities: { savedCard: true, savedBank: true, guestAch: true, memberNewCard: false, recurring: true, editRecurring: true },
60
+ MemberWrapper: ({ stripePromise, children }) => _jsx(Elements, { stripe: stripePromise ?? null, children: children }),
61
+ buildChargeRequest: (ctx, token) => ({
62
+ endpoint: ctx.recurring ? "/donate/subscribe" : "/donate/charge",
63
+ body: buildSavedMethodBody(ctx, token, "stripe")
64
+ }),
65
+ finalizeResult: async (result, { stripe }) => {
66
+ const tds = await DonationHelper.handle3DSIfRequired(result, stripe ?? null);
67
+ if (!tds.requiresAction)
68
+ return { result };
69
+ return { result, requiresAction: true, success: tds.success, error: tds.error };
70
+ },
71
+ GuestForm: StripeGuestForm
72
+ };
73
+ export { buildSavedMethodBody };
74
+ //# sourceMappingURL=StripeProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StripeProvider.js","sourceRoot":"","sources":["../../../src/donations/providers/StripeProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,MAAM,yBAAyB,GAAG;IAChC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;CACxG,CAAC;AAEF,MAAM,QAAQ,GAAG;IACf,eAAe,EAAE,SAAS;IAC1B,KAAK,EAAE,MAAM;IACb,gBAAgB,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IAClE,SAAS,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE;IACzC,sBAAsB,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE;CACvD,CAAC;AAEF,+EAA+E;AAC/E,gFAAgF;AAChF,2CAA2C;AAC3C,MAAM,eAAe,GAA6B,CAAC,KAAK,EAAE,EAAE;IAC1D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAkB,MAAM,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAC7E,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAC3B,CAAC;IACF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,IAAI,KAAK,CAAC;IAElD,OAAO,CACL,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,YAChB,MAAC,iBAAiB,IAChB,KAAK,EAAE,WAAW,EAClB,SAAS,QACT,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC,EACtD,SAAS,QACT,IAAI,EAAC,OAAO,EACZ,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,EAAE,aAEnD,KAAC,YAAY,IAAC,KAAK,EAAC,MAAM,EAAC,EAAE,EAAE,QAAQ,kCAAkC,EACxE,QAAQ,KAAK,KAAK,IAAI,KAAC,YAAY,IAAC,KAAK,EAAC,MAAM,EAAC,EAAE,EAAE,QAAQ,mCAAmC,IAC/E,GAChB,EACN,KAAC,QAAQ,IAAC,MAAM,EAAE,aAAa,YAC7B,KAAC,oBAAoB,IACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAClD,UAAU,EAAE,KAAK,EACjB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EACxC,UAAU,EAAE,KAAK,EAAE,UAAU,EAC7B,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,cAAc,EAAE,KAAK,CAAC,cAAc,EACpC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EACxC,cAAc,EAAE,KAAK,CAAC,cAAc,EACpC,aAAa,EAAE,KAAK,CAAC,aAAa,GAClC,GACO,IACP,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,4EAA4E;AAC5E,uEAAuE;AACvE,SAAS,oBAAoB,CAAC,GAAkB,EAAE,KAAmB,EAAE,WAAmB;IACxF,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,oBAAoB,EAAE,GAAG,CAAC,kBAAkB;QAC5C,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,GAAG,EAAE,QAAQ;IACb,UAAU,EAAE;QACV,UAAU,EAAE,QAAQ;QACpB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,EAAE,MAAM,EAAE,oCAAoC,EAAE,OAAO,EAAE,oCAAoC,EAAE;QAC1G,SAAS,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;QAC1B,UAAU,EAAE,yBAAyB;QACrC,iBAAiB,EAAE,IAAI;QACvB,oBAAoB,EAAE,yCAAyC;QAC/D,SAAS,EAAE,GAAG,EAAE,CAAC,+BAA+B;KACjD;IACD,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAE9H,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,KAAC,QAAQ,IAAC,MAAM,EAAE,aAAa,IAAI,IAAI,YAAG,QAAQ,GAAY;IAE9G,kBAAkB,EAAE,CAAC,GAAG,EAAE,KAAK,EAAiB,EAAE,CAAC,CAAC;QAClD,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB;QAChE,IAAI,EAAE,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC;KACjD,CAAC;IAEF,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QAC3C,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC;QAC7E,IAAI,CAAC,GAAG,CAAC,cAAc;YAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAC3C,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;IAClF,CAAC;IAED,SAAS,EAAE,eAAe;CAC3B,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./types";
2
+ export * from "./registry";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/donations/providers/index.ts"],"names":[],"mappings":"AAGA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ // Built-in providers are wired up directly inside registry.ts (so bundlers can't
2
+ // drop the registration). Add a new built-in there; or call registerPaymentProvider
3
+ // at runtime for a host-app gateway.
4
+ export * from "./types";
5
+ export * from "./registry";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/donations/providers/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,oFAAoF;AACpF,qCAAqC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { PaymentProvider } from "./types";
2
+ export declare function registerPaymentProvider(provider: PaymentProvider): void;
3
+ export declare function getPaymentProvider(provider: string | undefined | null): PaymentProvider;
4
+ export declare function hasPaymentProvider(provider: string | undefined | null): boolean;
5
+ export declare function listPaymentProviders(): PaymentProvider[];
6
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/donations/providers/registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAiB/C,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAEvE;AAID,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,eAAe,CAIvF;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAG/E;AAED,wBAAgB,oBAAoB,IAAI,eAAe,EAAE,CAExD"}
@@ -0,0 +1,36 @@
1
+ import { DonationHelper } from "../helpers";
2
+ import { StripeProvider } from "./StripeProvider";
3
+ import { KingdomFundingProvider } from "./KingdomFundingProvider";
4
+ import { PayPalProvider } from "./PayPalProvider";
5
+ // Built-ins are referenced directly (not registered via a module side-effect),
6
+ // so bundlers can't tree-shake the registration away. Built lazily on first
7
+ // access so the providers/components import cycle is fully resolved by call time.
8
+ const custom = new Map();
9
+ let builtins = null;
10
+ function getBuiltins() {
11
+ if (!builtins) {
12
+ builtins = new Map();
13
+ for (const p of [StripeProvider, KingdomFundingProvider, PayPalProvider])
14
+ builtins.set(p.key, p);
15
+ }
16
+ return builtins;
17
+ }
18
+ // Register an additional provider at runtime (e.g. a host app's custom gateway).
19
+ export function registerPaymentProvider(provider) {
20
+ custom.set(provider.key, provider);
21
+ }
22
+ // Resolves by normalized provider name. Falls back to Stripe so an unknown or
23
+ // misconfigured provider never hard-crashes the donor form.
24
+ export function getPaymentProvider(provider) {
25
+ const key = DonationHelper.normalizeProvider(provider || "");
26
+ const all = getBuiltins();
27
+ return custom.get(key) ?? all.get(key) ?? all.get("stripe");
28
+ }
29
+ export function hasPaymentProvider(provider) {
30
+ const key = DonationHelper.normalizeProvider(provider || "");
31
+ return custom.has(key) || getBuiltins().has(key);
32
+ }
33
+ export function listPaymentProviders() {
34
+ return [...getBuiltins().values(), ...custom.values()];
35
+ }
36
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/donations/providers/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,+EAA+E;AAC/E,4EAA4E;AAC5E,kFAAkF;AAClF,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;AAClD,IAAI,QAAQ,GAAwC,IAAI,CAAC;AAEzD,SAAS,WAAW;IAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,sBAAsB,EAAE,cAAc,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,uBAAuB,CAAC,QAAyB;IAC/D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,8EAA8E;AAC9E,4DAA4D;AAC5D,MAAM,UAAU,kBAAkB,CAAC,QAAmC;IACpE,MAAM,GAAG,GAAG,cAAc,CAAC,iBAAiB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAmC;IACpE,MAAM,GAAG,GAAG,cAAc,CAAC,iBAAiB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,CAAC,GAAG,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AACzD,CAAC"}