@unchainedshop/core-payment 2.0.0-beta7 → 2.0.0-beta9
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.
- package/jest.config.js +9 -0
- package/lib/db/PaymentProvidersSchema.js +0 -1
- package/lib/db/PaymentProvidersSchema.js.map +1 -1
- package/lib/director/PaymentDirector.js +3 -3
- package/lib/director/PaymentDirector.js.map +1 -1
- package/lib/director/PaymentPricingDirector.js +9 -9
- package/lib/director/PaymentPricingDirector.js.map +1 -1
- package/lib/module/configurePaymentCredentialsModule.js +0 -2
- package/lib/module/configurePaymentCredentialsModule.js.map +1 -1
- package/lib/module/configurePaymentModule.js +20 -2
- package/lib/module/configurePaymentModule.js.map +1 -1
- package/lib/module/configurePaymentProvidersModule.d.ts +5 -1
- package/lib/module/configurePaymentProvidersModule.js +39 -39
- package/lib/module/configurePaymentProvidersModule.js.map +1 -1
- package/lib/payment-index.d.ts +0 -1
- package/lib/payment-index.js +0 -1
- package/lib/payment-index.js.map +1 -1
- package/lib/payment-settings.js +2 -13
- package/lib/payment-settings.js.map +1 -1
- package/package.json +10 -9
- package/src/db/PaymentProvidersSchema.js +0 -1
- package/src/director/PaymentDirector.ts +3 -3
- package/src/director/PaymentPricingDirector.ts +9 -9
- package/src/module/configurePaymentCredentialsModule.ts +0 -2
- package/src/module/configurePaymentModule.ts +32 -2
- package/src/module/configurePaymentProvidersModule.ts +43 -47
- package/src/payment-index.ts +0 -1
- package/src/payment-settings.ts +1 -16
- package/tests/payment-index.test.ts +12 -43
- package/lib/service/cancelService.d.ts +0 -2
- package/lib/service/cancelService.js +0 -13
- package/lib/service/cancelService.js.map +0 -1
- package/lib/service/chargeService.d.ts +0 -2
- package/lib/service/chargeService.js +0 -33
- package/lib/service/chargeService.js.map +0 -1
- package/lib/service/confirmService.d.ts +0 -2
- package/lib/service/confirmService.js +0 -13
- package/lib/service/confirmService.js.map +0 -1
- package/lib/service/paymentServices.d.ts +0 -2
- package/lib/service/paymentServices.js +0 -11
- package/lib/service/paymentServices.js.map +0 -1
- package/lib/service/registerPaymentCredentialsService.d.ts +0 -2
- package/lib/service/registerPaymentCredentialsService.js +0 -17
- package/lib/service/registerPaymentCredentialsService.js.map +0 -1
- package/src/service/cancelService.ts +0 -24
- package/src/service/chargeService.ts +0 -47
- package/src/service/confirmService.ts +0 -24
- package/src/service/paymentServices.ts +0 -12
- package/src/service/registerPaymentCredentialsService.ts +0 -28
|
@@ -15,8 +15,38 @@ export const configurePaymentModule = async ({
|
|
|
15
15
|
|
|
16
16
|
paymentSettings.configureSettings(paymentOptions);
|
|
17
17
|
|
|
18
|
+
const paymentProviders = configurePaymentProvidersModule(PaymentProviders);
|
|
19
|
+
const paymentCredentials = configurePaymentCredentialsModule(PaymentCredentials);
|
|
20
|
+
|
|
21
|
+
const registerCredentials: PaymentModule['registerCredentials'] = async (
|
|
22
|
+
paymentProviderId,
|
|
23
|
+
paymentContext,
|
|
24
|
+
unchainedAPI,
|
|
25
|
+
) => {
|
|
26
|
+
const registration = await paymentProviders.register(
|
|
27
|
+
paymentProviderId,
|
|
28
|
+
paymentContext,
|
|
29
|
+
unchainedAPI,
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
if (!registration) return null;
|
|
33
|
+
|
|
34
|
+
const paymentCredentialsId = await paymentCredentials.upsertCredentials({
|
|
35
|
+
userId: paymentContext.userId,
|
|
36
|
+
paymentProviderId,
|
|
37
|
+
...registration,
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
return paymentCredentials.findPaymentCredential({
|
|
41
|
+
paymentCredentialsId,
|
|
42
|
+
userId: paymentContext.userId,
|
|
43
|
+
paymentProviderId,
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
|
|
18
47
|
return {
|
|
19
|
-
paymentProviders
|
|
20
|
-
paymentCredentials
|
|
48
|
+
paymentProviders,
|
|
49
|
+
paymentCredentials,
|
|
50
|
+
registerCredentials,
|
|
21
51
|
};
|
|
22
52
|
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { Context } from '@unchainedshop/types/api';
|
|
2
1
|
import { Collection } from '@unchainedshop/types/common';
|
|
3
|
-
import { ModuleMutations } from '@unchainedshop/types/core';
|
|
2
|
+
import { ModuleMutations, UnchainedCore } from '@unchainedshop/types/core';
|
|
4
3
|
import {
|
|
5
4
|
PaymentContext,
|
|
6
5
|
PaymentModule,
|
|
@@ -21,7 +20,7 @@ const PAYMENT_PROVIDER_EVENTS: string[] = [
|
|
|
21
20
|
'PAYMENT_PROVIDER_REMOVE',
|
|
22
21
|
];
|
|
23
22
|
|
|
24
|
-
const buildFindSelector = ({ type }: PaymentProviderQuery = {}) => {
|
|
23
|
+
export const buildFindSelector = ({ type }: PaymentProviderQuery = {}) => {
|
|
25
24
|
return { ...(type ? { type } : {}), deleted: null };
|
|
26
25
|
};
|
|
27
26
|
|
|
@@ -44,11 +43,11 @@ export const configurePaymentProvidersModule = (
|
|
|
44
43
|
const getPaymentAdapter = async (
|
|
45
44
|
paymentProviderId: string,
|
|
46
45
|
paymentContext: PaymentContext,
|
|
47
|
-
|
|
46
|
+
unchainedAPI: UnchainedCore,
|
|
48
47
|
) => {
|
|
49
48
|
const provider = await PaymentProviders.findOne(generateDbFilterById(paymentProviderId), {});
|
|
50
49
|
|
|
51
|
-
return PaymentDirector.actions(provider, paymentContext,
|
|
50
|
+
return PaymentDirector.actions(provider, paymentContext, unchainedAPI);
|
|
52
51
|
};
|
|
53
52
|
|
|
54
53
|
return {
|
|
@@ -102,13 +101,13 @@ export const configurePaymentProvidersModule = (
|
|
|
102
101
|
}));
|
|
103
102
|
},
|
|
104
103
|
|
|
105
|
-
findSupported: async (paymentContext,
|
|
104
|
+
findSupported: async (paymentContext, unchainedAPI) => {
|
|
106
105
|
const allProviders = await PaymentProviders.find({ deleted: null }).toArray();
|
|
107
106
|
const providers: PaymentProvider[] = await asyncFilter(
|
|
108
107
|
allProviders,
|
|
109
108
|
async (provider: PaymentProvider) => {
|
|
110
109
|
try {
|
|
111
|
-
const director = await PaymentDirector.actions(provider, paymentContext,
|
|
110
|
+
const director = await PaymentDirector.actions(provider, paymentContext, unchainedAPI);
|
|
112
111
|
return director.isActive();
|
|
113
112
|
} catch {
|
|
114
113
|
return false;
|
|
@@ -121,110 +120,107 @@ export const configurePaymentProvidersModule = (
|
|
|
121
120
|
providers,
|
|
122
121
|
order: paymentContext.order,
|
|
123
122
|
},
|
|
124
|
-
|
|
123
|
+
unchainedAPI,
|
|
125
124
|
);
|
|
126
125
|
},
|
|
127
126
|
|
|
128
|
-
determineDefault: async (paymentProviders, deliveryContext,
|
|
127
|
+
determineDefault: async (paymentProviders, deliveryContext, unchainedAPI) => {
|
|
129
128
|
return paymentSettings.determineDefaultProvider(
|
|
130
129
|
{
|
|
131
130
|
providers: paymentProviders,
|
|
132
131
|
...deliveryContext,
|
|
133
132
|
},
|
|
134
|
-
|
|
133
|
+
unchainedAPI,
|
|
135
134
|
);
|
|
136
135
|
},
|
|
137
136
|
|
|
138
137
|
// Payment Adapter
|
|
139
138
|
|
|
140
|
-
configurationError: async (paymentProvider,
|
|
141
|
-
const actions = await PaymentDirector.actions(paymentProvider, {},
|
|
139
|
+
configurationError: async (paymentProvider, unchainedAPI) => {
|
|
140
|
+
const actions = await PaymentDirector.actions(paymentProvider, {}, unchainedAPI);
|
|
142
141
|
return actions.configurationError();
|
|
143
142
|
},
|
|
144
143
|
|
|
145
|
-
calculate: async (pricingContext,
|
|
146
|
-
const pricing = await PaymentPricingDirector.actions(pricingContext,
|
|
144
|
+
calculate: async (pricingContext, unchainedAPI) => {
|
|
145
|
+
const pricing = await PaymentPricingDirector.actions(pricingContext, unchainedAPI);
|
|
147
146
|
return pricing.calculate();
|
|
148
147
|
},
|
|
149
148
|
|
|
150
|
-
isActive: async (paymentProvider,
|
|
151
|
-
const actions = await PaymentDirector.actions(paymentProvider, {},
|
|
149
|
+
isActive: async (paymentProvider, unchainedAPI) => {
|
|
150
|
+
const actions = await PaymentDirector.actions(paymentProvider, {}, unchainedAPI);
|
|
152
151
|
return actions.isActive();
|
|
153
152
|
},
|
|
154
153
|
|
|
155
|
-
isPayLaterAllowed: async (paymentProvider,
|
|
156
|
-
const actions = await PaymentDirector.actions(paymentProvider, {},
|
|
154
|
+
isPayLaterAllowed: async (paymentProvider, unchainedAPI) => {
|
|
155
|
+
const actions = await PaymentDirector.actions(paymentProvider, {}, unchainedAPI);
|
|
157
156
|
return actions.isPayLaterAllowed();
|
|
158
157
|
},
|
|
159
158
|
|
|
160
|
-
charge: async (paymentProviderId, paymentContext,
|
|
161
|
-
const adapter = await getPaymentAdapter(paymentProviderId, paymentContext,
|
|
159
|
+
charge: async (paymentProviderId, paymentContext, unchainedAPI) => {
|
|
160
|
+
const adapter = await getPaymentAdapter(paymentProviderId, paymentContext, unchainedAPI);
|
|
162
161
|
return adapter.charge();
|
|
163
162
|
},
|
|
164
163
|
|
|
165
|
-
register: async (paymentProviderId, paymentContext,
|
|
166
|
-
const adapter = await getPaymentAdapter(paymentProviderId, paymentContext,
|
|
164
|
+
register: async (paymentProviderId, paymentContext, unchainedAPI) => {
|
|
165
|
+
const adapter = await getPaymentAdapter(paymentProviderId, paymentContext, unchainedAPI);
|
|
167
166
|
return adapter.register();
|
|
168
167
|
},
|
|
169
168
|
|
|
170
|
-
sign: async (paymentProviderId, paymentContext,
|
|
171
|
-
const adapter = await getPaymentAdapter(paymentProviderId, paymentContext,
|
|
169
|
+
sign: async (paymentProviderId, paymentContext, unchainedAPI) => {
|
|
170
|
+
const adapter = await getPaymentAdapter(paymentProviderId, paymentContext, unchainedAPI);
|
|
172
171
|
return adapter.sign();
|
|
173
172
|
},
|
|
174
173
|
|
|
175
|
-
validate: async (paymentProviderId, paymentContext,
|
|
176
|
-
const adapter = await getPaymentAdapter(paymentProviderId, paymentContext,
|
|
174
|
+
validate: async (paymentProviderId, paymentContext, unchainedAPI) => {
|
|
175
|
+
const adapter = await getPaymentAdapter(paymentProviderId, paymentContext, unchainedAPI);
|
|
177
176
|
return adapter.validate();
|
|
178
177
|
},
|
|
179
178
|
|
|
180
|
-
cancel: async (paymentProviderId, paymentContext,
|
|
181
|
-
const adapter = await getPaymentAdapter(paymentProviderId, paymentContext,
|
|
179
|
+
cancel: async (paymentProviderId, paymentContext, unchainedAPI) => {
|
|
180
|
+
const adapter = await getPaymentAdapter(paymentProviderId, paymentContext, unchainedAPI);
|
|
182
181
|
return adapter.cancel();
|
|
183
182
|
},
|
|
184
183
|
|
|
185
|
-
confirm: async (paymentProviderId, paymentContext,
|
|
186
|
-
const adapter = await getPaymentAdapter(paymentProviderId, paymentContext,
|
|
184
|
+
confirm: async (paymentProviderId, paymentContext, unchainedAPI) => {
|
|
185
|
+
const adapter = await getPaymentAdapter(paymentProviderId, paymentContext, unchainedAPI);
|
|
187
186
|
return adapter.confirm();
|
|
188
187
|
},
|
|
189
188
|
|
|
190
189
|
// Mutations
|
|
191
|
-
create: async (doc
|
|
190
|
+
create: async (doc) => {
|
|
192
191
|
const Adapter = PaymentDirector.getAdapter(doc.adapterKey);
|
|
193
192
|
if (!Adapter) return null;
|
|
194
193
|
|
|
195
|
-
const paymentProviderId = await mutations.create(
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
},
|
|
200
|
-
userId,
|
|
201
|
-
);
|
|
194
|
+
const paymentProviderId = await mutations.create({
|
|
195
|
+
configuration: Adapter.initialConfiguration,
|
|
196
|
+
...doc,
|
|
197
|
+
});
|
|
202
198
|
|
|
203
199
|
const paymentProvider = await PaymentProviders.findOne(
|
|
204
200
|
generateDbFilterById(paymentProviderId),
|
|
205
201
|
{},
|
|
206
202
|
);
|
|
207
|
-
emit('PAYMENT_PROVIDER_CREATE', { paymentProvider });
|
|
203
|
+
await emit('PAYMENT_PROVIDER_CREATE', { paymentProvider });
|
|
208
204
|
return paymentProvider;
|
|
209
205
|
},
|
|
210
206
|
|
|
211
|
-
update: async (_id: string, doc: PaymentProvider
|
|
212
|
-
await mutations.update(_id, doc
|
|
207
|
+
update: async (_id: string, doc: PaymentProvider) => {
|
|
208
|
+
await mutations.update(_id, doc);
|
|
213
209
|
const paymentProvider = await PaymentProviders.findOne(generateDbFilterById(_id), {});
|
|
214
|
-
emit('PAYMENT_PROVIDER_UPDATE', { paymentProvider });
|
|
210
|
+
await emit('PAYMENT_PROVIDER_UPDATE', { paymentProvider });
|
|
215
211
|
return paymentProvider;
|
|
216
212
|
},
|
|
217
213
|
|
|
218
|
-
delete: async (_id
|
|
219
|
-
await mutations.delete(_id
|
|
214
|
+
delete: async (_id) => {
|
|
215
|
+
await mutations.delete(_id);
|
|
220
216
|
const paymentProvider = await PaymentProviders.findOne(generateDbFilterById(_id), {});
|
|
221
|
-
emit('PAYMENT_PROVIDER_REMOVE', { paymentProvider });
|
|
217
|
+
await emit('PAYMENT_PROVIDER_REMOVE', { paymentProvider });
|
|
222
218
|
return paymentProvider;
|
|
223
219
|
},
|
|
224
220
|
|
|
225
|
-
deletePermanently: async (_id
|
|
221
|
+
deletePermanently: async (_id) => {
|
|
226
222
|
const deliveryProvider = await PaymentProviders.findOne(generateDbFilterById(_id), {});
|
|
227
|
-
await mutations.deletePermanently(_id
|
|
223
|
+
await mutations.deletePermanently(_id);
|
|
228
224
|
return deliveryProvider;
|
|
229
225
|
},
|
|
230
226
|
};
|
package/src/payment-index.ts
CHANGED
package/src/payment-settings.ts
CHANGED
|
@@ -4,9 +4,6 @@ import {
|
|
|
4
4
|
FilterProviders,
|
|
5
5
|
DetermineDefaultProvider,
|
|
6
6
|
} from '@unchainedshop/types/payments';
|
|
7
|
-
import { createLogger } from '@unchainedshop/logger';
|
|
8
|
-
|
|
9
|
-
const logger = createLogger('unchained:core-payment');
|
|
10
7
|
|
|
11
8
|
const sortByCreationDate = (left: PaymentProvider, right: PaymentProvider) => {
|
|
12
9
|
return new Date(left.created).getTime() - new Date(right.created).getTime();
|
|
@@ -26,27 +23,15 @@ const firstProviderIsDefault: DetermineDefaultProvider = async ({ providers, pay
|
|
|
26
23
|
return providers?.length > 0 && providers[0];
|
|
27
24
|
};
|
|
28
25
|
|
|
29
|
-
const defaultFilterSupportedProviders =
|
|
30
|
-
(sortProviders) =>
|
|
31
|
-
async ({ providers }) => {
|
|
32
|
-
return providers.sort(sortProviders);
|
|
33
|
-
};
|
|
34
|
-
|
|
35
26
|
export const paymentSettings: PaymentSettings = {
|
|
36
27
|
filterSupportedProviders: null,
|
|
37
28
|
determineDefaultProvider: null,
|
|
38
29
|
|
|
39
30
|
configureSettings({
|
|
40
|
-
sortProviders = undefined,
|
|
41
31
|
filterSupportedProviders = allProviders,
|
|
42
32
|
determineDefaultProvider = firstProviderIsDefault,
|
|
43
33
|
} = {}) {
|
|
44
|
-
|
|
45
|
-
logger.warn('sortProviders is deprecated, please specifc filterSupportedProviders instead');
|
|
46
|
-
paymentSettings.filterSupportedProviders = defaultFilterSupportedProviders(sortProviders);
|
|
47
|
-
} else {
|
|
48
|
-
paymentSettings.filterSupportedProviders = filterSupportedProviders;
|
|
49
|
-
}
|
|
34
|
+
paymentSettings.filterSupportedProviders = filterSupportedProviders;
|
|
50
35
|
paymentSettings.determineDefaultProvider = determineDefaultProvider;
|
|
51
36
|
},
|
|
52
37
|
};
|
|
@@ -1,47 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { configurePaymentModule } from '@unchainedshop/core-payment';
|
|
1
|
+
import { PaymentProviderType } from "../src/director/PaymentProviderType";
|
|
2
|
+
import { buildFindSelector } from "../src/module/configurePaymentProvidersModule";
|
|
4
3
|
|
|
5
|
-
describe('Test exports', () => {
|
|
6
|
-
let module;
|
|
7
4
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
describe('Payment', () => {
|
|
6
|
+
describe('buildFindSelector', () => {
|
|
7
|
+
it('Return correct filter object when passed no argument', async () => {
|
|
8
|
+
expect(buildFindSelector({})).toEqual({ deleted: null })
|
|
9
|
+
});
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
assert.isFunction(module.create);
|
|
19
|
-
assert.isFunction(module.update);
|
|
20
|
-
assert.isFunction(module.delete);
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
it('Mutate currency', async () => {
|
|
24
|
-
const currencyId = await module.create(
|
|
25
|
-
{
|
|
26
|
-
authorId: 'Test-User-1',
|
|
27
|
-
isoCode: 'CHF',
|
|
28
|
-
},
|
|
29
|
-
'Test-User-1'
|
|
30
|
-
);
|
|
31
|
-
|
|
32
|
-
assert.ok(currencyId);
|
|
33
|
-
const currency = await module.findCurrency(currencyId);
|
|
34
|
-
|
|
35
|
-
assert.ok(currency);
|
|
36
|
-
assert.equal(currency._id, currencyId);
|
|
37
|
-
assert.equal(currency.isoCode, 'CHF');
|
|
38
|
-
assert.equal(currency.userId, 'Test-User-1');
|
|
39
|
-
assert.isDefined(currency.created);
|
|
40
|
-
assert.isUndefined(currency.updated);
|
|
41
|
-
assert.isUndefined(currency.updatedBy);
|
|
42
|
-
assert.equal(currency.createdBy, 'Test-User-1');
|
|
43
|
-
|
|
44
|
-
const deletedCount = await module.delete(currencyId);
|
|
45
|
-
assert.equal(deletedCount, 1);
|
|
46
|
-
});
|
|
11
|
+
it('Return correct filter object when passed no argument', async () => {
|
|
12
|
+
expect(buildFindSelector({type: PaymentProviderType.GENERIC})).toEqual({ type: "GENERIC", deleted: null })
|
|
13
|
+
});
|
|
14
|
+
})
|
|
15
|
+
|
|
47
16
|
});
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export const cancelService = async ({ paymentContext, paymentProviderId }, requestContext) => {
|
|
2
|
-
const { modules, userId } = requestContext;
|
|
3
|
-
const normalizedContext = {
|
|
4
|
-
...paymentContext,
|
|
5
|
-
userId,
|
|
6
|
-
paymentProviderId,
|
|
7
|
-
};
|
|
8
|
-
const result = await modules.payment.paymentProviders.cancel(paymentProviderId, normalizedContext, requestContext);
|
|
9
|
-
if (!result)
|
|
10
|
-
return false;
|
|
11
|
-
return result;
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=cancelService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cancelService.js","sourceRoot":"","sources":["../../src/service/cancelService.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAkB,KAAK,EAC/C,EAAE,cAAc,EAAE,iBAAiB,EAAE,EACrC,cAAc,EACd,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC;IAE3C,MAAM,iBAAiB,GAAG;QACxB,GAAG,cAAc;QACjB,MAAM;QACN,iBAAiB;KAClB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAC1D,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,CACf,CAAC;IAEF,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAE1B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
export const chargeService = async ({ paymentContext, paymentProviderId }, requestContext) => {
|
|
2
|
-
const { modules, userId } = requestContext;
|
|
3
|
-
const paymentCredentials = paymentContext.transactionContext?.paymentCredentials ||
|
|
4
|
-
(await modules.payment.paymentCredentials.findPaymentCredential({
|
|
5
|
-
userId,
|
|
6
|
-
paymentProviderId,
|
|
7
|
-
isPreferred: true,
|
|
8
|
-
}));
|
|
9
|
-
const normalizedContext = {
|
|
10
|
-
...paymentContext,
|
|
11
|
-
userId,
|
|
12
|
-
paymentProviderId,
|
|
13
|
-
transactionContext: {
|
|
14
|
-
...paymentContext.transactionContext,
|
|
15
|
-
paymentCredentials,
|
|
16
|
-
},
|
|
17
|
-
};
|
|
18
|
-
const result = await modules.payment.paymentProviders.charge(paymentProviderId, normalizedContext, requestContext);
|
|
19
|
-
if (!result)
|
|
20
|
-
return false;
|
|
21
|
-
const { credentials, ...strippedResult } = result;
|
|
22
|
-
if (credentials) {
|
|
23
|
-
const { token, ...meta } = credentials;
|
|
24
|
-
await modules.payment.paymentCredentials.upsertCredentials({
|
|
25
|
-
userId,
|
|
26
|
-
paymentProviderId,
|
|
27
|
-
token,
|
|
28
|
-
...meta,
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
return strippedResult;
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=chargeService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chargeService.js","sourceRoot":"","sources":["../../src/service/chargeService.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAkB,KAAK,EAC/C,EAAE,cAAc,EAAE,iBAAiB,EAAE,EACrC,cAAc,EACd,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC;IAE3C,MAAM,kBAAkB,GACtB,cAAc,CAAC,kBAAkB,EAAE,kBAAkB;QACrD,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,qBAAqB,CAAC;YAC9D,MAAM;YACN,iBAAiB;YACjB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC,CAAC;IAEN,MAAM,iBAAiB,GAAG;QACxB,GAAG,cAAc;QACjB,MAAM;QACN,iBAAiB;QACjB,kBAAkB,EAAE;YAClB,GAAG,cAAc,CAAC,kBAAkB;YACpC,kBAAkB;SACnB;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAC1D,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,CACf,CAAC;IAEF,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAE1B,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,CAAC;IAElD,IAAI,WAAW,EAAE;QACf,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,CAAC;QACvC,MAAM,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YACzD,MAAM;YACN,iBAAiB;YACjB,KAAK;YACL,GAAG,IAAI;SACR,CAAC,CAAC;KACJ;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export const confirmService = async ({ paymentContext, paymentProviderId }, requestContext) => {
|
|
2
|
-
const { modules, userId } = requestContext;
|
|
3
|
-
const normalizedContext = {
|
|
4
|
-
...paymentContext,
|
|
5
|
-
userId,
|
|
6
|
-
paymentProviderId,
|
|
7
|
-
};
|
|
8
|
-
const result = await modules.payment.paymentProviders.confirm(paymentProviderId, normalizedContext, requestContext);
|
|
9
|
-
if (!result)
|
|
10
|
-
return false;
|
|
11
|
-
return result;
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=confirmService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"confirmService.js","sourceRoot":"","sources":["../../src/service/confirmService.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAmB,KAAK,EACjD,EAAE,cAAc,EAAE,iBAAiB,EAAE,EACrC,cAAc,EACd,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC;IAE3C,MAAM,iBAAiB,GAAG;QACxB,GAAG,cAAc;QACjB,MAAM;QACN,iBAAiB;KAClB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAC3D,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,CACf,CAAC;IAEF,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAE1B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { chargeService } from './chargeService';
|
|
2
|
-
import { cancelService } from './cancelService';
|
|
3
|
-
import { confirmService } from './confirmService';
|
|
4
|
-
import { registerPaymentCredentialsService } from './registerPaymentCredentialsService';
|
|
5
|
-
export const paymentServices = {
|
|
6
|
-
charge: chargeService,
|
|
7
|
-
registerPaymentCredentials: registerPaymentCredentialsService,
|
|
8
|
-
cancel: cancelService,
|
|
9
|
-
confirm: confirmService,
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=paymentServices.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paymentServices.js","sourceRoot":"","sources":["../../src/service/paymentServices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AAExF,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,MAAM,EAAE,aAAa;IACrB,0BAA0B,EAAE,iCAAiC;IAC7D,MAAM,EAAE,aAAa;IACrB,OAAO,EAAE,cAAc;CACxB,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export const registerPaymentCredentialsService = async (paymentProviderId, paymentContext, requestContext) => {
|
|
2
|
-
const { modules, userId } = requestContext;
|
|
3
|
-
const registration = await modules.payment.paymentProviders.register(paymentProviderId, paymentContext, requestContext);
|
|
4
|
-
if (!registration)
|
|
5
|
-
return null;
|
|
6
|
-
const paymentCredentialsId = await modules.payment.paymentCredentials.upsertCredentials({
|
|
7
|
-
userId,
|
|
8
|
-
paymentProviderId,
|
|
9
|
-
...registration,
|
|
10
|
-
});
|
|
11
|
-
return modules.payment.paymentCredentials.findPaymentCredential({
|
|
12
|
-
paymentCredentialsId,
|
|
13
|
-
userId,
|
|
14
|
-
paymentProviderId,
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=registerPaymentCredentialsService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registerPaymentCredentialsService.js","sourceRoot":"","sources":["../../src/service/registerPaymentCredentialsService.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iCAAiC,GAAsC,KAAK,EACvF,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC;IAC3C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAClE,iBAAiB,EACjB,cAAc,EACd,cAAc,CACf,CAAC;IAEF,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAE/B,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;QACtF,MAAM;QACN,iBAAiB;QACjB,GAAG,YAAY;KAChB,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,qBAAqB,CAAC;QAC9D,oBAAoB;QACpB,MAAM;QACN,iBAAiB;KAClB,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { CancelService } from '@unchainedshop/types/payments';
|
|
2
|
-
|
|
3
|
-
export const cancelService: CancelService = async (
|
|
4
|
-
{ paymentContext, paymentProviderId },
|
|
5
|
-
requestContext,
|
|
6
|
-
) => {
|
|
7
|
-
const { modules, userId } = requestContext;
|
|
8
|
-
|
|
9
|
-
const normalizedContext = {
|
|
10
|
-
...paymentContext,
|
|
11
|
-
userId,
|
|
12
|
-
paymentProviderId,
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
const result = await modules.payment.paymentProviders.cancel(
|
|
16
|
-
paymentProviderId,
|
|
17
|
-
normalizedContext,
|
|
18
|
-
requestContext,
|
|
19
|
-
);
|
|
20
|
-
|
|
21
|
-
if (!result) return false;
|
|
22
|
-
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { ChargeService } from '@unchainedshop/types/payments';
|
|
2
|
-
|
|
3
|
-
export const chargeService: ChargeService = async (
|
|
4
|
-
{ paymentContext, paymentProviderId },
|
|
5
|
-
requestContext,
|
|
6
|
-
) => {
|
|
7
|
-
const { modules, userId } = requestContext;
|
|
8
|
-
|
|
9
|
-
const paymentCredentials =
|
|
10
|
-
paymentContext.transactionContext?.paymentCredentials ||
|
|
11
|
-
(await modules.payment.paymentCredentials.findPaymentCredential({
|
|
12
|
-
userId,
|
|
13
|
-
paymentProviderId,
|
|
14
|
-
isPreferred: true,
|
|
15
|
-
}));
|
|
16
|
-
|
|
17
|
-
const normalizedContext = {
|
|
18
|
-
...paymentContext,
|
|
19
|
-
userId,
|
|
20
|
-
paymentProviderId,
|
|
21
|
-
transactionContext: {
|
|
22
|
-
...paymentContext.transactionContext,
|
|
23
|
-
paymentCredentials,
|
|
24
|
-
},
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
const result = await modules.payment.paymentProviders.charge(
|
|
28
|
-
paymentProviderId,
|
|
29
|
-
normalizedContext,
|
|
30
|
-
requestContext,
|
|
31
|
-
);
|
|
32
|
-
|
|
33
|
-
if (!result) return false;
|
|
34
|
-
|
|
35
|
-
const { credentials, ...strippedResult } = result;
|
|
36
|
-
|
|
37
|
-
if (credentials) {
|
|
38
|
-
const { token, ...meta } = credentials;
|
|
39
|
-
await modules.payment.paymentCredentials.upsertCredentials({
|
|
40
|
-
userId,
|
|
41
|
-
paymentProviderId,
|
|
42
|
-
token,
|
|
43
|
-
...meta,
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
return strippedResult;
|
|
47
|
-
};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { ConfirmService } from '@unchainedshop/types/payments';
|
|
2
|
-
|
|
3
|
-
export const confirmService: ConfirmService = async (
|
|
4
|
-
{ paymentContext, paymentProviderId },
|
|
5
|
-
requestContext,
|
|
6
|
-
) => {
|
|
7
|
-
const { modules, userId } = requestContext;
|
|
8
|
-
|
|
9
|
-
const normalizedContext = {
|
|
10
|
-
...paymentContext,
|
|
11
|
-
userId,
|
|
12
|
-
paymentProviderId,
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
const result = await modules.payment.paymentProviders.confirm(
|
|
16
|
-
paymentProviderId,
|
|
17
|
-
normalizedContext,
|
|
18
|
-
requestContext,
|
|
19
|
-
);
|
|
20
|
-
|
|
21
|
-
if (!result) return false;
|
|
22
|
-
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { PaymentServices } from '@unchainedshop/types/payments';
|
|
2
|
-
import { chargeService } from './chargeService';
|
|
3
|
-
import { cancelService } from './cancelService';
|
|
4
|
-
import { confirmService } from './confirmService';
|
|
5
|
-
import { registerPaymentCredentialsService } from './registerPaymentCredentialsService';
|
|
6
|
-
|
|
7
|
-
export const paymentServices: PaymentServices = {
|
|
8
|
-
charge: chargeService,
|
|
9
|
-
registerPaymentCredentials: registerPaymentCredentialsService,
|
|
10
|
-
cancel: cancelService,
|
|
11
|
-
confirm: confirmService,
|
|
12
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { RegisterPaymentCredentialsService } from '@unchainedshop/types/payments';
|
|
2
|
-
|
|
3
|
-
export const registerPaymentCredentialsService: RegisterPaymentCredentialsService = async (
|
|
4
|
-
paymentProviderId,
|
|
5
|
-
paymentContext,
|
|
6
|
-
requestContext,
|
|
7
|
-
) => {
|
|
8
|
-
const { modules, userId } = requestContext;
|
|
9
|
-
const registration = await modules.payment.paymentProviders.register(
|
|
10
|
-
paymentProviderId,
|
|
11
|
-
paymentContext,
|
|
12
|
-
requestContext,
|
|
13
|
-
);
|
|
14
|
-
|
|
15
|
-
if (!registration) return null;
|
|
16
|
-
|
|
17
|
-
const paymentCredentialsId = await modules.payment.paymentCredentials.upsertCredentials({
|
|
18
|
-
userId,
|
|
19
|
-
paymentProviderId,
|
|
20
|
-
...registration,
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
return modules.payment.paymentCredentials.findPaymentCredential({
|
|
24
|
-
paymentCredentialsId,
|
|
25
|
-
userId,
|
|
26
|
-
paymentProviderId,
|
|
27
|
-
});
|
|
28
|
-
};
|