vona-module-pay-mock 5.0.1 → 5.0.3

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.
@@ -34,13 +34,19 @@ declare module 'vona' {
34
34
  /** dto: begin */
35
35
  export * from '../dto/mockPaymentComplete.tsx';
36
36
  export * from '../dto/mockPaymentReceipt.tsx';
37
+ export * from '../dto/mockRefundComplete.tsx';
38
+ export * from '../dto/mockRefundReceipt.tsx';
37
39
  import type { IDtoOptionsMockPaymentComplete } from '../dto/mockPaymentComplete.tsx';
38
40
  import type { IDtoOptionsMockPaymentReceipt } from '../dto/mockPaymentReceipt.tsx';
41
+ import type { IDtoOptionsMockRefundComplete } from '../dto/mockRefundComplete.tsx';
42
+ import type { IDtoOptionsMockRefundReceipt } from '../dto/mockRefundReceipt.tsx';
39
43
  import 'vona-module-a-web';
40
44
  declare module 'vona-module-a-web' {
41
45
  interface IDtoRecord {
42
46
  'pay-mock:mockPaymentComplete': IDtoOptionsMockPaymentComplete;
43
47
  'pay-mock:mockPaymentReceipt': IDtoOptionsMockPaymentReceipt;
48
+ 'pay-mock:mockRefundComplete': IDtoOptionsMockRefundComplete;
49
+ 'pay-mock:mockRefundReceipt': IDtoOptionsMockRefundReceipt;
44
50
  }
45
51
  }
46
52
  declare module 'vona-module-pay-mock' {
@@ -49,6 +55,8 @@ declare module 'vona-module-pay-mock' {
49
55
  /** dto: begin */
50
56
  import type { DtoMockPaymentComplete } from '../dto/mockPaymentComplete.tsx';
51
57
  import type { DtoMockPaymentReceipt } from '../dto/mockPaymentReceipt.tsx';
58
+ import type { DtoMockRefundComplete } from '../dto/mockRefundComplete.tsx';
59
+ import type { DtoMockRefundReceipt } from '../dto/mockRefundReceipt.tsx';
52
60
  declare module 'vona-module-pay-mock' {
53
61
  interface IDtoOptionsMockPaymentComplete {
54
62
  fields?: TypeEntityOptionsFields<DtoMockPaymentComplete, IDtoOptionsMockPaymentComplete[TypeSymbolKeyFieldsMore]>;
@@ -56,6 +64,12 @@ declare module 'vona-module-pay-mock' {
56
64
  interface IDtoOptionsMockPaymentReceipt {
57
65
  fields?: TypeEntityOptionsFields<DtoMockPaymentReceipt, IDtoOptionsMockPaymentReceipt[TypeSymbolKeyFieldsMore]>;
58
66
  }
67
+ interface IDtoOptionsMockRefundComplete {
68
+ fields?: TypeEntityOptionsFields<DtoMockRefundComplete, IDtoOptionsMockRefundComplete[TypeSymbolKeyFieldsMore]>;
69
+ }
70
+ interface IDtoOptionsMockRefundReceipt {
71
+ fields?: TypeEntityOptionsFields<DtoMockRefundReceipt, IDtoOptionsMockRefundReceipt[TypeSymbolKeyFieldsMore]>;
72
+ }
59
73
  }
60
74
  /** dto: end */
61
75
  /** controller: begin */
@@ -87,6 +101,7 @@ declare module 'vona-module-pay-mock' {
87
101
  declare module 'vona-module-a-web' {
88
102
  interface IApiPathPostRecord {
89
103
  '/pay/mock/payment-session/:id/complete': undefined;
104
+ '/pay/mock/payment-session/refund-operation/:id/complete': undefined;
90
105
  }
91
106
  }
92
107
  /** controller: end */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"payProvider.mock.d.ts","sourceRoot":"","sources":["../../src/bean/payProvider.mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,QAAQ,EAAU,MAAM,MAAM,CAAC;AAexC,MAAM,WAAW,4BAA6B,SAAQ,wBAAwB;IAC5E,SAAS,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,WAAW,6BAA8B,SAAQ,yBAAyB;IAC9E,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAID,MAAM,WAAW,uBAAwB,SAAQ,4BAA4B,CAC3E,4BAA4B,EAC5B,6BAA6B,CAC9B;CAAG;AAEJ,qBAyBa,eACX,SAAQ,QACR,YAAW,mBAAmB,CAAC,6BAA6B,CAAC;IAEvD,YAAY,CAChB,KAAK,EAAE,wBAAwB,EAC/B,cAAc,EAAE,6BAA6B,GAC5C,OAAO,CAAC,2BAA2B,CAAC;IAQjC,YAAY,CAChB,KAAK,EAAE,wBAAwB,EAC/B,cAAc,EAAE,6BAA6B,GAC5C,OAAO,CAAC,2BAA2B,CAAC;IAOjC,YAAY,CAChB,KAAK,EAAE,uBAAuB,EAC9B,cAAc,EAAE,6BAA6B,GAC5C,OAAO,CAAC,0BAA0B,CAAC;IAOhC,aAAa,CACjB,KAAK,EAAE,wBAAwB,EAC/B,aAAa,EAAE,6BAA6B,GAC3C,OAAO,CAAC,2BAA2B,CAAC;CAgCxC"}
1
+ {"version":3,"file":"payProvider.mock.d.ts","sourceRoot":"","sources":["../../src/bean/payProvider.mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,QAAQ,EAAU,MAAM,MAAM,CAAC;AAyBxC,MAAM,WAAW,4BAA6B,SAAQ,wBAAwB;IAC5E,SAAS,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,WAAW,6BAA8B,SAAQ,yBAAyB;IAC9E,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAID,MAAM,WAAW,uBAAwB,SAAQ,4BAA4B,CAC3E,4BAA4B,EAC5B,6BAA6B,CAC9B;CAAG;AAEJ,qBAyBa,eACX,SAAQ,QACR,YAAW,mBAAmB,CAAC,6BAA6B,CAAC;IAEvD,YAAY,CAChB,KAAK,EAAE,wBAAwB,EAC/B,cAAc,EAAE,6BAA6B,GAC5C,OAAO,CAAC,2BAA2B,CAAC;IAQjC,YAAY,CAChB,KAAK,EAAE,wBAAwB,EAC/B,cAAc,EAAE,6BAA6B,GAC5C,OAAO,CAAC,2BAA2B,CAAC;IAOjC,YAAY,CAChB,KAAK,EAAE,uBAAuB,EAC9B,cAAc,EAAE,6BAA6B,GAC5C,OAAO,CAAC,0BAA0B,CAAC;IAOhC,aAAa,CACjB,KAAK,EAAE,wBAAwB,EAC/B,aAAa,EAAE,6BAA6B,GAC3C,OAAO,CAAC,2BAA2B,CAAC;CAmDxC"}
@@ -3,9 +3,12 @@ import type { IDecoratorControllerOptions } from 'vona-module-a-web';
3
3
  import { BeanBase } from 'vona';
4
4
  import { DtoMockPaymentComplete } from '../dto/mockPaymentComplete.tsx';
5
5
  import { DtoMockPaymentReceipt } from '../dto/mockPaymentReceipt.tsx';
6
+ import { DtoMockRefundComplete } from '../dto/mockRefundComplete.tsx';
7
+ import { DtoMockRefundReceipt } from '../dto/mockRefundReceipt.tsx';
6
8
  export interface IControllerOptionsMockPayment extends IDecoratorControllerOptions {
7
9
  }
8
10
  export declare class ControllerMockPayment extends BeanBase {
9
11
  complete(id: TableIdentity, command: DtoMockPaymentComplete): Promise<DtoMockPaymentReceipt>;
12
+ completeRefund(id: TableIdentity, command: DtoMockRefundComplete): Promise<DtoMockRefundReceipt>;
10
13
  }
11
14
  //# sourceMappingURL=mockPayment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mockPayment.d.ts","sourceRoot":"","sources":["../../src/controller/mockPayment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAIhC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,MAAM,WAAW,6BAA8B,SAAQ,2BAA2B;CAAG;AAErF,qBAGa,qBAAsB,SAAQ,QAAQ;IAG3C,QAAQ,CACwB,EAAE,EAAE,aAAa,EACzC,OAAO,EAAE,sBAAsB,GAC1C,OAAO,CAAC,qBAAqB,CAAC;CAGlC"}
1
+ {"version":3,"file":"mockPayment.d.ts","sourceRoot":"","sources":["../../src/controller/mockPayment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAIhC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,WAAW,6BAA8B,SAAQ,2BAA2B;CAAG;AAErF,qBAGa,qBAAsB,SAAQ,QAAQ;IAG3C,QAAQ,CACwB,EAAE,EAAE,aAAa,EACzC,OAAO,EAAE,sBAAsB,GAC1C,OAAO,CAAC,qBAAqB,CAAC;IAM3B,cAAc,CACkB,EAAE,EAAE,aAAa,EACzC,OAAO,EAAE,qBAAqB,GACzC,OAAO,CAAC,oBAAoB,CAAC;CAGjC"}
@@ -0,0 +1,7 @@
1
+ import type { IDecoratorDtoOptions } from 'vona-module-a-web';
2
+ export interface IDtoOptionsMockRefundComplete extends IDecoratorDtoOptions {
3
+ }
4
+ export declare class DtoMockRefundComplete {
5
+ outcome: 'succeeded' | 'failed' | 'cancelled';
6
+ }
7
+ //# sourceMappingURL=mockRefundComplete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockRefundComplete.d.ts","sourceRoot":"","sources":["../../src/dto/mockRefundComplete.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAM9D,MAAM,WAAW,6BAA8B,SAAQ,oBAAoB;CAAG;AAE9E,qBACa,qBAAqB;IAEhC,OAAO,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;CAC/C"}
@@ -0,0 +1,9 @@
1
+ import type { TableIdentity } from 'table-identity';
2
+ import type { IDecoratorDtoOptions } from 'vona-module-a-web';
3
+ export interface IDtoOptionsMockRefundReceipt extends IDecoratorDtoOptions {
4
+ }
5
+ export declare class DtoMockRefundReceipt {
6
+ refundOperationId: TableIdentity;
7
+ accepted: true;
8
+ }
9
+ //# sourceMappingURL=mockRefundReceipt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockRefundReceipt.d.ts","sourceRoot":"","sources":["../../src/dto/mockRefundReceipt.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAK9D,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;CAAG;AAE7E,qBACa,oBAAoB;IAE/B,iBAAiB,EAAE,aAAa,CAAC;IAGjC,QAAQ,EAAE,IAAI,CAAC;CAChB"}
package/dist/index.js CHANGED
@@ -65,6 +65,54 @@ let ServicePayMock = class ServicePayMock extends BeanBase {
65
65
  accepted: true
66
66
  };
67
67
  }
68
+ async completeRefundOperation(refundOperationId, outcome) {
69
+ this._assertSimulatorEnabled();
70
+ const refund = await this.$scope.pay.model.refundOperation.getById(refundOperationId);
71
+ if (!refund) this.app.throw(404, 'mock refund operation not found');
72
+ const session = await this.$scope.pay.model.paymentSession.getById(refund.paymentSessionId);
73
+ if (!session) this.app.throw(404, 'mock refund operation not found');
74
+ if (!(await this.bean.passport.isSystemAdmin())) {
75
+ this.app.throw(403, 'mock refund completion requires system administrator authority');
76
+ }
77
+ if (session.providerName !== 'pay-mock:mock' || session.clientName !== 'default' || session.environment !== 'sandbox' || refund.state !== 'pending') {
78
+ this.app.throw(409, 'mock refund operation is not actionable');
79
+ }
80
+ const {
81
+ clientOptions
82
+ } = this.bean.payProvider.resolveByName(session.providerName, session.clientName);
83
+ const secret = clientOptions.secretWebhook;
84
+ if (typeof secret !== 'string' || !secret) {
85
+ this.app.throw(500, 'mock webhook secret is not configured');
86
+ }
87
+ const rawBody = JSON.stringify({
88
+ eventId: `mock-refund-${randomUUID()}`,
89
+ eventType: `refund.${outcome}`,
90
+ refundOperationId: String(refund.id),
91
+ state: outcome,
92
+ amountMinor: refund.amountMinor,
93
+ currency: refund.currency,
94
+ providerRefundId: refund.providerRefundId ?? `mock-refund-${refund.id}`
95
+ });
96
+ const signature = createHmac('sha256', secret).update(rawBody).digest('hex');
97
+ const instanceName = this.ctx.instanceName;
98
+ const instanceHeaderField = this.app.config.instance.headerField;
99
+ const response = await fetch(this.app.util.getAbsoluteUrlByApiPath(`/pay/webhook/${session.providerName}/${session.clientName}`), {
100
+ method: 'POST',
101
+ headers: {
102
+ 'content-type': 'application/json',
103
+ 'x-pay-mock-signature': signature,
104
+ ...(instanceName && instanceHeaderField ? {
105
+ [instanceHeaderField]: instanceName
106
+ } : {})
107
+ },
108
+ body: rawBody
109
+ });
110
+ if (!response.ok) this.app.throw(502, 'mock refund webhook was rejected');
111
+ return {
112
+ refundOperationId: refund.id,
113
+ accepted: true
114
+ };
115
+ }
68
116
  _assertSimulatorEnabled() {
69
117
  if (this.app.meta.env.META_MODE === 'prod') {
70
118
  this.app.throw(404, 'mock payment simulator is unavailable');
@@ -97,12 +145,38 @@ DtoMockPaymentReceipt = __decorate([Dto(), BeanInfo({
97
145
  module: "pay-mock"
98
146
  })], DtoMockPaymentReceipt);
99
147
 
148
+ let DtoMockRefundComplete = class DtoMockRefundComplete {
149
+ constructor() {
150
+ this.outcome = void 0;
151
+ }
152
+ };
153
+ __decorate([Api.field(z.enum(['succeeded', 'failed', 'cancelled'])), __metadata("design:type", String)], DtoMockRefundComplete.prototype, "outcome", void 0);
154
+ DtoMockRefundComplete = __decorate([Dto(), BeanInfo({
155
+ module: "pay-mock"
156
+ })], DtoMockRefundComplete);
157
+
158
+ let DtoMockRefundReceipt = class DtoMockRefundReceipt {
159
+ constructor() {
160
+ this.refundOperationId = void 0;
161
+ this.accepted = void 0;
162
+ }
163
+ };
164
+ __decorate([Api.field(v.tableIdentity()), __metadata("design:type", Object)], DtoMockRefundReceipt.prototype, "refundOperationId", void 0);
165
+ __decorate([Api.field(v.required()), __metadata("design:type", Boolean)], DtoMockRefundReceipt.prototype, "accepted", void 0);
166
+ DtoMockRefundReceipt = __decorate([Dto(), BeanInfo({
167
+ module: "pay-mock"
168
+ })], DtoMockRefundReceipt);
169
+
100
170
  let ControllerMockPayment = class ControllerMockPayment extends BeanBase {
101
171
  async complete(id, command) {
102
172
  return await this.scope.service.payMock.completePaymentSession(id, command.outcome);
103
173
  }
174
+ async completeRefund(id, command) {
175
+ return await this.scope.service.payMock.completeRefundOperation(id, command.outcome);
176
+ }
104
177
  };
105
178
  __decorate([Web.post(':id/complete'), Api.body(DtoMockPaymentReceipt), __param(0, Arg.param('id', v.tableIdentity())), __param(1, Arg.body()), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, DtoMockPaymentComplete]), __metadata("design:returntype", Promise)], ControllerMockPayment.prototype, "complete", null);
179
+ __decorate([Web.post('refund-operation/:id/complete'), Api.body(DtoMockRefundReceipt), __param(0, Arg.param('id', v.tableIdentity())), __param(1, Arg.body()), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, DtoMockRefundComplete]), __metadata("design:returntype", Promise)], ControllerMockPayment.prototype, "completeRefund", null);
106
180
  ControllerMockPayment = __decorate([Controller('mock/payment-session', {
107
181
  meta: {
108
182
  mode: ['dev', 'test']
@@ -111,7 +185,7 @@ ControllerMockPayment = __decorate([Controller('mock/payment-session', {
111
185
  module: "pay-mock"
112
186
  })], ControllerMockPayment);
113
187
 
114
- const WebhookBodySchema = z.object({
188
+ const PaymentWebhookBodySchema = z.object({
115
189
  eventId: z.string().min(1).max(255),
116
190
  eventType: z.enum(['payment.succeeded', 'payment.failed', 'payment.cancelled']),
117
191
  paymentSessionId: z.string().min(1),
@@ -121,6 +195,15 @@ const WebhookBodySchema = z.object({
121
195
  providerPaymentId: z.string().min(1).max(255).optional(),
122
196
  providerCaptureId: z.string().min(1).max(255).optional()
123
197
  });
198
+ const RefundWebhookBodySchema = z.object({
199
+ eventId: z.string().min(1).max(255),
200
+ eventType: z.enum(['refund.pending', 'refund.succeeded', 'refund.failed', 'refund.cancelled']),
201
+ refundOperationId: z.string().min(1),
202
+ state: z.enum(['pending', 'succeeded', 'failed', 'cancelled']),
203
+ amountMinor: z.number().int().positive(),
204
+ currency: z.string().length(3),
205
+ providerRefundId: z.string().min(1).max(255).optional()
206
+ });
124
207
  const app = useApp();
125
208
  let PayProviderMock = class PayProviderMock extends BeanBase {
126
209
  async startPayment(input, _clientOptions) {
@@ -153,22 +236,40 @@ let PayProviderMock = class PayProviderMock extends BeanBase {
153
236
  if (!expected || !actual || !safeEqual(actual, expected)) {
154
237
  this.app.throw(401, 'mock webhook signature is invalid');
155
238
  }
156
- const body = WebhookBodySchema.safeParse(input.body);
157
- if (!body.success) this.app.throw(400, 'mock webhook is invalid');
158
- const eventType = `payment.${body.data.state}`;
159
- if (body.data.eventType !== eventType) this.app.throw(400, 'mock webhook event type is invalid');
239
+ const payment = PaymentWebhookBodySchema.safeParse(input.body);
240
+ if (payment.success) {
241
+ const eventType = `payment.${payment.data.state}`;
242
+ if (payment.data.eventType !== eventType) this.app.throw(400, 'mock webhook event type is invalid');
243
+ return {
244
+ eventId: payment.data.eventId,
245
+ eventType,
246
+ paymentSessionId: payment.data.paymentSessionId,
247
+ payment: {
248
+ state: payment.data.state,
249
+ providerPaymentId: payment.data.providerPaymentId,
250
+ providerCaptureId: payment.data.providerCaptureId
251
+ },
252
+ summary: {
253
+ amountMinor: payment.data.amountMinor,
254
+ currency: payment.data.currency
255
+ }
256
+ };
257
+ }
258
+ const refund = RefundWebhookBodySchema.safeParse(input.body);
259
+ if (!refund.success) this.app.throw(400, 'mock webhook is invalid');
260
+ const eventType = `refund.${refund.data.state}`;
261
+ if (refund.data.eventType !== eventType) this.app.throw(400, 'mock webhook event type is invalid');
160
262
  return {
161
- eventId: body.data.eventId,
263
+ eventId: refund.data.eventId,
162
264
  eventType,
163
- paymentSessionId: body.data.paymentSessionId,
164
- payment: {
165
- state: body.data.state,
166
- providerPaymentId: body.data.providerPaymentId,
167
- providerCaptureId: body.data.providerCaptureId
265
+ refundOperationId: refund.data.refundOperationId,
266
+ refund: {
267
+ state: refund.data.state,
268
+ providerRefundId: refund.data.providerRefundId
168
269
  },
169
270
  summary: {
170
- amountMinor: body.data.amountMinor,
171
- currency: body.data.currency
271
+ amountMinor: refund.data.amountMinor,
272
+ currency: refund.data.currency
172
273
  }
173
274
  };
174
275
  }
@@ -212,5 +313,5 @@ ScopeModulePayMock = __decorate([Scope(), BeanInfo({
212
313
  })], ScopeModulePayMock);
213
314
  /** scope: end */
214
315
 
215
- export { ControllerMockPayment, DtoMockPaymentComplete, DtoMockPaymentReceipt, PayProviderMock, ScopeModulePayMock, ServicePayMock };
316
+ export { ControllerMockPayment, DtoMockPaymentComplete, DtoMockPaymentReceipt, DtoMockRefundComplete, DtoMockRefundReceipt, PayProviderMock, ScopeModulePayMock, ServicePayMock };
216
317
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/service/payMock.ts","../src/dto/mockPaymentComplete.tsx","../src/dto/mockPaymentReceipt.tsx","../src/controller/mockPayment.ts","../src/bean/payProvider.mock.ts","../src/.metadata/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["ServicePayMock","BeanBase","completePaymentSession","paymentSessionId","outcome","_assertSimulatorEnabled","session","$scope","pay","model","paymentSession","getById","String","userId","bean","passport","currentUser","id","app","throw","providerName","clientName","environment","state","expiresAt","Date","clientOptions","payProvider","resolveByName","secret","secretWebhook","rawBody","JSON","stringify","eventId","randomUUID","eventType","amountMinor","currency","providerPaymentId","providerCaptureId","signature","createHmac","update","digest","instanceName","ctx","instanceHeaderField","config","instance","headerField","response","fetch","util","getAbsoluteUrlByApiPath","method","headers","body","ok","accepted","meta","env","META_MODE","__decorate","Service","__z_BeanInfo","module","DtoMockPaymentComplete","constructor","Api","field","z","enum","prototype","Dto","DtoMockPaymentReceipt","v","tableIdentity","required","ControllerMockPayment","complete","command","scope","service","payMock","Web","post","__param","Arg","param","Controller","mode","WebhookBodySchema","object","string","min","max","number","int","nonnegative","length","optional","useApp","PayProviderMock","startPayment","input","_clientOptions","nextAction","kind","queryPayment","createRefund","providerRefundId","refundOperationId","verifyWebhook","actual","Array","isArray","expected","undefined","safeEqual","safeParse","success","data","payment","summary","PayProvider","base","capabilities","redirectCheckout","embeddedCheckout","automaticCapture","manualCapture","refunds","partialRefunds","webhooks","clients","default","secretCredential","PAY_MOCK_DEFAULT_CREDENTIAL","PAY_MOCK_DEFAULT_WEBHOOK","secondary","PAY_MOCK_SECONDARY_CREDENTIAL","PAY_MOCK_SECONDARY_WEBHOOK","actualBuffer","Buffer","from","expectedBuffer","timingSafeEqual","ScopeModulePayMock","BeanScopeBase","Scope"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/service/payMock.ts","../src/dto/mockPaymentComplete.tsx","../src/dto/mockPaymentReceipt.tsx","../src/dto/mockRefundComplete.tsx","../src/dto/mockRefundReceipt.tsx","../src/controller/mockPayment.ts","../src/bean/payProvider.mock.ts","../src/.metadata/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["ServicePayMock","BeanBase","completePaymentSession","paymentSessionId","outcome","_assertSimulatorEnabled","session","$scope","pay","model","paymentSession","getById","String","userId","bean","passport","currentUser","id","app","throw","providerName","clientName","environment","state","expiresAt","Date","clientOptions","payProvider","resolveByName","secret","secretWebhook","rawBody","JSON","stringify","eventId","randomUUID","eventType","amountMinor","currency","providerPaymentId","providerCaptureId","signature","createHmac","update","digest","instanceName","ctx","instanceHeaderField","config","instance","headerField","response","fetch","util","getAbsoluteUrlByApiPath","method","headers","body","ok","accepted","completeRefundOperation","refundOperationId","refund","refundOperation","isSystemAdmin","providerRefundId","meta","env","META_MODE","__decorate","Service","__z_BeanInfo","module","DtoMockPaymentComplete","constructor","Api","field","z","enum","prototype","Dto","DtoMockPaymentReceipt","v","tableIdentity","required","DtoMockRefundComplete","DtoMockRefundReceipt","ControllerMockPayment","complete","command","scope","service","payMock","completeRefund","Web","post","__param","Arg","param","Controller","mode","PaymentWebhookBodySchema","object","string","min","max","number","int","nonnegative","length","optional","RefundWebhookBodySchema","positive","useApp","PayProviderMock","startPayment","input","_clientOptions","nextAction","kind","queryPayment","createRefund","verifyWebhook","actual","Array","isArray","expected","undefined","safeEqual","payment","safeParse","success","data","summary","PayProvider","base","capabilities","redirectCheckout","embeddedCheckout","automaticCapture","manualCapture","refunds","partialRefunds","webhooks","clients","default","secretCredential","PAY_MOCK_DEFAULT_CREDENTIAL","PAY_MOCK_DEFAULT_WEBHOOK","secondary","PAY_MOCK_SECONDARY_CREDENTIAL","PAY_MOCK_SECONDARY_WEBHOOK","actualBuffer","Buffer","from","expectedBuffer","timingSafeEqual","ScopeModulePayMock","BeanScopeBase","Scope"],"mappings":"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"}
@@ -1,11 +1,16 @@
1
1
  import type { TableIdentity } from 'table-identity';
2
2
  import { BeanBase } from 'vona';
3
3
  export type TypeMockPaymentOutcome = 'succeeded' | 'failed' | 'cancelled';
4
+ export type TypeMockRefundOutcome = 'succeeded' | 'failed' | 'cancelled';
4
5
  export declare class ServicePayMock extends BeanBase {
5
6
  completePaymentSession(paymentSessionId: TableIdentity, outcome: TypeMockPaymentOutcome): Promise<{
6
7
  paymentSessionId: TableIdentity;
7
8
  accepted: true;
8
9
  }>;
10
+ completeRefundOperation(refundOperationId: TableIdentity, outcome: TypeMockRefundOutcome): Promise<{
11
+ refundOperationId: TableIdentity;
12
+ accepted: true;
13
+ }>;
9
14
  private _assertSimulatorEnabled;
10
15
  }
11
16
  //# sourceMappingURL=payMock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"payMock.d.ts","sourceRoot":"","sources":["../../src/service/payMock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE1E,qBACa,cAAe,SAAQ,QAAQ;IACpC,sBAAsB,CAAC,gBAAgB,EAAE,aAAa,EAAE,OAAO,EAAE,sBAAsB;;;;IA8D7F,OAAO,CAAC,uBAAuB;CAKhC"}
1
+ {"version":3,"file":"payMock.d.ts","sourceRoot":"","sources":["../../src/service/payMock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEzE,qBACa,cAAe,SAAQ,QAAQ;IACpC,sBAAsB,CAAC,gBAAgB,EAAE,aAAa,EAAE,OAAO,EAAE,sBAAsB;;;;IA8DvF,uBAAuB,CAAC,iBAAiB,EAAE,aAAa,EAAE,OAAO,EAAE,qBAAqB;;;;IAuD9F,OAAO,CAAC,uBAAuB;CAKhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-module-pay-mock",
3
- "version": "5.0.1",
3
+ "version": "5.0.3",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "Vona Module"
@@ -30,7 +30,7 @@
30
30
  "postpack": "clean-package restore"
31
31
  },
32
32
  "dependencies": {
33
- "vona-module-a-pay": "5.0.1"
33
+ "vona-module-a-pay": "5.0.3"
34
34
  },
35
35
  "title": "pay-mock",
36
36
  "vonaModule": {
@@ -39,5 +39,5 @@
39
39
  "a-vona": "5.0.0"
40
40
  }
41
41
  },
42
- "gitHead": "5afd89dc6f19a6b284b48002636d4b7dd20b662a"
42
+ "gitHead": "e86b8ee51b837417b7b28b2c67862877d4092371"
43
43
  }
@@ -6,15 +6,15 @@ export * from '../service/payMock.ts';
6
6
 
7
7
  import 'vona-module-a-bean';
8
8
  declare module 'vona-module-a-bean' {
9
-
9
+
10
10
  export interface IServiceRecord {
11
11
  'pay-mock:payMock': never;
12
12
  }
13
13
 
14
-
14
+
15
15
  }
16
16
  declare module 'vona-module-pay-mock' {
17
-
17
+
18
18
  export interface ServicePayMock {
19
19
  /** @internal */
20
20
  get scope(): ScopeModulePayMock;
@@ -23,8 +23,8 @@ declare module 'vona-module-pay-mock' {
23
23
  export interface ServicePayMock {
24
24
  get $beanFullName(): 'pay-mock.service.payMock';
25
25
  get $onionName(): 'pay-mock:payMock';
26
-
27
- }
26
+
27
+ }
28
28
  }
29
29
  /** service: end */
30
30
  /** service: begin */
@@ -45,27 +45,35 @@ declare module 'vona' {
45
45
  /** dto: begin */
46
46
  export * from '../dto/mockPaymentComplete.tsx';
47
47
  export * from '../dto/mockPaymentReceipt.tsx';
48
+ export * from '../dto/mockRefundComplete.tsx';
49
+ export * from '../dto/mockRefundReceipt.tsx';
48
50
  import type { IDtoOptionsMockPaymentComplete } from '../dto/mockPaymentComplete.tsx';
49
51
  import type { IDtoOptionsMockPaymentReceipt } from '../dto/mockPaymentReceipt.tsx';
52
+ import type { IDtoOptionsMockRefundComplete } from '../dto/mockRefundComplete.tsx';
53
+ import type { IDtoOptionsMockRefundReceipt } from '../dto/mockRefundReceipt.tsx';
50
54
  import 'vona-module-a-web';
51
55
  declare module 'vona-module-a-web' {
52
-
56
+
53
57
  export interface IDtoRecord {
54
58
  'pay-mock:mockPaymentComplete': IDtoOptionsMockPaymentComplete;
55
59
  'pay-mock:mockPaymentReceipt': IDtoOptionsMockPaymentReceipt;
60
+ 'pay-mock:mockRefundComplete': IDtoOptionsMockRefundComplete;
61
+ 'pay-mock:mockRefundReceipt': IDtoOptionsMockRefundReceipt;
56
62
  }
57
63
 
58
-
64
+
59
65
  }
60
66
  declare module 'vona-module-pay-mock' {
61
-
67
+
62
68
  }
63
69
  /** dto: end */
64
70
  /** dto: begin */
65
71
  import type { DtoMockPaymentComplete } from '../dto/mockPaymentComplete.tsx';
66
72
  import type { DtoMockPaymentReceipt } from '../dto/mockPaymentReceipt.tsx';
73
+ import type { DtoMockRefundComplete } from '../dto/mockRefundComplete.tsx';
74
+ import type { DtoMockRefundReceipt } from '../dto/mockRefundReceipt.tsx';
67
75
  declare module 'vona-module-pay-mock' {
68
-
76
+
69
77
  export interface IDtoOptionsMockPaymentComplete {
70
78
  fields?: TypeEntityOptionsFields<DtoMockPaymentComplete, IDtoOptionsMockPaymentComplete[TypeSymbolKeyFieldsMore]>;
71
79
  }
@@ -73,6 +81,14 @@ declare module 'vona-module-pay-mock' {
73
81
  export interface IDtoOptionsMockPaymentReceipt {
74
82
  fields?: TypeEntityOptionsFields<DtoMockPaymentReceipt, IDtoOptionsMockPaymentReceipt[TypeSymbolKeyFieldsMore]>;
75
83
  }
84
+
85
+ export interface IDtoOptionsMockRefundComplete {
86
+ fields?: TypeEntityOptionsFields<DtoMockRefundComplete, IDtoOptionsMockRefundComplete[TypeSymbolKeyFieldsMore]>;
87
+ }
88
+
89
+ export interface IDtoOptionsMockRefundReceipt {
90
+ fields?: TypeEntityOptionsFields<DtoMockRefundReceipt, IDtoOptionsMockRefundReceipt[TypeSymbolKeyFieldsMore]>;
91
+ }
76
92
  }
77
93
  /** dto: end */
78
94
  /** controller: begin */
@@ -80,15 +96,15 @@ export * from '../controller/mockPayment.ts';
80
96
  import type { IControllerOptionsMockPayment } from '../controller/mockPayment.ts';
81
97
  import 'vona-module-a-web';
82
98
  declare module 'vona-module-a-web' {
83
-
99
+
84
100
  export interface IControllerRecord {
85
101
  'pay-mock:mockPayment': IControllerOptionsMockPayment;
86
102
  }
87
103
 
88
-
104
+
89
105
  }
90
106
  declare module 'vona-module-pay-mock' {
91
-
107
+
92
108
  export interface ControllerMockPayment {
93
109
  /** @internal */
94
110
  get scope(): ScopeModulePayMock;
@@ -98,14 +114,14 @@ declare module 'vona-module-pay-mock' {
98
114
  get $beanFullName(): 'pay-mock.controller.mockPayment';
99
115
  get $onionName(): 'pay-mock:mockPayment';
100
116
  get $onionOptions(): IControllerOptionsMockPayment;
101
- }
117
+ }
102
118
  }
103
119
  /** controller: end */
104
120
  /** controller: begin */
105
121
  // @ts-ignore ignore
106
122
  import type { ControllerMockPayment } from '../controller/mockPayment.ts';
107
123
  declare module 'vona-module-pay-mock' {
108
-
124
+
109
125
  export interface IControllerOptionsMockPayment {
110
126
  actions?: TypeControllerOptionsActions<ControllerMockPayment>;
111
127
  }
@@ -113,6 +129,7 @@ declare module 'vona-module-pay-mock' {
113
129
  declare module 'vona-module-a-web' {
114
130
  export interface IApiPathPostRecord{
115
131
  '/pay/mock/payment-session/:id/complete': undefined;
132
+ '/pay/mock/payment-session/refund-operation/:id/complete': undefined;
116
133
  }
117
134
 
118
135
  }
@@ -123,15 +140,15 @@ export * from '../bean/payProvider.mock.ts';
123
140
  import type { IPayProviderOptionsMock } from '../bean/payProvider.mock.ts';
124
141
  import 'vona-module-a-pay';
125
142
  declare module 'vona-module-a-pay' {
126
-
143
+
127
144
  export interface IPayProviderRecord {
128
145
  'pay-mock:mock': IPayProviderOptionsMock;
129
146
  }
130
147
 
131
-
148
+
132
149
  }
133
150
  declare module 'vona-module-pay-mock' {
134
-
151
+
135
152
  export interface PayProviderMock {
136
153
  /** @internal */
137
154
  get scope(): ScopeModulePayMock;
@@ -141,7 +158,7 @@ declare module 'vona-module-pay-mock' {
141
158
  get $beanFullName(): 'pay-mock.payProvider.mock';
142
159
  get $onionName(): 'pay-mock:mock';
143
160
  get $onionOptions(): IPayProviderOptionsMock;
144
- }
161
+ }
145
162
  }
146
163
  /** payProvider: end */
147
164
  /** payProvider: begin */
@@ -172,11 +189,11 @@ declare module 'vona' {
172
189
  export interface IBeanScopeContainer {
173
190
  payMock: ScopeModulePayMock;
174
191
  }
192
+
193
+
175
194
 
195
+
176
196
 
177
-
178
-
179
-
180
-
197
+
181
198
  }
182
199
  /** scope: end */
@@ -16,7 +16,7 @@ import { BeanBase, useApp } from 'vona';
16
16
  import { PayProvider } from 'vona-module-a-pay';
17
17
  import { z } from 'zod';
18
18
 
19
- const WebhookBodySchema = z.object({
19
+ const PaymentWebhookBodySchema = z.object({
20
20
  eventId: z.string().min(1).max(255),
21
21
  eventType: z.enum(['payment.succeeded', 'payment.failed', 'payment.cancelled']),
22
22
  paymentSessionId: z.string().min(1),
@@ -27,6 +27,16 @@ const WebhookBodySchema = z.object({
27
27
  providerCaptureId: z.string().min(1).max(255).optional(),
28
28
  });
29
29
 
30
+ const RefundWebhookBodySchema = z.object({
31
+ eventId: z.string().min(1).max(255),
32
+ eventType: z.enum(['refund.pending', 'refund.succeeded', 'refund.failed', 'refund.cancelled']),
33
+ refundOperationId: z.string().min(1),
34
+ state: z.enum(['pending', 'succeeded', 'failed', 'cancelled']),
35
+ amountMinor: z.number().int().positive(),
36
+ currency: z.string().length(3),
37
+ providerRefundId: z.string().min(1).max(255).optional(),
38
+ });
39
+
30
40
  export interface IPayProviderMockClientRecord extends IPayProviderClientRecord {
31
41
  secondary: never;
32
42
  }
@@ -118,23 +128,42 @@ export class PayProviderMock
118
128
  if (!expected || !actual || !safeEqual(actual, expected)) {
119
129
  this.app.throw(401, 'mock webhook signature is invalid');
120
130
  }
121
- const body = WebhookBodySchema.safeParse(input.body);
122
- if (!body.success) this.app.throw(400, 'mock webhook is invalid');
123
- const eventType = `payment.${body.data.state}`;
124
- if (body.data.eventType !== eventType)
131
+ const payment = PaymentWebhookBodySchema.safeParse(input.body);
132
+ if (payment.success) {
133
+ const eventType = `payment.${payment.data.state}`;
134
+ if (payment.data.eventType !== eventType)
135
+ this.app.throw(400, 'mock webhook event type is invalid');
136
+ return {
137
+ eventId: payment.data.eventId,
138
+ eventType,
139
+ paymentSessionId: payment.data.paymentSessionId,
140
+ payment: {
141
+ state: payment.data.state,
142
+ providerPaymentId: payment.data.providerPaymentId,
143
+ providerCaptureId: payment.data.providerCaptureId,
144
+ },
145
+ summary: {
146
+ amountMinor: payment.data.amountMinor,
147
+ currency: payment.data.currency,
148
+ },
149
+ };
150
+ }
151
+ const refund = RefundWebhookBodySchema.safeParse(input.body);
152
+ if (!refund.success) this.app.throw(400, 'mock webhook is invalid');
153
+ const eventType = `refund.${refund.data.state}`;
154
+ if (refund.data.eventType !== eventType)
125
155
  this.app.throw(400, 'mock webhook event type is invalid');
126
156
  return {
127
- eventId: body.data.eventId,
157
+ eventId: refund.data.eventId,
128
158
  eventType,
129
- paymentSessionId: body.data.paymentSessionId,
130
- payment: {
131
- state: body.data.state,
132
- providerPaymentId: body.data.providerPaymentId,
133
- providerCaptureId: body.data.providerCaptureId,
159
+ refundOperationId: refund.data.refundOperationId,
160
+ refund: {
161
+ state: refund.data.state,
162
+ providerRefundId: refund.data.providerRefundId,
134
163
  },
135
164
  summary: {
136
- amountMinor: body.data.amountMinor,
137
- currency: body.data.currency,
165
+ amountMinor: refund.data.amountMinor,
166
+ currency: refund.data.currency,
138
167
  },
139
168
  };
140
169
  }
@@ -7,6 +7,8 @@ import { Arg, Controller, Web } from 'vona-module-a-web';
7
7
 
8
8
  import { DtoMockPaymentComplete } from '../dto/mockPaymentComplete.tsx';
9
9
  import { DtoMockPaymentReceipt } from '../dto/mockPaymentReceipt.tsx';
10
+ import { DtoMockRefundComplete } from '../dto/mockRefundComplete.tsx';
11
+ import { DtoMockRefundReceipt } from '../dto/mockRefundReceipt.tsx';
10
12
 
11
13
  export interface IControllerOptionsMockPayment extends IDecoratorControllerOptions {}
12
14
 
@@ -22,4 +24,13 @@ export class ControllerMockPayment extends BeanBase {
22
24
  ): Promise<DtoMockPaymentReceipt> {
23
25
  return await this.scope.service.payMock.completePaymentSession(id, command.outcome);
24
26
  }
27
+
28
+ @Web.post('refund-operation/:id/complete')
29
+ @Api.body(DtoMockRefundReceipt)
30
+ async completeRefund(
31
+ @Arg.param('id', v.tableIdentity()) id: TableIdentity,
32
+ @Arg.body() command: DtoMockRefundComplete,
33
+ ): Promise<DtoMockRefundReceipt> {
34
+ return await this.scope.service.payMock.completeRefundOperation(id, command.outcome);
35
+ }
25
36
  }
@@ -0,0 +1,13 @@
1
+ import type { IDecoratorDtoOptions } from 'vona-module-a-web';
2
+
3
+ import { Api } from 'vona-module-a-openapiutils';
4
+ import { Dto } from 'vona-module-a-web';
5
+ import { z } from 'zod';
6
+
7
+ export interface IDtoOptionsMockRefundComplete extends IDecoratorDtoOptions {}
8
+
9
+ @Dto<IDtoOptionsMockRefundComplete>()
10
+ export class DtoMockRefundComplete {
11
+ @Api.field(z.enum(['succeeded', 'failed', 'cancelled']))
12
+ outcome: 'succeeded' | 'failed' | 'cancelled';
13
+ }
@@ -0,0 +1,16 @@
1
+ import type { TableIdentity } from 'table-identity';
2
+ import type { IDecoratorDtoOptions } from 'vona-module-a-web';
3
+
4
+ import { Api, v } from 'vona-module-a-openapiutils';
5
+ import { Dto } from 'vona-module-a-web';
6
+
7
+ export interface IDtoOptionsMockRefundReceipt extends IDecoratorDtoOptions {}
8
+
9
+ @Dto<IDtoOptionsMockRefundReceipt>()
10
+ export class DtoMockRefundReceipt {
11
+ @Api.field(v.tableIdentity())
12
+ refundOperationId: TableIdentity;
13
+
14
+ @Api.field(v.required())
15
+ accepted: true;
16
+ }
@@ -5,6 +5,7 @@ import { BeanBase } from 'vona';
5
5
  import { Service } from 'vona-module-a-bean';
6
6
 
7
7
  export type TypeMockPaymentOutcome = 'succeeded' | 'failed' | 'cancelled';
8
+ export type TypeMockRefundOutcome = 'succeeded' | 'failed' | 'cancelled';
8
9
 
9
10
  @Service()
10
11
  export class ServicePayMock extends BeanBase {
@@ -70,6 +71,61 @@ export class ServicePayMock extends BeanBase {
70
71
  return { paymentSessionId: session.id, accepted: true as const };
71
72
  }
72
73
 
74
+ async completeRefundOperation(refundOperationId: TableIdentity, outcome: TypeMockRefundOutcome) {
75
+ this._assertSimulatorEnabled();
76
+ const refund = await this.$scope.pay.model.refundOperation.getById(refundOperationId);
77
+ if (!refund) this.app.throw(404, 'mock refund operation not found');
78
+ const session = await this.$scope.pay.model.paymentSession.getById(refund.paymentSessionId);
79
+ if (!session) this.app.throw(404, 'mock refund operation not found');
80
+ if (!(await this.bean.passport.isSystemAdmin())) {
81
+ this.app.throw(403, 'mock refund completion requires system administrator authority');
82
+ }
83
+ if (
84
+ session.providerName !== 'pay-mock:mock' ||
85
+ session.clientName !== 'default' ||
86
+ session.environment !== 'sandbox' ||
87
+ refund.state !== 'pending'
88
+ ) {
89
+ this.app.throw(409, 'mock refund operation is not actionable');
90
+ }
91
+ const { clientOptions } = this.bean.payProvider.resolveByName(
92
+ session.providerName,
93
+ session.clientName,
94
+ );
95
+ const secret = clientOptions.secretWebhook;
96
+ if (typeof secret !== 'string' || !secret) {
97
+ this.app.throw(500, 'mock webhook secret is not configured');
98
+ }
99
+ const rawBody = JSON.stringify({
100
+ eventId: `mock-refund-${randomUUID()}`,
101
+ eventType: `refund.${outcome}`,
102
+ refundOperationId: String(refund.id),
103
+ state: outcome,
104
+ amountMinor: refund.amountMinor,
105
+ currency: refund.currency,
106
+ providerRefundId: refund.providerRefundId ?? `mock-refund-${refund.id}`,
107
+ });
108
+ const signature = createHmac('sha256', secret).update(rawBody).digest('hex');
109
+ const instanceName = this.ctx.instanceName;
110
+ const instanceHeaderField = this.app.config.instance.headerField;
111
+ const response = await fetch(
112
+ this.app.util.getAbsoluteUrlByApiPath(
113
+ `/pay/webhook/${session.providerName}/${session.clientName}`,
114
+ ),
115
+ {
116
+ method: 'POST',
117
+ headers: {
118
+ 'content-type': 'application/json',
119
+ 'x-pay-mock-signature': signature,
120
+ ...(instanceName && instanceHeaderField ? { [instanceHeaderField]: instanceName } : {}),
121
+ },
122
+ body: rawBody,
123
+ },
124
+ );
125
+ if (!response.ok) this.app.throw(502, 'mock refund webhook was rejected');
126
+ return { refundOperationId: refund.id, accepted: true as const };
127
+ }
128
+
73
129
  private _assertSimulatorEnabled() {
74
130
  if (this.app.meta.env.META_MODE === 'prod') {
75
131
  this.app.throw(404, 'mock payment simulator is unavailable');