@unchainedshop/core-payment 3.0.0-alpha7 → 3.0.0-rc1

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 (61) hide show
  1. package/lib/db/PaymentCredentialsCollection.d.ts +10 -3
  2. package/lib/db/PaymentCredentialsCollection.d.ts.map +1 -1
  3. package/lib/db/PaymentCredentialsCollection.js +3 -3
  4. package/lib/db/PaymentCredentialsCollection.js.map +1 -1
  5. package/lib/db/PaymentProvidersCollection.d.ts +16 -2
  6. package/lib/db/PaymentProvidersCollection.d.ts.map +1 -1
  7. package/lib/db/PaymentProvidersCollection.js +6 -0
  8. package/lib/db/PaymentProvidersCollection.js.map +1 -1
  9. package/lib/director/PaymentAdapter.d.ts +1 -1
  10. package/lib/director/PaymentAdapter.d.ts.map +1 -1
  11. package/lib/director/PaymentAdapter.js.map +1 -1
  12. package/lib/director/PaymentDirector.d.ts +1 -1
  13. package/lib/director/PaymentDirector.d.ts.map +1 -1
  14. package/lib/director/PaymentDirector.js +5 -8
  15. package/lib/director/PaymentDirector.js.map +1 -1
  16. package/lib/director/PaymentPricingAdapter.d.ts +2 -4
  17. package/lib/director/PaymentPricingAdapter.d.ts.map +1 -1
  18. package/lib/director/PaymentPricingAdapter.js.map +1 -1
  19. package/lib/director/PaymentPricingDirector.d.ts +3 -4
  20. package/lib/director/PaymentPricingDirector.d.ts.map +1 -1
  21. package/lib/director/PaymentPricingDirector.js.map +1 -1
  22. package/lib/module/configurePaymentCredentialsModule.d.ts +11 -12
  23. package/lib/module/configurePaymentCredentialsModule.d.ts.map +1 -1
  24. package/lib/module/configurePaymentCredentialsModule.js +3 -3
  25. package/lib/module/configurePaymentCredentialsModule.js.map +1 -1
  26. package/lib/module/configurePaymentModule.d.ts +35 -10
  27. package/lib/module/configurePaymentModule.d.ts.map +1 -1
  28. package/lib/module/configurePaymentModule.js +2 -18
  29. package/lib/module/configurePaymentModule.js.map +1 -1
  30. package/lib/module/configurePaymentProvidersModule.d.ts +17 -41
  31. package/lib/module/configurePaymentProvidersModule.d.ts.map +1 -1
  32. package/lib/module/configurePaymentProvidersModule.js +0 -101
  33. package/lib/module/configurePaymentProvidersModule.js.map +1 -1
  34. package/lib/payment-index.d.ts +2 -8
  35. package/lib/payment-index.d.ts.map +1 -1
  36. package/lib/payment-index.js +2 -8
  37. package/lib/payment-index.js.map +1 -1
  38. package/lib/payment-settings.d.ts +6 -7
  39. package/lib/payment-settings.d.ts.map +1 -1
  40. package/lib/payment-settings.js.map +1 -1
  41. package/lib/types.d.ts +8 -22
  42. package/lib/types.d.ts.map +1 -1
  43. package/lib/types.js.map +1 -1
  44. package/package.json +9 -12
  45. package/src/db/PaymentCredentialsCollection.ts +13 -5
  46. package/src/db/PaymentProvidersCollection.ts +19 -2
  47. package/src/module/configurePaymentCredentialsModule.ts +42 -40
  48. package/src/module/configurePaymentModule.ts +5 -57
  49. package/src/module/configurePaymentProvidersModule.ts +27 -239
  50. package/src/module/payment-index.test.ts +1 -1
  51. package/src/payment-index.ts +2 -10
  52. package/src/payment-settings.ts +6 -7
  53. package/tsconfig.json +5 -7
  54. package/src/director/PaymentAdapter.ts +0 -63
  55. package/src/director/PaymentDirector.ts +0 -99
  56. package/src/director/PaymentError.ts +0 -6
  57. package/src/director/PaymentPricingAdapter.ts +0 -87
  58. package/src/director/PaymentPricingDirector.ts +0 -101
  59. package/src/director/PaymentPricingSheet.ts +0 -87
  60. package/src/director/PaymentProviderType.ts +0 -5
  61. package/src/types.ts +0 -108
@@ -1,9 +1,5 @@
1
1
  import { emit, registerEvents } from '@unchainedshop/events';
2
2
  import { generateDbFilterById, generateDbObjectId } from '@unchainedshop/mongodb';
3
- import { PaymentPricingDirector } from '../director/PaymentPricingDirector.js';
4
- import { PaymentPricingSheet } from '../director/PaymentPricingSheet.js';
5
- import { PaymentDirector } from '../director/PaymentDirector.js';
6
- import { paymentSettings } from '../payment-settings.js';
7
3
  const PAYMENT_PROVIDER_EVENTS = [
8
4
  'PAYMENT_PROVIDER_CREATE',
9
5
  'PAYMENT_PROVIDER_UPDATE',
@@ -12,16 +8,8 @@ const PAYMENT_PROVIDER_EVENTS = [
12
8
  export const buildFindSelector = ({ type } = {}) => {
13
9
  return { ...(type ? { type } : {}), deleted: null };
14
10
  };
15
- const asyncFilter = async (arr, predicate) => {
16
- const results = await Promise.all(arr.map(predicate));
17
- return arr.filter((_v, index) => results[index]);
18
- };
19
11
  export const configurePaymentProvidersModule = (PaymentProviders) => {
20
12
  registerEvents(PAYMENT_PROVIDER_EVENTS);
21
- const getPaymentAdapter = async (paymentProviderId, paymentContext, unchainedAPI) => {
22
- const provider = await PaymentProviders.findOne(generateDbFilterById(paymentProviderId), {});
23
- return PaymentDirector.actions(provider, paymentContext, unchainedAPI);
24
- };
25
13
  return {
26
14
  // Queries
27
15
  count: async (query) => {
@@ -39,100 +27,11 @@ export const configurePaymentProvidersModule = (PaymentProviders) => {
39
27
  const providerCount = await PaymentProviders.countDocuments(generateDbFilterById(paymentProviderId, { deleted: null }), { limit: 1 });
40
28
  return !!providerCount;
41
29
  },
42
- findInterface: (paymentProvider) => {
43
- const Adapter = PaymentDirector.getAdapter(paymentProvider.adapterKey);
44
- if (!Adapter)
45
- return null;
46
- return {
47
- _id: Adapter.key,
48
- label: Adapter.label,
49
- version: Adapter.version,
50
- };
51
- },
52
- pricingSheet: (params) => {
53
- return PaymentPricingSheet(params);
54
- },
55
- findInterfaces: ({ type }) => {
56
- return PaymentDirector.getAdapters()
57
- .filter((Adapter) => Adapter.typeSupported(type))
58
- .map((Adapter) => ({
59
- _id: Adapter.key,
60
- label: Adapter.label,
61
- version: Adapter.version,
62
- }));
63
- },
64
- findSupported: async (paymentContext, unchainedAPI) => {
65
- const allProviders = await PaymentProviders.find({ deleted: null }).toArray();
66
- const providers = await asyncFilter(allProviders, async (provider) => {
67
- try {
68
- const director = await PaymentDirector.actions(provider, paymentContext, unchainedAPI);
69
- return director.isActive();
70
- }
71
- catch {
72
- return false;
73
- }
74
- });
75
- return paymentSettings.filterSupportedProviders({
76
- providers,
77
- order: paymentContext.order,
78
- }, unchainedAPI);
79
- },
80
- determineDefault: async (paymentProviders, deliveryContext, unchainedAPI) => {
81
- return paymentSettings.determineDefaultProvider({
82
- providers: paymentProviders,
83
- ...deliveryContext,
84
- }, unchainedAPI);
85
- },
86
- // Payment Adapter
87
- configurationError: async (paymentProvider, unchainedAPI) => {
88
- const actions = await PaymentDirector.actions(paymentProvider, {}, unchainedAPI);
89
- return actions.configurationError();
90
- },
91
- calculate: async (pricingContext, unchainedAPI) => {
92
- const pricing = await PaymentPricingDirector.actions(pricingContext, unchainedAPI);
93
- return pricing.calculate();
94
- },
95
- isActive: async (paymentProvider, unchainedAPI) => {
96
- const actions = await PaymentDirector.actions(paymentProvider, {}, unchainedAPI);
97
- return actions.isActive();
98
- },
99
- isPayLaterAllowed: async (paymentProvider, unchainedAPI) => {
100
- const actions = await PaymentDirector.actions(paymentProvider, {}, unchainedAPI);
101
- return actions.isPayLaterAllowed();
102
- },
103
- charge: async (paymentProviderId, paymentContext, unchainedAPI) => {
104
- const adapter = await getPaymentAdapter(paymentProviderId, paymentContext, unchainedAPI);
105
- return adapter.charge();
106
- },
107
- register: async (paymentProviderId, paymentContext, unchainedAPI) => {
108
- const adapter = await getPaymentAdapter(paymentProviderId, paymentContext, unchainedAPI);
109
- return adapter.register();
110
- },
111
- sign: async (paymentProviderId, paymentContext, unchainedAPI) => {
112
- const adapter = await getPaymentAdapter(paymentProviderId, paymentContext, unchainedAPI);
113
- return adapter.sign();
114
- },
115
- validate: async (paymentProviderId, paymentContext, unchainedAPI) => {
116
- const adapter = await getPaymentAdapter(paymentProviderId, paymentContext, unchainedAPI);
117
- return adapter.validate();
118
- },
119
- cancel: async (paymentProviderId, paymentContext, unchainedAPI) => {
120
- const adapter = await getPaymentAdapter(paymentProviderId, paymentContext, unchainedAPI);
121
- return adapter.cancel();
122
- },
123
- confirm: async (paymentProviderId, paymentContext, unchainedAPI) => {
124
- const adapter = await getPaymentAdapter(paymentProviderId, paymentContext, unchainedAPI);
125
- return adapter.confirm();
126
- },
127
30
  // Mutations
128
31
  create: async (doc) => {
129
- const Adapter = PaymentDirector.getAdapter(doc.adapterKey);
130
- if (!Adapter)
131
- return null;
132
32
  const { insertedId: paymentProviderId } = await PaymentProviders.insertOne({
133
33
  _id: generateDbObjectId(),
134
34
  created: new Date(),
135
- configuration: Adapter.initialConfiguration,
136
35
  ...doc,
137
36
  });
138
37
  const paymentProvider = await PaymentProviders.findOne(generateDbFilterById(paymentProviderId), {});
@@ -1 +1 @@
1
- {"version":3,"file":"configurePaymentProvidersModule.js","sourceRoot":"","sources":["../../src/module/configurePaymentProvidersModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configurePaymentProvidersModule.js","sourceRoot":"","sources":["../../src/module/configurePaymentProvidersModule.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,5 @@
1
- export * from './types.js';
2
1
  export * from './module/configurePaymentModule.js';
3
2
  export * from './payment-settings.js';
4
- export * from './director/PaymentDirector.js';
5
- export * from './director/PaymentAdapter.js';
6
- export * from './director/PaymentPricingAdapter.js';
7
- export * from './director/PaymentPricingDirector.js';
8
- export * from './director/PaymentPricingSheet.js';
9
- export { PaymentError } from './director/PaymentError.js';
10
- export { PaymentProviderType } from './director/PaymentProviderType.js';
3
+ export * from './db/PaymentCredentialsCollection.js';
4
+ export * from './db/PaymentProvidersCollection.js';
11
5
  //# sourceMappingURL=payment-index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"payment-index.d.ts","sourceRoot":"","sources":["../src/payment-index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AAEtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"payment-index.d.ts","sourceRoot":"","sources":["../src/payment-index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC"}
@@ -1,11 +1,5 @@
1
- export * from './types.js';
2
1
  export * from './module/configurePaymentModule.js';
3
2
  export * from './payment-settings.js';
4
- export * from './director/PaymentDirector.js';
5
- export * from './director/PaymentAdapter.js';
6
- export * from './director/PaymentPricingAdapter.js';
7
- export * from './director/PaymentPricingDirector.js';
8
- export * from './director/PaymentPricingSheet.js';
9
- export { PaymentError } from './director/PaymentError.js';
10
- export { PaymentProviderType } from './director/PaymentProviderType.js';
3
+ export * from './db/PaymentCredentialsCollection.js';
4
+ export * from './db/PaymentProvidersCollection.js';
11
5
  //# sourceMappingURL=payment-index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payment-index.js","sourceRoot":"","sources":["../src/payment-index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AAEtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"payment-index.js","sourceRoot":"","sources":["../src/payment-index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC"}
@@ -1,15 +1,14 @@
1
- import { Order } from '@unchainedshop/core-orders';
2
- import { PaymentCredentials, PaymentProvider } from './types.js';
3
- import { UnchainedCore } from '@unchainedshop/core';
4
- export type FilterProviders = (params: {
1
+ import { PaymentCredentials } from './db/PaymentCredentialsCollection.js';
2
+ import { PaymentProvider } from './db/PaymentProvidersCollection.js';
3
+ export type FilterProviders<Order = unknown, UnchainedAPI = unknown> = (params: {
5
4
  providers: Array<PaymentProvider>;
6
5
  order: Order;
7
- }, context: UnchainedCore) => Promise<Array<PaymentProvider>>;
8
- export type DetermineDefaultProvider = (params: {
6
+ }, unchainedAPI: UnchainedAPI) => Promise<Array<PaymentProvider>>;
7
+ export type DetermineDefaultProvider<Order = unknown, UnchainedAPI = unknown> = (params: {
9
8
  providers: Array<PaymentProvider>;
10
9
  order: Order;
11
10
  paymentCredentials?: Array<PaymentCredentials>;
12
- }, context: UnchainedCore) => Promise<PaymentProvider>;
11
+ }, unchainedAPI: UnchainedAPI) => Promise<PaymentProvider>;
13
12
  export interface PaymentSettingsOptions {
14
13
  sortProviders?: (a: PaymentProvider, b: PaymentProvider) => number;
15
14
  filterSupportedProviders?: FilterProviders;
@@ -1 +1 @@
1
- {"version":3,"file":"payment-settings.d.ts","sourceRoot":"","sources":["../src/payment-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG,CAC5B,MAAM,EAAE;IACN,SAAS,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAClC,KAAK,EAAE,KAAK,CAAC;CACd,EACD,OAAO,EAAE,aAAa,KACnB,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;AAErC,MAAM,MAAM,wBAAwB,GAAG,CACrC,MAAM,EAAE;IACN,SAAS,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAClC,KAAK,EAAE,KAAK,CAAC;IACb,kBAAkB,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;CAChD,EACD,OAAO,EAAE,aAAa,KACnB,OAAO,CAAC,eAAe,CAAC,CAAC;AAC9B,MAAM,WAAW,sBAAsB;IACrC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,KAAK,MAAM,CAAC;IACnE,wBAAwB,CAAC,EAAE,eAAe,CAAC;IAC3C,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;CACrD;AAED,MAAM,WAAW,eAAe;IAC9B,wBAAwB,EAAE,eAAe,CAAC;IAC1C,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,sBAAsB,KAAK,IAAI,CAAC;CAC/D;AAoBD,eAAO,MAAM,eAAe,EAAE,eAW7B,CAAC"}
1
+ {"version":3,"file":"payment-settings.d.ts","sourceRoot":"","sources":["../src/payment-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE,MAAM,MAAM,eAAe,CAAC,KAAK,GAAG,OAAO,EAAE,YAAY,GAAG,OAAO,IAAI,CACrE,MAAM,EAAE;IACN,SAAS,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAClC,KAAK,EAAE,KAAK,CAAC;CACd,EACD,YAAY,EAAE,YAAY,KACvB,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;AAErC,MAAM,MAAM,wBAAwB,CAAC,KAAK,GAAG,OAAO,EAAE,YAAY,GAAG,OAAO,IAAI,CAC9E,MAAM,EAAE;IACN,SAAS,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAClC,KAAK,EAAE,KAAK,CAAC;IACb,kBAAkB,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;CAChD,EACD,YAAY,EAAE,YAAY,KACvB,OAAO,CAAC,eAAe,CAAC,CAAC;AAC9B,MAAM,WAAW,sBAAsB;IACrC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,KAAK,MAAM,CAAC;IACnE,wBAAwB,CAAC,EAAE,eAAe,CAAC;IAC3C,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;CACrD;AAED,MAAM,WAAW,eAAe;IAC9B,wBAAwB,EAAE,eAAe,CAAC;IAC1C,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,sBAAsB,KAAK,IAAI,CAAC;CAC/D;AAoBD,eAAO,MAAM,eAAe,EAAE,eAW7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"payment-settings.js","sourceRoot":"","sources":["../src/payment-settings.ts"],"names":[],"mappings":"AAgCA,MAAM,kBAAkB,GAAG,CAAC,IAAqB,EAAE,KAAsB,EAAE,EAAE;IAC3E,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,YAAY,GAAoB,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAC5D,OAAO,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAA6B,KAAK,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,EAAE;IACnG,MAAM,+BAA+B,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,wBAAwB,EAAE,EAAE;QAClF,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE;YACnD,OAAO,wBAAwB,CAAC,GAAG,KAAK,iBAAiB,CAAC,iBAAiB,CAAC;QAC9E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,IAAI,+BAA+B;QAAE,OAAO,+BAA+B,CAAC;IAC5E,OAAO,SAAS,EAAE,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,wBAAwB,EAAE,IAAI;IAC9B,wBAAwB,EAAE,IAAI;IAE9B,iBAAiB,CAAC,EAChB,wBAAwB,GAAG,YAAY,EACvC,wBAAwB,GAAG,sBAAsB,GAClD,GAAG,EAAE;QACJ,eAAe,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACpE,eAAe,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;IACtE,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"payment-settings.js","sourceRoot":"","sources":["../src/payment-settings.ts"],"names":[],"mappings":"AA+BA,MAAM,kBAAkB,GAAG,CAAC,IAAqB,EAAE,KAAsB,EAAE,EAAE;IAC3E,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,YAAY,GAAoB,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAC5D,OAAO,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAA6B,KAAK,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,EAAE;IACnG,MAAM,+BAA+B,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,wBAAwB,EAAE,EAAE;QAClF,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE;YACnD,OAAO,wBAAwB,CAAC,GAAG,KAAK,iBAAiB,CAAC,iBAAiB,CAAC;QAC9E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,IAAI,+BAA+B;QAAE,OAAO,+BAA+B,CAAC;IAC5E,OAAO,SAAS,EAAE,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,wBAAwB,EAAE,IAAI;IAC9B,wBAAwB,EAAE,IAAI;IAE9B,iBAAiB,CAAC,EAChB,wBAAwB,GAAG,YAAY,EACvC,wBAAwB,GAAG,sBAAsB,GAClD,GAAG,EAAE;QACJ,eAAe,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACpE,eAAe,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;IACtE,CAAC;CACF,CAAC"}
package/lib/types.d.ts CHANGED
@@ -1,8 +1,6 @@
1
1
  import { IBaseAdapter, IBaseDirector } from '@unchainedshop/utils';
2
- import type { TimestampFields } from '@unchainedshop/mongodb';
3
- import { Order } from '@unchainedshop/core-orders';
4
- import { OrderPayment } from '@unchainedshop/core-orders';
5
- import { UnchainedCore } from '@unchainedshop/core';
2
+ import { TimestampFields } from '@unchainedshop/mongodb';
3
+ import type { Order, OrderPayment } from '@unchainedshop/core-orders';
6
4
  export declare enum PaymentProviderType {
7
5
  CARD = "CARD",
8
6
  INVOICE = "INVOICE",
@@ -18,14 +16,6 @@ export type PaymentProvider = {
18
16
  adapterKey: string;
19
17
  configuration: PaymentConfiguration;
20
18
  } & TimestampFields;
21
- export type PaymentCredentials = {
22
- _id?: string;
23
- paymentProviderId: string;
24
- userId: string;
25
- token?: string;
26
- isPreferred?: boolean;
27
- meta: any;
28
- } & TimestampFields;
29
19
  export declare enum PaymentError {
30
20
  ADAPTER_NOT_FOUND = "ADAPTER_NOT_FOUND",
31
21
  NOT_IMPLEMENTED = "NOT_IMPLEMENTED",
@@ -61,20 +51,16 @@ export interface IPaymentActions {
61
51
  cancel: (transactionContext?: any) => Promise<boolean>;
62
52
  confirm: (transactionContext?: any) => Promise<boolean>;
63
53
  }
64
- export type IPaymentAdapter = IBaseAdapter & {
54
+ export type IPaymentAdapter<UnchainedAPI = any> = IBaseAdapter & {
65
55
  initialConfiguration: PaymentConfiguration;
66
56
  typeSupported: (type: PaymentProviderType) => boolean;
67
- actions: (params: {
68
- config: PaymentConfiguration;
69
- paymentContext: PaymentContext & {
70
- paymentProviderId: string;
71
- paymentProvider: PaymentProvider;
72
- };
73
- context: UnchainedCore;
74
- }) => IPaymentActions;
57
+ actions: (config: PaymentConfiguration, context: PaymentContext & {
58
+ paymentProviderId: string;
59
+ paymentProvider: PaymentProvider;
60
+ } & UnchainedAPI) => IPaymentActions;
75
61
  };
76
62
  export type IPaymentDirector = IBaseDirector<IPaymentAdapter> & {
77
- actions: (paymentProvider: PaymentProvider, paymentContext: PaymentContext, unchainedAPI: UnchainedCore) => Promise<IPaymentActions>;
63
+ actions: (paymentProvider: PaymentProvider, paymentContext: PaymentContext, unchainedAPI: any) => Promise<IPaymentActions>;
78
64
  };
79
65
  export interface PaymentInterface {
80
66
  _id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,0CAAmB,CAAA;IACnB,0CAAmB,CAAA;AACrB,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAuBD,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,uDAAuC,CAAA;IACvC,mDAAmC,CAAA;IACnC,qEAAqD,CAAA;IACrD,uDAAuC,CAAA;AACzC,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAmED;;GAEG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,0CAAmB,CAAA;IACnB,0CAAmB,CAAA;AACrB,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAcD,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,uDAAuC,CAAA;IACvC,mDAAmC,CAAA;IACnC,qEAAqD,CAAA;IACrD,uDAAuC,CAAA;AACzC,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAkED;;GAEG"}
package/package.json CHANGED
@@ -1,16 +1,13 @@
1
1
  {
2
2
  "name": "@unchainedshop/core-payment",
3
- "version": "3.0.0-alpha7",
3
+ "version": "3.0.0-rc1",
4
4
  "main": "lib/payment-index.js",
5
- "exports": {
6
- ".": "./lib/payment-index.js",
7
- "./*": "./lib/*"
8
- },
9
5
  "types": "lib/payment-index.d.ts",
10
6
  "type": "module",
11
7
  "scripts": {
12
- "clean": "rm -rf lib",
13
- "prepublishOnly": "npm run clean && tsc",
8
+ "clean": "tsc -b --clean",
9
+ "build": "tsc -b",
10
+ "prepublishOnly": "npm run clean && npm run build",
14
11
  "watch": "tsc -w",
15
12
  "test": "NODE_OPTIONS=--experimental-vm-modules jest --detectOpenHandles --forceExit",
16
13
  "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch --detectOpenHandles --forceExit"
@@ -31,14 +28,14 @@
31
28
  },
32
29
  "homepage": "https://github.com/unchainedshop/unchained#readme",
33
30
  "dependencies": {
34
- "@unchainedshop/events": "^3.0.0-alpha4",
35
- "@unchainedshop/logger": "^3.0.0-alpha4",
36
- "@unchainedshop/utils": "^3.0.0-alpha4"
31
+ "@unchainedshop/events": "^3.0.0-rc1",
32
+ "@unchainedshop/logger": "^3.0.0-rc1",
33
+ "@unchainedshop/utils": "^3.0.0-rc1"
37
34
  },
38
35
  "devDependencies": {
39
- "@types/node": "^22.8.1",
36
+ "@types/node": "^22.10.2",
40
37
  "jest": "^29.7.0",
41
38
  "ts-jest": "^29.2.5",
42
- "typescript": "^5.6.3"
39
+ "typescript": "^5.7.2"
43
40
  }
44
41
  }
@@ -1,13 +1,21 @@
1
- import { mongodb, buildDbIndexes } from '@unchainedshop/mongodb';
2
- import { PaymentCredentials as PaymentCredentialsType } from '@unchainedshop/core-payment';
1
+ import { mongodb, buildDbIndexes, TimestampFields } from '@unchainedshop/mongodb';
2
+
3
+ export type PaymentCredentials = {
4
+ _id?: string;
5
+ paymentProviderId: string;
6
+ userId: string;
7
+ token?: string;
8
+ isPreferred?: boolean;
9
+ meta: any;
10
+ } & TimestampFields;
3
11
 
4
12
  export const PaymentCredentialsCollection = async (db: mongodb.Db) => {
5
- const PaymentCredentials = db.collection<PaymentCredentialsType>('payment_credentials');
13
+ const PaymentCredentialsCol = db.collection<PaymentCredentials>('payment_credentials');
6
14
 
7
- await buildDbIndexes<PaymentCredentialsType>(PaymentCredentials, [
15
+ await buildDbIndexes<PaymentCredentials>(PaymentCredentialsCol, [
8
16
  { index: { paymentProviderId: 1 } },
9
17
  { index: { userId: 1 } },
10
18
  ]);
11
19
 
12
- return PaymentCredentials;
20
+ return PaymentCredentialsCol;
13
21
  };
@@ -1,5 +1,22 @@
1
- import { mongodb, buildDbIndexes } from '@unchainedshop/mongodb';
2
- import { PaymentProvider } from '@unchainedshop/core-payment';
1
+ import { mongodb, buildDbIndexes, TimestampFields } from '@unchainedshop/mongodb';
2
+
3
+ export enum PaymentProviderType {
4
+ CARD = 'CARD',
5
+ INVOICE = 'INVOICE',
6
+ GENERIC = 'GENERIC',
7
+ }
8
+
9
+ export type PaymentConfiguration = Array<{
10
+ key: string;
11
+ value: string | null;
12
+ }>;
13
+
14
+ export type PaymentProvider = {
15
+ _id?: string;
16
+ type: PaymentProviderType;
17
+ adapterKey: string;
18
+ configuration: PaymentConfiguration;
19
+ } & TimestampFields;
3
20
 
4
21
  export const PaymentProvidersCollection = async (db: mongodb.Db) => {
5
22
  const PaymentProviders = db.collection<PaymentProvider>('payment-providers');
@@ -1,42 +1,16 @@
1
1
  import { mongodb, generateDbFilterById, generateDbObjectId } from '@unchainedshop/mongodb';
2
- import { PaymentCredentials as PaymentCredentialsType } from '../types.js';
3
-
4
- export type PaymentCredentialsModules = {
5
- // Queries
6
-
7
- credentialsExists: (query: { paymentCredentialsId: string }) => Promise<boolean>;
8
-
9
- findPaymentCredential: (
10
- query: {
11
- paymentCredentialsId?: string;
12
- userId?: string;
13
- paymentProviderId?: string;
14
- isPreferred?: boolean;
15
- },
16
- options?: mongodb.FindOptions,
17
- ) => Promise<PaymentCredentialsType>;
18
-
19
- findPaymentCredentials: (
20
- query: mongodb.Filter<PaymentCredentialsType>,
21
- options?: mongodb.FindOptions,
22
- ) => Promise<Array<PaymentCredentialsType>>;
23
-
24
- // Mutations
25
- markPreferred: (query: { userId: string; paymentCredentialsId: string }) => Promise<void>;
26
-
27
- upsertCredentials: (
28
- doc: Pick<PaymentCredentialsType, 'userId' | 'paymentProviderId' | '_id' | 'token'> & {
29
- [x: string]: any;
30
- },
31
- ) => Promise<string | null>;
32
-
33
- removeCredentials: (paymentCredentialsId: string) => Promise<PaymentCredentialsType>;
34
- };
2
+ import { PaymentCredentials as PaymentCredentialsType } from '../db/PaymentCredentialsCollection.js';
35
3
 
36
4
  export const configurePaymentCredentialsModule = (
37
5
  PaymentCredentials: mongodb.Collection<PaymentCredentialsType>,
38
- ): PaymentCredentialsModules => {
39
- const markPreferred = async ({ userId, paymentCredentialsId }) => {
6
+ ) => {
7
+ const markPreferred = async ({
8
+ userId,
9
+ paymentCredentialsId,
10
+ }: {
11
+ userId: string;
12
+ paymentCredentialsId: string;
13
+ }): Promise<void> => {
40
14
  await PaymentCredentials.updateOne(
41
15
  {
42
16
  _id: paymentCredentialsId,
@@ -63,7 +37,11 @@ export const configurePaymentCredentialsModule = (
63
37
  return {
64
38
  markPreferred,
65
39
 
66
- credentialsExists: async ({ paymentCredentialsId }) => {
40
+ credentialsExists: async ({
41
+ paymentCredentialsId,
42
+ }: {
43
+ paymentCredentialsId: string;
44
+ }): Promise<boolean> => {
67
45
  const credentialsCount = await PaymentCredentials.countDocuments(
68
46
  generateDbFilterById(paymentCredentialsId),
69
47
  { limit: 1 },
@@ -71,7 +49,18 @@ export const configurePaymentCredentialsModule = (
71
49
  return !!credentialsCount;
72
50
  },
73
51
 
74
- findPaymentCredential: async ({ paymentCredentialsId, userId, paymentProviderId }, options) => {
52
+ findPaymentCredential: async (
53
+ {
54
+ paymentCredentialsId,
55
+ userId,
56
+ paymentProviderId,
57
+ }: {
58
+ paymentCredentialsId?: string;
59
+ userId?: string;
60
+ paymentProviderId?: string;
61
+ },
62
+ options?: mongodb.FindOptions,
63
+ ): Promise<PaymentCredentialsType> => {
75
64
  return PaymentCredentials.findOne(
76
65
  paymentCredentialsId
77
66
  ? generateDbFilterById(paymentCredentialsId)
@@ -80,12 +69,23 @@ export const configurePaymentCredentialsModule = (
80
69
  );
81
70
  },
82
71
 
83
- findPaymentCredentials: async (query, options) => {
72
+ findPaymentCredentials: async (
73
+ query: mongodb.Filter<PaymentCredentialsType>,
74
+ options?: mongodb.FindOptions,
75
+ ): Promise<Array<PaymentCredentialsType>> => {
84
76
  const credentials = await PaymentCredentials.find(query, options).toArray();
85
77
  return credentials;
86
78
  },
87
79
 
88
- upsertCredentials: async ({ userId, paymentProviderId, _id, token, ...meta }) => {
80
+ upsertCredentials: async ({
81
+ userId,
82
+ paymentProviderId,
83
+ _id,
84
+ token,
85
+ ...meta
86
+ }: Pick<PaymentCredentialsType, 'userId' | 'paymentProviderId' | '_id' | 'token'> & {
87
+ [x: string]: any;
88
+ }): Promise<string> => {
89
89
  const insertedId = _id || generateDbObjectId();
90
90
  const result = await PaymentCredentials.updateOne(
91
91
  _id
@@ -123,10 +123,12 @@ export const configurePaymentCredentialsModule = (
123
123
  return null;
124
124
  },
125
125
 
126
- removeCredentials: async (paymentCredentialsId) => {
126
+ removeCredentials: async (paymentCredentialsId: string): Promise<PaymentCredentialsType> => {
127
127
  const selector = generateDbFilterById(paymentCredentialsId);
128
128
  const paymentCredentials = await PaymentCredentials.findOneAndDelete(selector, {});
129
129
  return paymentCredentials;
130
130
  },
131
131
  };
132
132
  };
133
+
134
+ export type PaymentCredentialsModule = ReturnType<typeof configurePaymentCredentialsModule>;
@@ -1,41 +1,14 @@
1
- import { UnchainedCore } from '@unchainedshop/core';
2
1
  import { PaymentCredentialsCollection } from '../db/PaymentCredentialsCollection.js';
3
2
  import { PaymentProvidersCollection } from '../db/PaymentProvidersCollection.js';
4
- import {
5
- configurePaymentCredentialsModule,
6
- PaymentCredentialsModules,
7
- } from './configurePaymentCredentialsModule.js';
8
- import {
9
- configurePaymentProvidersModule,
10
- PaymentProvidersModules,
11
- } from './configurePaymentProvidersModule.js';
3
+ import { configurePaymentCredentialsModule } from './configurePaymentCredentialsModule.js';
4
+ import { configurePaymentProvidersModule } from './configurePaymentProvidersModule.js';
12
5
  import { paymentSettings, PaymentSettingsOptions } from '../payment-settings.js';
13
- import { PaymentContext, PaymentCredentials as PaymentCredentialsType } from '../types.js';
14
6
  import { ModuleInput } from '@unchainedshop/mongodb';
15
- export type PaymentModule = {
16
- /*
17
- * Payment Providers Module
18
- */
19
-
20
- registerCredentials: (
21
- paymentProviderId: string,
22
- paymentContext: PaymentContext,
23
- unchainedAPI: UnchainedCore,
24
- ) => Promise<PaymentCredentialsType>;
25
-
26
- paymentProviders: PaymentProvidersModules;
27
-
28
- /*
29
- * Payment Credentials Module
30
- */
31
-
32
- paymentCredentials: PaymentCredentialsModules;
33
- };
34
7
 
35
8
  export const configurePaymentModule = async ({
36
9
  db,
37
10
  options: paymentOptions = {},
38
- }: ModuleInput<PaymentSettingsOptions>): Promise<PaymentModule> => {
11
+ }: ModuleInput<PaymentSettingsOptions>) => {
39
12
  const PaymentProviders = await PaymentProvidersCollection(db);
40
13
  const PaymentCredentials = await PaymentCredentialsCollection(db);
41
14
 
@@ -44,35 +17,10 @@ export const configurePaymentModule = async ({
44
17
  const paymentProviders = configurePaymentProvidersModule(PaymentProviders);
45
18
  const paymentCredentials = configurePaymentCredentialsModule(PaymentCredentials);
46
19
 
47
- const registerCredentials: PaymentModule['registerCredentials'] = async (
48
- paymentProviderId,
49
- paymentContext,
50
- unchainedAPI,
51
- ) => {
52
- const registration = await paymentProviders.register(
53
- paymentProviderId,
54
- paymentContext,
55
- unchainedAPI,
56
- );
57
-
58
- if (!registration) return null;
59
-
60
- const paymentCredentialsId = await paymentCredentials.upsertCredentials({
61
- userId: paymentContext.userId,
62
- paymentProviderId,
63
- ...registration,
64
- });
65
-
66
- return paymentCredentials.findPaymentCredential({
67
- paymentCredentialsId,
68
- userId: paymentContext.userId,
69
- paymentProviderId,
70
- });
71
- };
72
-
73
20
  return {
74
21
  paymentProviders,
75
22
  paymentCredentials,
76
- registerCredentials,
77
23
  };
78
24
  };
25
+
26
+ export type PaymentModule = Awaited<ReturnType<typeof configurePaymentModule>>;