vona-module-pay-mock 5.0.2 → 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.
- package/dist/.metadata/index.d.ts +15 -0
- package/dist/.metadata/index.d.ts.map +1 -1
- package/dist/bean/payProvider.mock.d.ts.map +1 -1
- package/dist/controller/mockPayment.d.ts +3 -0
- package/dist/controller/mockPayment.d.ts.map +1 -1
- package/dist/dto/mockRefundComplete.d.ts +7 -0
- package/dist/dto/mockRefundComplete.d.ts.map +1 -0
- package/dist/dto/mockRefundReceipt.d.ts +9 -0
- package/dist/dto/mockRefundReceipt.d.ts.map +1 -0
- package/dist/index.js +115 -14
- package/dist/index.js.map +1 -1
- package/dist/service/payMock.d.ts +5 -0
- package/dist/service/payMock.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/.metadata/index.ts +39 -22
- package/src/bean/payProvider.mock.ts +42 -13
- package/src/controller/mockPayment.ts +11 -0
- package/src/dto/mockRefundComplete.tsx +13 -0
- package/src/dto/mockRefundReceipt.tsx +16 -0
- package/src/service/payMock.ts +56 -0
|
@@ -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":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAC,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAClG,qBAAqB;AACrB,cAAc,uBAAuB,CAAC;AAEtC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,QAAQ,oBAAoB,CAAC;IAEhC,UAAiB,cAAc;QAC7B,kBAAkB,EAAE,KAAK,CAAC;KAC3B;CAGJ;AACD,OAAO,QAAQ,sBAAsB,CAAC;IAE9B,UAAiB,cAAc;KAG9B;IAEC,UAAiB,cAAc;QAC7B,IAAI,aAAa,IAAI,0BAA0B,CAAC;QAChD,IAAI,UAAU,IAAI,kBAAkB,CAAC;KAEtC;CACV;AACD,mBAAmB;AACnB,qBAAqB;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,cAAc,CAAC;CAC3B;AACD,mBAAmB;AACnB,qBAAqB;AAErB,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,kBAAkB;QACjC,0BAA0B,EAAE,cAAc,CAAC;KAC5C;CACF;AACD,mBAAmB;AACnB,iBAAiB;AACjB,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,mBAAmB,CAAC;AAC3B,OAAO,QAAQ,mBAAmB,CAAC;IAE/B,UAAiB,UAAU;QACzB,8BAA8B,EAAE,8BAA8B,CAAC;QACrE,6BAA6B,EAAE,6BAA6B,CAAC;
|
|
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;
|
|
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;
|
|
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
|
|
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
|
|
157
|
-
if (
|
|
158
|
-
|
|
159
|
-
|
|
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:
|
|
263
|
+
eventId: refund.data.eventId,
|
|
162
264
|
eventType,
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
state:
|
|
166
|
-
|
|
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:
|
|
171
|
-
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":";;;;;;;;;AASO,IAAMA,cAAc,GAApB,MAAMA,cAAe,SAAQC,QAAQ,CAAA;AAC1C,EAAA,MAAMC,sBAAsBA,CAACC,gBAA+B,EAAEC,OAA+B,EAAA;IAC3F,IAAI,CAACC,uBAAuB,EAAE;AAC9B,IAAA,MAAMC,OAAO,GAAG,MAAM,IAAI,CAACC,MAAM,CAACC,GAAG,CAACC,KAAK,CAACC,cAAc,CAACC,OAAO,CAACR,gBAAgB,CAAC;IACpF,IAAI,CAACG,OAAO,IAAIM,MAAM,CAACN,OAAO,CAACO,MAAM,CAAC,KAAKD,MAAM,CAAC,IAAI,CAACE,IAAI,CAACC,QAAQ,CAACC,WAAY,CAACC,EAAE,CAAC,EAAE;MACrF,IAAI,CAACC,GAAG,CAACC,KAAK,CAAC,GAAG,EAAE,2BAA2B,CAAC;AAClD,IAAA;AACA,IAAA,IACEb,OAAO,CAACc,YAAY,KAAK,eAAe,IACxCd,OAAO,CAACe,UAAU,KAAK,SAAS,IAChCf,OAAO,CAACgB,WAAW,KAAK,SAAS,EACjC;MACA,IAAI,CAACJ,GAAG,CAACC,KAAK,CAAC,GAAG,EAAE,gCAAgC,CAAC;AACvD,IAAA;AACA,IAAA,IAAIb,OAAO,CAACiB,KAAK,KAAK,iBAAiB,EAAE;MACvC,IAAI,CAACL,GAAG,CAACC,KAAK,CAAC,GAAG,EAAE,wCAAwC,CAAC;AAC/D,IAAA;IACA,IAAIb,OAAO,CAACkB,SAAS,IAAI,IAAIC,IAAI,EAAE,EAAE;MACnC,IAAI,CAACP,GAAG,CAACC,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC;AACnD,IAAA;IACA,MAAM;AAAEO,MAAAA;AAAa,KAAE,GAAG,IAAI,CAACZ,IAAI,CAACa,WAAW,CAACC,aAAa,CAC3DtB,OAAO,CAACc,YAAY,EACpBd,OAAO,CAACe,UAAU,CACnB;AACD,IAAA,IAAIK,aAAa,CAACJ,WAAW,KAAKhB,OAAO,CAACgB,WAAW,EAAE;MACrD,IAAI,CAACJ,GAAG,CAACC,KAAK,CAAC,GAAG,EAAE,mDAAmD,CAAC;AAC1E,IAAA;AACA,IAAA,MAAMU,MAAM,GAAGH,aAAa,CAACI,aAAa;AAC1C,IAAA,IAAI,OAAOD,MAAM,KAAK,QAAQ,IAAI,CAACA,MAAM,EAAE;MACzC,IAAI,CAACX,GAAG,CAACC,KAAK,CAAC,GAAG,EAAE,uCAAuC,CAAC;AAC9D,IAAA;AAEA,IAAA,MAAMY,OAAO,GAAGC,IAAI,CAACC,SAAS,CAAC;AAC7BC,MAAAA,OAAO,EAAE,CAAA,aAAA,EAAgBC,UAAU,EAAE,CAAA,CAAE;MACvCC,SAAS,EAAE,CAAA,QAAA,EAAWhC,OAAO,CAAA,CAAE;AAC/BD,MAAAA,gBAAgB,EAAES,MAAM,CAACN,OAAO,CAACW,EAAE,CAAC;AACpCM,MAAAA,KAAK,EAAEnB,OAAO;MACdiC,WAAW,EAAE/B,OAAO,CAAC+B,WAAW;MAChCC,QAAQ,EAAEhC,OAAO,CAACgC,QAAQ;MAC1BC,iBAAiB,EAAEjC,OAAO,CAACiC,iBAAiB,IAAI,CAAA,aAAA,EAAgBjC,OAAO,CAACW,EAAE,CAAA,CAAE;MAC5E,IAAIb,OAAO,KAAK,WAAW,GAAG;AAAEoC,QAAAA,iBAAiB,EAAE,CAAA,aAAA,EAAgBlC,OAAO,CAACW,EAAE,CAAA;OAAI,GAAG,EAAE;AACvF,KAAA,CAAC;AACF,IAAA,MAAMwB,SAAS,GAAGC,UAAU,CAAC,QAAQ,EAAEb,MAAM,CAAC,CAACc,MAAM,CAACZ,OAAO,CAAC,CAACa,MAAM,CAAC,KAAK,CAAC;AAC5E,IAAA,MAAMC,YAAY,GAAG,IAAI,CAACC,GAAG,CAACD,YAAY;IAC1C,MAAME,mBAAmB,GAAG,IAAI,CAAC7B,GAAG,CAAC8B,MAAM,CAACC,QAAQ,CAACC,WAAW;IAChE,MAAMC,QAAQ,GAAG,MAAMC,KAAK,CAC1B,IAAI,CAAClC,GAAG,CAACmC,IAAI,CAACC,uBAAuB,CACnC,CAAA,aAAA,EAAgBhD,OAAO,CAACc,YAAY,CAAA,CAAA,EAAId,OAAO,CAACe,UAAU,CAAA,CAAE,CAC7D,EACD;AACEkC,MAAAA,MAAM,EAAE,MAAM;AACdC,MAAAA,OAAO,EAAE;AACP,QAAA,cAAc,EAAE,kBAAkB;AAClC,QAAA,sBAAsB,EAAEf,SAAS;QACjC,IAAII,YAAY,IAAIE,mBAAmB,GAAG;AAAE,UAAA,CAACA,mBAAmB,GAAGF;SAAc,GAAG,EAAE;OACvF;AACDY,MAAAA,IAAI,EAAE1B;AACP,KAAA,CACF;AACD,IAAA,IAAI,CAACoB,QAAQ,CAACO,EAAE,EAAE,IAAI,CAACxC,GAAG,CAACC,KAAK,CAAC,GAAG,EAAE,mCAAmC,CAAC;IAC1E,OAAO;MAAEhB,gBAAgB,EAAEG,OAAO,CAACW,EAAE;AAAE0C,MAAAA,QAAQ,EAAE;KAAe;AAClE,EAAA;AAEQtD,EAAAA,uBAAuBA,GAAA;IAC7B,IAAI,IAAI,CAACa,GAAG,CAAC0C,IAAI,CAACC,GAAG,CAACC,SAAS,KAAK,MAAM,EAAE;MAC1C,IAAI,CAAC5C,GAAG,CAACC,KAAK,CAAC,GAAG,EAAE,uCAAuC,CAAC;AAC9D,IAAA;AACF,EAAA;;AAnEWnB,cAAc,GAAA+D,UAAA,CAAA,CAD1BC,OAAO,EAAE,EAAAC,QAAA,CAAA;EAAAC,MAAA,EAAA;AAAA,CAAA,CAAA,CACG,EAAAlE,cAAc,CAoE1B;;ACpEM,IAAMmE,sBAAsB,GAA5B,MAAMA,sBAAsB,CAAA;EAAAC,WAAAA,GAAA;AAAA,IAAA,IAAA,CAEjChE,OAAO,GAAA,MAAA;AAAA,EAAA;;AAAP2D,UAAA,CAAA,CADCM,GAAG,CAACC,KAAK,CAACC,CAAC,CAACC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,oCACV,EAAAL,sBAAA,CAAAM,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAFnCN,sBAAsB,GAAAJ,UAAA,CAAA,CADlCW,GAAG,EAAkC,EAAAT,QAAA,CAAA;EAAAC,MAAA,EAAA;AAAA,CAAA,CAAA,CACzB,EAAAC,sBAAsB,CAGlC;;ACHM,IAAMQ,qBAAqB,GAA3B,MAAMA,qBAAqB,CAAA;EAAAP,WAAAA,GAAA;AAAA,IAAA,IAAA,CAEhCjE,gBAAgB,GAAA,MAAA;AAAA,IAAA,IAAA,CAGhBwD,QAAQ,GAAA,MAAA;AAAA,EAAA;;AAHRI,UAAA,CAAA,CADCM,GAAG,CAACC,KAAK,CAACM,CAAC,CAACC,aAAa,EAAE,CAAC,oCACG,EAAAF,qBAAA,CAAAF,SAAA,EAAA,kBAAA,EAAA,MAAA,CAAA;AAGhCV,UAAA,CAAA,CADCM,GAAG,CAACC,KAAK,CAACM,CAAC,CAACE,QAAQ,EAAE,CAAC,qCACT,EAAAH,qBAAA,CAAAF,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AALJE,qBAAqB,GAAAZ,UAAA,CAAA,CADjCW,GAAG,EAAiC,EAAAT,QAAA,CAAA;EAAAC,MAAA,EAAA;AAAA,CAAA,CAAA,CACxB,EAAAS,qBAAqB,CAMjC;;ACAM,IAAMI,qBAAqB,GAA3B,MAAMA,qBAAsB,SAAQ9E,QAAQ,CAAA;AAGjD,EAAA,MAAM+E,QAAQA,CACwB/D,EAAiB,EACzCgE,OAA+B,EAAA;AAE3C,IAAA,OAAO,MAAM,IAAI,CAACC,KAAK,CAACC,OAAO,CAACC,OAAO,CAAClF,sBAAsB,CAACe,EAAE,EAAEgE,OAAO,CAAC7E,OAAO,CAAC;AACrF,EAAA;;AALM2D,UAAA,CAAA,CAFLsB,GAAG,CAACC,IAAI,CAAC,cAAc,CAAC,EACxBjB,GAAG,CAACZ,IAAI,CAACkB,qBAAqB,CAAC,EAE7BY,OAAA,CAAA,CAAA,EAAAC,GAAG,CAACC,KAAK,CAAC,IAAI,EAAEb,CAAC,CAACC,aAAa,EAAE,CAAC,CAAA,EAClCU,OAAA,CAAA,CAAA,EAAAC,GAAG,CAAC/B,IAAI,EAAE,CAAA,gFAAUU,sBAAsB,CAAA,CAAA,2CAG5C,EAAAY,qBAAA,CAAAN,SAAA,EAAA,UAAA,EAAA,IAAA,CAAA;AARUM,qBAAqB,GAAAhB,UAAA,CAAA,CAHjC2B,UAAU,CAAgC,sBAAsB,EAAE;AACjE9B,EAAAA,IAAI,EAAE;AAAE+B,IAAAA,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM;AAAC;CAC9B,CAAC,EAAA1B,QAAA,CAAA;EAAAC,MAAA,EAAA;AAAA,CAAA,CAAA,CACW,EAAAa,qBAAqB,CASjC;;ACND,MAAMa,iBAAiB,GAAGrB,CAAC,CAACsB,MAAM,CAAC;AACjC3D,EAAAA,OAAO,EAAEqC,CAAC,CAACuB,MAAM,EAAE,CAACC,GAAG,CAAC,CAAC,CAAC,CAACC,GAAG,CAAC,GAAG,CAAC;AACnC5D,EAAAA,SAAS,EAAEmC,CAAC,CAACC,IAAI,CAAC,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;EAC/ErE,gBAAgB,EAAEoE,CAAC,CAACuB,MAAM,EAAE,CAACC,GAAG,CAAC,CAAC,CAAC;AACnCxE,EAAAA,KAAK,EAAEgD,CAAC,CAACC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AACnDnC,EAAAA,WAAW,EAAEkC,CAAC,CAAC0B,MAAM,EAAE,CAACC,GAAG,EAAE,CAACC,WAAW,EAAE;EAC3C7D,QAAQ,EAAEiC,CAAC,CAACuB,MAAM,EAAE,CAACM,MAAM,CAAC,CAAC,CAAC;AAC9B7D,EAAAA,iBAAiB,EAAEgC,CAAC,CAACuB,MAAM,EAAE,CAACC,GAAG,CAAC,CAAC,CAAC,CAACC,GAAG,CAAC,GAAG,CAAC,CAACK,QAAQ,EAAE;AACxD7D,EAAAA,iBAAiB,EAAE+B,CAAC,CAACuB,MAAM,EAAE,CAACC,GAAG,CAAC,CAAC,CAAC,CAACC,GAAG,CAAC,GAAG,CAAC,CAACK,QAAQ;AACvD,CAAA,CAAC;AAWF,MAAMnF,GAAG,GAAGoF,MAAM,EAAE;AAgCb,IAAMC,eAAe,GAArB,MAAMA,eACX,SAAQtG,QAAQ,CAAA;AAGhB,EAAA,MAAMuG,YAAYA,CAChBC,KAA+B,EAC/BC,cAA6C,EAAA;IAE7C,OAAO;AACLnF,MAAAA,KAAK,EAAE,iBAAiB;AACxBgB,MAAAA,iBAAiB,EAAE,CAAA,aAAA,EAAgBkE,KAAK,CAACtG,gBAAgB,CAAA,CAAE;AAC3DwG,MAAAA,UAAU,EAAE;AAAEC,QAAAA,IAAI,EAAE;AAAS;KAC9B;AACH,EAAA;AAEA,EAAA,MAAMC,YAAYA,CAChBJ,KAA+B,EAC/BC,cAA6C,EAAA;IAE7C,OAAO;AACLnF,MAAAA,KAAK,EAAE,YAAY;AACnBgB,MAAAA,iBAAiB,EAAE,CAAA,aAAA,EAAgBkE,KAAK,CAACtG,gBAAgB,CAAA;KAC1D;AACH,EAAA;AAEA,EAAA,MAAM2G,YAAYA,CAChBL,KAA8B,EAC9BC,cAA6C,EAAA;IAE7C,OAAO;AACLnF,MAAAA,KAAK,EAAE,SAAS;AAChBwF,MAAAA,gBAAgB,EAAE,CAAA,YAAA,EAAeN,KAAK,CAACO,iBAAiB,CAAA;KACzD;AACH,EAAA;AAEA,EAAA,MAAMC,aAAaA,CACjBR,KAA+B,EAC/B/E,aAA4C,EAAA;AAE5C,IAAA,MAAMe,SAAS,GAAGgE,KAAK,CAACjD,OAAO,CAAC,sBAAsB,CAAC;AACvD,IAAA,MAAM0D,MAAM,GAAGC,KAAK,CAACC,OAAO,CAAC3E,SAAS,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC,GAAGA,SAAS;AAClE,IAAA,MAAMZ,MAAM,GAAGH,aAAa,CAACI,aAAa;AAC1C,IAAA,MAAMC,OAAO,GAAG0E,KAAK,CAAC1E,OAAO;AAC7B,IAAA,MAAMsF,QAAQ,GACZ,OAAOxF,MAAM,KAAK,QAAQ,IAAIA,MAAM,IAAIE,OAAO,KAAKuF,SAAS,GACzD5E,UAAU,CAAC,QAAQ,EAAEb,MAAM,CAAC,CAACc,MAAM,CAACZ,OAAO,CAAC,CAACa,MAAM,CAAC,KAAK,CAAC,GAC1D0E,SAAS;AACf,IAAA,IAAI,CAACD,QAAQ,IAAI,CAACH,MAAM,IAAI,CAACK,SAAS,CAACL,MAAM,EAAEG,QAAQ,CAAC,EAAE;MACxD,IAAI,CAACnG,GAAG,CAACC,KAAK,CAAC,GAAG,EAAE,mCAAmC,CAAC;AAC1D,IAAA;IACA,MAAMsC,IAAI,GAAGmC,iBAAiB,CAAC4B,SAAS,CAACf,KAAK,CAAChD,IAAI,CAAC;AACpD,IAAA,IAAI,CAACA,IAAI,CAACgE,OAAO,EAAE,IAAI,CAACvG,GAAG,CAACC,KAAK,CAAC,GAAG,EAAE,yBAAyB,CAAC;IACjE,MAAMiB,SAAS,GAAG,CAAA,QAAA,EAAWqB,IAAI,CAACiE,IAAI,CAACnG,KAAK,CAAA,CAAE;AAC9C,IAAA,IAAIkC,IAAI,CAACiE,IAAI,CAACtF,SAAS,KAAKA,SAAS,EACnC,IAAI,CAAClB,GAAG,CAACC,KAAK,CAAC,GAAG,EAAE,oCAAoC,CAAC;IAC3D,OAAO;AACLe,MAAAA,OAAO,EAAEuB,IAAI,CAACiE,IAAI,CAACxF,OAAO;MAC1BE,SAAS;AACTjC,MAAAA,gBAAgB,EAAEsD,IAAI,CAACiE,IAAI,CAACvH,gBAAgB;AAC5CwH,MAAAA,OAAO,EAAE;AACPpG,QAAAA,KAAK,EAAEkC,IAAI,CAACiE,IAAI,CAACnG,KAAK;AACtBgB,QAAAA,iBAAiB,EAAEkB,IAAI,CAACiE,IAAI,CAACnF,iBAAiB;AAC9CC,QAAAA,iBAAiB,EAAEiB,IAAI,CAACiE,IAAI,CAAClF;OAC9B;AACDoF,MAAAA,OAAO,EAAE;AACPvF,QAAAA,WAAW,EAAEoB,IAAI,CAACiE,IAAI,CAACrF,WAAW;AAClCC,QAAAA,QAAQ,EAAEmB,IAAI,CAACiE,IAAI,CAACpF;AACrB;KACF;AACH,EAAA;;AArEWiE,eAAe,GAAAxC,UAAA,CAAA,CAzB3B8D,WAAW,CAA0B;AACpCC,EAAAA,IAAI,EAAE;AACJC,IAAAA,YAAY,EAAE;AACZC,MAAAA,gBAAgB,EAAE,KAAK;AACvBC,MAAAA,gBAAgB,EAAE,IAAI;AACtBC,MAAAA,gBAAgB,EAAE,IAAI;AACtBC,MAAAA,aAAa,EAAE,KAAK;AACpBC,MAAAA,OAAO,EAAE,IAAI;AACbC,MAAAA,cAAc,EAAE,IAAI;AACpBC,MAAAA,QAAQ,EAAE;AACX;GACF;AACDC,EAAAA,OAAO,EAAE;AACPC,IAAAA,OAAO,EAAE;AACPlH,MAAAA,WAAW,EAAE,SAAS;AACtBmH,MAAAA,gBAAgB,EAAEvH,GAAG,CAAC0C,IAAI,CAACC,GAAG,CAAC6E,2BAA2B;AAC1D5G,MAAAA,aAAa,EAAEZ,GAAG,CAAC0C,IAAI,CAACC,GAAG,CAAC8E;KAC7B;AACDC,IAAAA,SAAS,EAAE;AACTtH,MAAAA,WAAW,EAAE,SAAS;AACtBmH,MAAAA,gBAAgB,EAAEvH,GAAG,CAAC0C,IAAI,CAACC,GAAG,CAACgF,6BAA6B;AAC5D/G,MAAAA,aAAa,EAAEZ,GAAG,CAAC0C,IAAI,CAACC,GAAG,CAACiF;AAC7B;AACF;CACF,CAAC,EAAA7E,QAAA,CAAA;EAAAC,MAAA,EAAA;AAAA,CAAA,CAAA,CACW,EAAAqC,eAAe,CAsE3B;AAED,SAASgB,SAASA,CAACL,MAAc,EAAEG,QAAgB,EAAA;AACjD,EAAA,MAAM0B,YAAY,GAAGC,MAAM,CAACC,IAAI,CAAC/B,MAAM,CAAC;AACxC,EAAA,MAAMgC,cAAc,GAAGF,MAAM,CAACC,IAAI,CAAC5B,QAAQ,CAAC;AAC5C,EAAA,OACE0B,YAAY,CAAC3C,MAAM,KAAK8C,cAAc,CAAC9C,MAAM,IAAI+C,eAAe,CAACJ,YAAY,EAAEG,cAAc,CAAC;AAElG;;ACSO,IAAME,kBAAkB,GAAxB,MAAMA,kBAAmB,SAAQC,aAAa,CAAA;AAAxCD,kBAAkB,GAAArF,UAAA,CAAA,CAD9BuF,KAAK,EAAE,EAAArF,QAAA,CAAA;EAAAC,MAAA,EAAA;AAAA,CAAA,CAAA,CACK,EAAAkF,kBAAkB,CAAyB;AAwBxD;;;;"}
|
|
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;
|
|
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.
|
|
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.
|
|
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": "
|
|
42
|
+
"gitHead": "e86b8ee51b837417b7b28b2c67862877d4092371"
|
|
43
43
|
}
|
package/src/.metadata/index.ts
CHANGED
|
@@ -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
|
|
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
|
|
122
|
-
if (
|
|
123
|
-
|
|
124
|
-
|
|
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:
|
|
157
|
+
eventId: refund.data.eventId,
|
|
128
158
|
eventType,
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
state:
|
|
132
|
-
|
|
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:
|
|
137
|
-
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
|
+
}
|
package/src/service/payMock.ts
CHANGED
|
@@ -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');
|