@vendure/payments-plugin 1.9.2 → 1.9.4
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/package/braintree/braintree.plugin.d.ts +1 -1
- package/package/braintree/braintree.plugin.js +5 -5
- package/package/braintree/braintree.resolver.js +21 -2
- package/package/braintree/braintree.resolver.js.map +1 -1
- package/package/mollie/mollie.helpers.d.ts +1 -1
- package/package/mollie/mollie.helpers.js +10 -1
- package/package/mollie/mollie.helpers.js.map +1 -1
- package/package/mollie/mollie.plugin.d.ts +3 -2
- package/package/mollie/mollie.plugin.js +2 -5
- package/package/mollie/mollie.plugin.js.map +1 -1
- package/package/mollie/mollie.service.d.ts +4 -2
- package/package/mollie/mollie.service.js +24 -5
- package/package/mollie/mollie.service.js.map +1 -1
- package/package/stripe/stripe.handler.js.map +1 -1
- package/package/stripe/stripe.plugin.d.ts +2 -2
- package/package/stripe/stripe.plugin.js +6 -6
- package/package.json +7 -5
|
@@ -108,7 +108,7 @@ const constants_1 = require("./constants");
|
|
|
108
108
|
* // Braintree account.
|
|
109
109
|
* paypal: {
|
|
110
110
|
* flow: 'checkout',
|
|
111
|
-
* amount: order.totalWithTax,
|
|
111
|
+
* amount: order.totalWithTax / 100,
|
|
112
112
|
* currency: 'GBP',
|
|
113
113
|
* },
|
|
114
114
|
* }),
|
|
@@ -276,10 +276,10 @@ BraintreePlugin = BraintreePlugin_1 = __decorate([
|
|
|
276
276
|
return config;
|
|
277
277
|
},
|
|
278
278
|
shopApiExtensions: {
|
|
279
|
-
schema: apollo_server_core_1.gql `
|
|
280
|
-
extend type Query {
|
|
281
|
-
generateBraintreeClientToken(orderId: ID, includeCustomerId: Boolean): String!
|
|
282
|
-
}
|
|
279
|
+
schema: apollo_server_core_1.gql `
|
|
280
|
+
extend type Query {
|
|
281
|
+
generateBraintreeClientToken(orderId: ID, includeCustomerId: Boolean): String!
|
|
282
|
+
}
|
|
283
283
|
`,
|
|
284
284
|
resolvers: [braintree_resolver_1.BraintreeResolver],
|
|
285
285
|
},
|
|
@@ -41,10 +41,29 @@ let BraintreeResolver = class BraintreeResolver {
|
|
|
41
41
|
const args = await this.getPaymentMethodArgs(ctx);
|
|
42
42
|
const gateway = braintree_common_1.getGateway(args, this.options);
|
|
43
43
|
try {
|
|
44
|
-
|
|
44
|
+
let result = await gateway.clientToken.generate({
|
|
45
45
|
customerId: includeCustomerId === false ? undefined : customerId,
|
|
46
46
|
});
|
|
47
|
-
|
|
47
|
+
if (result.success === true) {
|
|
48
|
+
return result.clientToken;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
if (result.message === 'Customer specified by customer_id does not exist') {
|
|
52
|
+
// For some reason the custom_id is invalid. This could occur e.g. if the ID was created on the Sandbox endpoint and now
|
|
53
|
+
// we switched to Production. In this case, we will remove it and allow a new one
|
|
54
|
+
// to be generated when the payment is created.
|
|
55
|
+
if (this.options.storeCustomersInBraintree) {
|
|
56
|
+
order.customer.customFields.braintreeCustomerId = undefined;
|
|
57
|
+
await this.connection.getRepository(ctx, core_1.Customer).save(order.customer);
|
|
58
|
+
}
|
|
59
|
+
result = await gateway.clientToken.generate({ customerId: undefined });
|
|
60
|
+
if (result.success === true) {
|
|
61
|
+
return result.clientToken;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
core_1.Logger.error(`Could not generate Braintree clientToken: ${result.message}`, constants_1.loggerCtx);
|
|
65
|
+
throw new core_1.InternalServerError(`Could not generate Braintree clientToken: ${result.message}`);
|
|
66
|
+
}
|
|
48
67
|
}
|
|
49
68
|
catch (e) {
|
|
50
69
|
core_1.Logger.error(`Could not generate Braintree clientToken. Check the configured credentials.`, constants_1.loggerCtx);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"braintree.resolver.js","sourceRoot":"","sources":["../../src/braintree/braintree.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwC;AACxC,6CAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"braintree.resolver.js","sourceRoot":"","sources":["../../src/braintree/braintree.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ export declare function toMollieAddress(address: OrderAddress, customer: Custome
|
|
|
11
11
|
/**
|
|
12
12
|
* Map all order and shipping lines to a single array of Mollie order lines
|
|
13
13
|
*/
|
|
14
|
-
export declare function toMollieOrderLines(order: Order): CreateParameters['lines'];
|
|
14
|
+
export declare function toMollieOrderLines(order: Order, alreadyPaid: number): CreateParameters['lines'];
|
|
15
15
|
/**
|
|
16
16
|
* Stringify and fixed decimals
|
|
17
17
|
*/
|
|
@@ -22,7 +22,7 @@ exports.toMollieAddress = toMollieAddress;
|
|
|
22
22
|
/**
|
|
23
23
|
* Map all order and shipping lines to a single array of Mollie order lines
|
|
24
24
|
*/
|
|
25
|
-
function toMollieOrderLines(order) {
|
|
25
|
+
function toMollieOrderLines(order, alreadyPaid) {
|
|
26
26
|
// Add order lines
|
|
27
27
|
const lines = order.lines.map(line => ({
|
|
28
28
|
name: line.productVariant.name,
|
|
@@ -53,6 +53,15 @@ function toMollieOrderLines(order) {
|
|
|
53
53
|
vatRate: String(surcharge.taxRate),
|
|
54
54
|
vatAmount: toAmount(surcharge.priceWithTax - surcharge.price, order.currencyCode),
|
|
55
55
|
})));
|
|
56
|
+
// Deduct amount already paid
|
|
57
|
+
lines.push({
|
|
58
|
+
name: 'Already paid',
|
|
59
|
+
quantity: 1,
|
|
60
|
+
unitPrice: toAmount(-alreadyPaid, order.currencyCode),
|
|
61
|
+
totalAmount: toAmount(-alreadyPaid, order.currencyCode),
|
|
62
|
+
vatRate: String(0),
|
|
63
|
+
vatAmount: toAmount(0, order.currencyCode),
|
|
64
|
+
});
|
|
56
65
|
return lines;
|
|
57
66
|
}
|
|
58
67
|
exports.toMollieOrderLines = toMollieOrderLines;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mollie.helpers.js","sourceRoot":"","sources":["../../src/mollie/mollie.helpers.ts"],"names":[],"mappings":";;;AAOA;;;GAGG;AACH,SAAgB,eAAe,CAAC,OAAqB,EAAE,QAAkB;IACrE,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE;QAClF,OAAO;YACH,eAAe,EAAE,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE;YACtE,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE;YAC1C,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,UAAU,EAAE,QAAQ,CAAC,QAAQ;YAC7B,KAAK,EAAE,QAAQ,CAAC,YAAY;SAC/B,CAAC;KACL;AACL,CAAC;AAZD,0CAYC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,KAAY;
|
|
1
|
+
{"version":3,"file":"mollie.helpers.js","sourceRoot":"","sources":["../../src/mollie/mollie.helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,14 +8,15 @@
|
|
|
8
8
|
export interface MolliePluginOptions {
|
|
9
9
|
/**
|
|
10
10
|
* @description
|
|
11
|
-
* The host of your
|
|
11
|
+
* The host of your Vendure server, e.g. `'https://my-vendure.io'`.
|
|
12
|
+
* This is used by Mollie to send webhook events to the Vendure server
|
|
12
13
|
*/
|
|
13
14
|
vendureHost: string;
|
|
14
15
|
}
|
|
15
16
|
/**
|
|
16
17
|
* @description
|
|
17
18
|
* Plugin to enable payments through the [Mollie platform](https://docs.mollie.com/).
|
|
18
|
-
* This plugin uses the
|
|
19
|
+
* This plugin uses the Order API from Mollie, not the Payments API.
|
|
19
20
|
*
|
|
20
21
|
* ## Requirements
|
|
21
22
|
*
|
|
@@ -18,7 +18,7 @@ const mollie_service_1 = require("./mollie.service");
|
|
|
18
18
|
/**
|
|
19
19
|
* @description
|
|
20
20
|
* Plugin to enable payments through the [Mollie platform](https://docs.mollie.com/).
|
|
21
|
-
* This plugin uses the
|
|
21
|
+
* This plugin uses the Order API from Mollie, not the Payments API.
|
|
22
22
|
*
|
|
23
23
|
* ## Requirements
|
|
24
24
|
*
|
|
@@ -130,10 +130,7 @@ MolliePlugin = MolliePlugin_1 = __decorate([
|
|
|
130
130
|
core_1.VendurePlugin({
|
|
131
131
|
imports: [core_1.PluginCommonModule],
|
|
132
132
|
controllers: [mollie_controller_1.MollieController],
|
|
133
|
-
providers: [
|
|
134
|
-
mollie_service_1.MollieService,
|
|
135
|
-
{ provide: constants_1.PLUGIN_INIT_OPTIONS, useFactory: () => MolliePlugin_1.options }
|
|
136
|
-
],
|
|
133
|
+
providers: [mollie_service_1.MollieService, { provide: constants_1.PLUGIN_INIT_OPTIONS, useFactory: () => MolliePlugin_1.options }],
|
|
137
134
|
configuration: (config) => {
|
|
138
135
|
config.paymentOptions.paymentMethodHandlers.push(mollie_handler_1.molliePaymentHandler);
|
|
139
136
|
return config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mollie.plugin.js","sourceRoot":"","sources":["../../src/mollie/mollie.plugin.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,wCAAwF;AAExF,2CAAkD;AAClD,6DAAkD;AAClD,2DAAuD;AACvD,qDAAwD;AACxD,uDAAmD;AACnD,qDAAiD;
|
|
1
|
+
{"version":3,"file":"mollie.plugin.js","sourceRoot":"","sources":["../../src/mollie/mollie.plugin.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,wCAAwF;AAExF,2CAAkD;AAClD,6DAAkD;AAClD,2DAAuD;AACvD,qDAAwD;AACxD,uDAAmD;AACnD,qDAAiD;AAkBjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmGG;AAcH,IAAa,YAAY,oBAAzB,MAAa,YAAY;IAGrB;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,OAA4B;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,cAAY,CAAC;IACxB,CAAC;CACJ,CAAA;AAZY,YAAY;IAbxB,oBAAa,CAAC;QACX,OAAO,EAAE,CAAC,yBAAkB,CAAC;QAC7B,WAAW,EAAE,CAAC,oCAAgB,CAAC;QAC/B,SAAS,EAAE,CAAC,8BAAa,EAAE,EAAE,OAAO,EAAE,+BAAmB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,cAAY,CAAC,OAAO,EAAE,CAAC;QACpG,aAAa,EAAE,CAAC,MAA4B,EAAE,EAAE;YAC5C,MAAM,CAAC,cAAc,CAAC,qBAAqB,CAAC,IAAI,CAAC,qCAAoB,CAAC,CAAC;YACvE,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,+BAAU;YAClB,SAAS,EAAE,CAAC,gCAAc,CAAC;SAC9B;KACJ,CAAC;GACW,YAAY,CAYxB;AAZY,oCAAY"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Order as MollieOrder } from '@mollie/api-client';
|
|
2
|
-
import { ActiveOrderService, ChannelService, EntityHydrator, Order, OrderService, PaymentMethodService, RequestContext } from '@vendure/core';
|
|
2
|
+
import { ActiveOrderService, ChannelService, EntityHydrator, Order, OrderService, PaymentMethodService, ProductVariant, ProductVariantService, RequestContext } from '@vendure/core';
|
|
3
3
|
import { MolliePaymentIntentInput, MolliePaymentIntentResult, MolliePaymentMethod } from './graphql/generated-shop-types';
|
|
4
4
|
import { MolliePluginOptions } from './mollie.plugin';
|
|
5
5
|
interface OrderStatusInput {
|
|
@@ -14,7 +14,8 @@ export declare class MollieService {
|
|
|
14
14
|
private orderService;
|
|
15
15
|
private channelService;
|
|
16
16
|
private entityHydrator;
|
|
17
|
-
|
|
17
|
+
private variantService;
|
|
18
|
+
constructor(paymentMethodService: PaymentMethodService, options: MolliePluginOptions, activeOrderService: ActiveOrderService, orderService: OrderService, channelService: ChannelService, entityHydrator: EntityHydrator, variantService: ProductVariantService);
|
|
18
19
|
/**
|
|
19
20
|
* Creates a redirectUrl to Mollie for the given paymentMethod and current activeOrder
|
|
20
21
|
*/
|
|
@@ -32,6 +33,7 @@ export declare class MollieService {
|
|
|
32
33
|
*/
|
|
33
34
|
settleExistingPayment(ctx: RequestContext, order: Order, mollieOrderId: string): Promise<void>;
|
|
34
35
|
getEnabledPaymentMethods(ctx: RequestContext, paymentMethodCode: string): Promise<MolliePaymentMethod[]>;
|
|
36
|
+
getVariantsWithInsufficientStock(ctx: RequestContext, order: Order): Promise<ProductVariant[]>;
|
|
35
37
|
private getPaymentMethod;
|
|
36
38
|
private createContext;
|
|
37
39
|
}
|
|
@@ -35,6 +35,7 @@ exports.MollieService = void 0;
|
|
|
35
35
|
const api_client_1 = __importStar(require("@mollie/api-client"));
|
|
36
36
|
const common_1 = require("@nestjs/common");
|
|
37
37
|
const core_1 = require("@vendure/core");
|
|
38
|
+
const order_utils_1 = require("@vendure/core/dist/service/helpers/utils/order-utils");
|
|
38
39
|
const constants_1 = require("./constants");
|
|
39
40
|
const generated_shop_types_1 = require("./graphql/generated-shop-types");
|
|
40
41
|
const mollie_helpers_1 = require("./mollie.helpers");
|
|
@@ -51,13 +52,14 @@ class InvalidInputError {
|
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
54
|
let MollieService = class MollieService {
|
|
54
|
-
constructor(paymentMethodService, options, activeOrderService, orderService, channelService, entityHydrator) {
|
|
55
|
+
constructor(paymentMethodService, options, activeOrderService, orderService, channelService, entityHydrator, variantService) {
|
|
55
56
|
this.paymentMethodService = paymentMethodService;
|
|
56
57
|
this.options = options;
|
|
57
58
|
this.activeOrderService = activeOrderService;
|
|
58
59
|
this.orderService = orderService;
|
|
59
60
|
this.channelService = channelService;
|
|
60
61
|
this.entityHydrator = entityHydrator;
|
|
62
|
+
this.variantService = variantService;
|
|
61
63
|
}
|
|
62
64
|
/**
|
|
63
65
|
* Creates a redirectUrl to Mollie for the given paymentMethod and current activeOrder
|
|
@@ -75,7 +77,7 @@ let MollieService = class MollieService {
|
|
|
75
77
|
if (!order) {
|
|
76
78
|
return new PaymentIntentError('No active order found for session');
|
|
77
79
|
}
|
|
78
|
-
await this.entityHydrator.hydrate(ctx, order, { relations: ['customer', 'surcharges', 'lines.productVariant', 'shippingLines.shippingMethod'] });
|
|
80
|
+
await this.entityHydrator.hydrate(ctx, order, { relations: ['customer', 'surcharges', 'lines.productVariant', 'shippingLines.shippingMethod', 'payments'] });
|
|
79
81
|
if (!((_a = order.lines) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
80
82
|
return new PaymentIntentError('Cannot create payment intent for empty order');
|
|
81
83
|
}
|
|
@@ -88,6 +90,10 @@ let MollieService = class MollieService {
|
|
|
88
90
|
if (!paymentMethod) {
|
|
89
91
|
return new PaymentIntentError(`No paymentMethod found with code ${paymentMethodCode}`);
|
|
90
92
|
}
|
|
93
|
+
const variantsWithInsufficientSaleableStock = await this.getVariantsWithInsufficientStock(ctx, order);
|
|
94
|
+
if (variantsWithInsufficientSaleableStock.length) {
|
|
95
|
+
return new PaymentIntentError(`The following variants are out of stock: ${variantsWithInsufficientSaleableStock.map(v => v.name).join(', ')}`);
|
|
96
|
+
}
|
|
91
97
|
const apiKey = (_c = paymentMethod.handler.args.find(arg => arg.name === 'apiKey')) === null || _c === void 0 ? void 0 : _c.value;
|
|
92
98
|
let redirectUrl = (_d = paymentMethod.handler.args.find(arg => arg.name === 'redirectUrl')) === null || _d === void 0 ? void 0 : _d.value;
|
|
93
99
|
if (!apiKey || !redirectUrl) {
|
|
@@ -103,14 +109,16 @@ let MollieService = class MollieService {
|
|
|
103
109
|
if (!billingAddress) {
|
|
104
110
|
return new InvalidInputError(`Order doesn't have a complete shipping address or billing address. At least city, streetline1 and country are needed to create a payment intent.`);
|
|
105
111
|
}
|
|
112
|
+
const alreadyPaid = order_utils_1.totalCoveredByPayments(order);
|
|
113
|
+
const amountToPay = order.totalWithTax - alreadyPaid;
|
|
106
114
|
const orderInput = {
|
|
107
115
|
orderNumber: order.code,
|
|
108
|
-
amount: mollie_helpers_1.toAmount(
|
|
116
|
+
amount: mollie_helpers_1.toAmount(amountToPay, order.currencyCode),
|
|
109
117
|
redirectUrl: `${redirectUrl}/${order.code}`,
|
|
110
118
|
webhookUrl: `${vendureHost}/payments/mollie/${ctx.channel.token}/${paymentMethod.id}`,
|
|
111
119
|
billingAddress,
|
|
112
120
|
locale: mollie_helpers_1.getLocale(billingAddress.country, ctx.languageCode),
|
|
113
|
-
lines: mollie_helpers_1.toMollieOrderLines(order),
|
|
121
|
+
lines: mollie_helpers_1.toMollieOrderLines(order, alreadyPaid),
|
|
114
122
|
};
|
|
115
123
|
if (molliePaymentMethodCode) {
|
|
116
124
|
orderInput.method = molliePaymentMethodCode;
|
|
@@ -225,6 +233,16 @@ let MollieService = class MollieService {
|
|
|
225
233
|
const methods = await client.methods.list();
|
|
226
234
|
return methods.map(m => (Object.assign(Object.assign({}, m), { code: m.id })));
|
|
227
235
|
}
|
|
236
|
+
async getVariantsWithInsufficientStock(ctx, order) {
|
|
237
|
+
const variantsWithInsufficientSaleableStock = [];
|
|
238
|
+
for (const line of order.lines) {
|
|
239
|
+
const availableStock = await this.variantService.getSaleableStockLevel(ctx, line.productVariant);
|
|
240
|
+
if (line.quantity > availableStock) {
|
|
241
|
+
variantsWithInsufficientSaleableStock.push(line.productVariant);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return variantsWithInsufficientSaleableStock;
|
|
245
|
+
}
|
|
228
246
|
async getPaymentMethod(ctx, paymentMethodCode) {
|
|
229
247
|
const paymentMethods = await this.paymentMethodService.findAll(ctx);
|
|
230
248
|
return paymentMethods.items.find(pm => pm.code === paymentMethodCode);
|
|
@@ -246,7 +264,8 @@ MollieService = __decorate([
|
|
|
246
264
|
__metadata("design:paramtypes", [core_1.PaymentMethodService, Object, core_1.ActiveOrderService,
|
|
247
265
|
core_1.OrderService,
|
|
248
266
|
core_1.ChannelService,
|
|
249
|
-
core_1.EntityHydrator
|
|
267
|
+
core_1.EntityHydrator,
|
|
268
|
+
core_1.ProductVariantService])
|
|
250
269
|
], MollieService);
|
|
251
270
|
exports.MollieService = MollieService;
|
|
252
271
|
//# sourceMappingURL=mollie.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mollie.service.js","sourceRoot":"","sources":["../../src/mollie/mollie.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAI4B;AAE5B,2CAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"mollie.service.js","sourceRoot":"","sources":["../../src/mollie/mollie.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripe.handler.js","sourceRoot":"","sources":["../../src/stripe/stripe.handler.ts"],"names":[],"mappings":";;;;;;AAAA,wCAOuB;AACvB,oDAA4B;AAE5B,
|
|
1
|
+
{"version":3,"file":"stripe.handler.js","sourceRoot":"","sources":["../../src/stripe/stripe.handler.ts"],"names":[],"mappings":";;;;;;AAAA,wCAOuB;AACvB,oDAA4B;AAE5B,iDAA+D;AAC/D,qDAAiD;AAEjD,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAM,CAAC,MAAM,CAAC;AAEtC,IAAI,aAA4B,CAAC;AAEjC;;GAEG;AACU,QAAA,0BAA0B,GAAG,IAAI,2BAAoB,CAAC;IAC/D,IAAI,EAAE,QAAQ;IAEd,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,mBAAY,CAAC,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAE1E,IAAI,EAAE,EAAE;IAER,IAAI,CAAC,QAAkB;QACnB,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,8BAAa,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ;QACjD,uFAAuF;QACvF,gCAAgC;QAChC,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE;YACzB,MAAM,KAAK,CAAC,6CAA6C,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;SAC5E;QACD,MAAM,kBAAkB,GAAG,4CAA6B,CAAC,KAAK,EAAE,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QACtG,OAAO;YACH,MAAM,EAAE,kBAAkB;YAC1B,KAAK,EAAE,SAAkB;YACzB,aAAa,EAAE,QAAQ,CAAC,eAAe;SAC1C,CAAC;IACN,CAAC;IAED,aAAa;QACT,OAAO;YACH,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI;QACvD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAE/E,IAAI,MAAM,YAAY,WAAW,EAAE;YAC/B,OAAO;gBACH,KAAK,EAAE,QAAiB;gBACxB,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,QAAQ,EAAE;oBACN,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;iBAC1B;aACJ,CAAC;SACL;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE;YAC/B,OAAO;gBACH,KAAK,EAAE,SAAkB;gBACzB,aAAa,EAAE,OAAO,CAAC,aAAa;aACvC,CAAC;SACL;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;YAC7B,OAAO;gBACH,KAAK,EAAE,SAAkB;gBACzB,aAAa,EAAE,OAAO,CAAC,aAAa;aACvC,CAAC;SACL;QAED,OAAO;YACH,KAAK,EAAE,QAAiB;YACxB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,QAAQ,EAAE;gBACN,OAAO,EAAE,MAAM,CAAC,cAAc;aACjC;SACJ,CAAC;IACN,CAAC;CACJ,CAAC,CAAC"}
|
|
@@ -8,8 +8,8 @@ import { StripePluginOptions } from './types';
|
|
|
8
8
|
*
|
|
9
9
|
* 1. You will need to create a Stripe account and get your secret key in the dashboard.
|
|
10
10
|
* 2. Create a webhook endpoint in the Stripe dashboard (Developers -> Webhooks, "Add an endpoint") which listens to the `payment_intent.succeeded`
|
|
11
|
-
* and `payment_intent.payment_failed` events. The URL should be `https://my-
|
|
12
|
-
* `my-
|
|
11
|
+
* and `payment_intent.payment_failed` events. The URL should be `https://my-server.com/payments/stripe`, where
|
|
12
|
+
* `my-server.com` is the host of your Vendure server. *Note:* for local development, you'll need to use
|
|
13
13
|
* the Stripe CLI to test your webhook locally. See the _local development_ section below.
|
|
14
14
|
* 3. Get the signing secret for the newly created webhook.
|
|
15
15
|
* 4. Install the Payments plugin and the Stripe Node library:
|
|
@@ -24,8 +24,8 @@ const stripe_service_1 = require("./stripe.service");
|
|
|
24
24
|
*
|
|
25
25
|
* 1. You will need to create a Stripe account and get your secret key in the dashboard.
|
|
26
26
|
* 2. Create a webhook endpoint in the Stripe dashboard (Developers -> Webhooks, "Add an endpoint") which listens to the `payment_intent.succeeded`
|
|
27
|
-
* and `payment_intent.payment_failed` events. The URL should be `https://my-
|
|
28
|
-
* `my-
|
|
27
|
+
* and `payment_intent.payment_failed` events. The URL should be `https://my-server.com/payments/stripe`, where
|
|
28
|
+
* `my-server.com` is the host of your Vendure server. *Note:* for local development, you'll need to use
|
|
29
29
|
* the Stripe CLI to test your webhook locally. See the _local development_ section below.
|
|
30
30
|
* 3. Get the signing secret for the newly created webhook.
|
|
31
31
|
* 4. Install the Payments plugin and the Stripe Node library:
|
|
@@ -205,10 +205,10 @@ StripePlugin = StripePlugin_1 = __decorate([
|
|
|
205
205
|
return config;
|
|
206
206
|
},
|
|
207
207
|
shopApiExtensions: {
|
|
208
|
-
schema: graphql_tag_1.gql `
|
|
209
|
-
extend type Mutation {
|
|
210
|
-
createStripePaymentIntent: String
|
|
211
|
-
}
|
|
208
|
+
schema: graphql_tag_1.gql `
|
|
209
|
+
extend type Mutation {
|
|
210
|
+
createStripePaymentIntent: String
|
|
211
|
+
}
|
|
212
212
|
`,
|
|
213
213
|
resolvers: [stripe_resolver_1.StripeResolver],
|
|
214
214
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vendure/payments-plugin",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.4",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "package/index.js",
|
|
6
6
|
"types": "package/index.d.ts",
|
|
@@ -29,14 +29,16 @@
|
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@mollie/api-client": "^3.6.0",
|
|
31
31
|
"@types/braintree": "^2.22.15",
|
|
32
|
-
"@
|
|
33
|
-
"@vendure/
|
|
34
|
-
"@vendure/
|
|
32
|
+
"@types/localtunnel": "2.0.1",
|
|
33
|
+
"@vendure/common": "^1.9.4",
|
|
34
|
+
"@vendure/core": "^1.9.4",
|
|
35
|
+
"@vendure/testing": "^1.9.4",
|
|
35
36
|
"braintree": "^3.0.0",
|
|
37
|
+
"localtunnel": "2.0.1",
|
|
36
38
|
"nock": "^13.1.4",
|
|
37
39
|
"rimraf": "^3.0.2",
|
|
38
40
|
"stripe": "^8.197.0",
|
|
39
41
|
"typescript": "4.3.5"
|
|
40
42
|
},
|
|
41
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "3d031edfff37581b44848ece021acbb7a472f43f"
|
|
42
44
|
}
|