@chevre/domain 23.1.0-alpha.9 → 23.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/example/src/chevre/{eventOffer/adminEventOffers.ts → acceptedPaymentMethodOffer/adminAcceptedPaymentMethodOffers.ts} +12 -11
  2. package/example/src/chevre/actions/checkAcceptPayActions.ts +60 -0
  3. package/example/src/chevre/assetTransaction/checkPayTransactionsTicketToken.ts +67 -0
  4. package/example/src/chevre/eventSeries/migrateEventSeriesUnacceptedPaymentMethod.ts +93 -0
  5. package/example/src/chevre/importEventsFromCOA.ts +5 -5
  6. package/example/src/chevre/pendingReservation/findEventSeatOffersBySection.ts +46 -0
  7. package/example/src/chevre/place/checkSectionCount.ts +27 -0
  8. package/example/src/chevre/place/findSectionsByRoom.ts +50 -0
  9. package/example/src/chevre/project/unsetProjectSettings.ts +73 -0
  10. package/example/src/chevre/reIndex.ts +0 -1
  11. package/example/src/chevre/roles/{addAdminSellerEventIfNotExists.ts → addAdminSellerEventOfferIfNotExists.ts} +1 -1
  12. package/example/src/chevre/stockHolder/findSeatsBySection.ts +59 -0
  13. package/example/src/chevre/stockHolder/searchSeats.ts +2 -2
  14. package/lib/chevre/repo/acceptedPaymentMethod.d.ts +41 -0
  15. package/lib/chevre/repo/acceptedPaymentMethod.js +180 -0
  16. package/lib/chevre/repo/authorization.d.ts +3 -2
  17. package/lib/chevre/repo/authorization.js +13 -5
  18. package/lib/chevre/repo/event.d.ts +1 -35
  19. package/lib/chevre/repo/event.js +2 -102
  20. package/lib/chevre/repo/eventOffer.js +3 -3
  21. package/lib/chevre/repo/mongoose/schemas/acceptedPaymentMethod.d.ts +10 -0
  22. package/lib/chevre/repo/mongoose/schemas/acceptedPaymentMethod.js +97 -0
  23. package/lib/chevre/repo/mongoose/schemas/eventOffer.js +9 -0
  24. package/lib/chevre/repo/note.js +4 -2
  25. package/lib/chevre/repo/pendingReservation.js +28 -71
  26. package/lib/chevre/repo/place/seat.d.ts +24 -0
  27. package/lib/chevre/repo/place/seat.js +103 -21
  28. package/lib/chevre/repo/place/section.d.ts +20 -0
  29. package/lib/chevre/repo/place/section.js +47 -0
  30. package/lib/chevre/repo/ticket.d.ts +7 -1
  31. package/lib/chevre/repo/ticket.js +14 -1
  32. package/lib/chevre/repository.d.ts +5 -0
  33. package/lib/chevre/repository.js +15 -2
  34. package/lib/chevre/service/assetTransaction/pay/factory.d.ts +1 -1
  35. package/lib/chevre/service/assetTransaction/pay/factory.js +8 -3
  36. package/lib/chevre/service/assetTransaction/pay/validateAcceptedPaymentMethodIfNeeded.d.ts +16 -0
  37. package/lib/chevre/service/assetTransaction/pay/validateAcceptedPaymentMethodIfNeeded.js +94 -0
  38. package/lib/chevre/service/assetTransaction/pay.d.ts +6 -1
  39. package/lib/chevre/service/assetTransaction/pay.js +6 -1
  40. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/fixExtendedEventOffer.d.ts +1 -2
  41. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/fixExtendedEventOffer.js +7 -7
  42. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateIssuedOfferIfExists.d.ts +6 -2
  43. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateIssuedOfferIfExists.js +30 -30
  44. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateMemberTierIfExists.d.ts +0 -1
  45. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateMemberTierIfExists.js +7 -51
  46. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/verifyTicketTokenAsNeeded.js +6 -8
  47. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest.d.ts +29 -1
  48. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest.js +9 -9
  49. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre/requestedProgramMembershipUsed2permit.js +1 -1
  50. package/lib/chevre/service/offer/event/issueEventOfferTicket.d.ts +48 -0
  51. package/lib/chevre/service/offer/event/issueEventOfferTicket.js +123 -0
  52. package/lib/chevre/service/offer/event.d.ts +2 -1
  53. package/lib/chevre/service/offer/event.js +3 -1
  54. package/lib/chevre/service/offer.d.ts +31 -1
  55. package/lib/chevre/service/offer.js +104 -34
  56. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.d.ts +9 -0
  57. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.js +22 -11
  58. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.d.ts +19 -2
  59. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +87 -9
  60. package/lib/chevre/service/payment/any/factory.d.ts +20 -3
  61. package/lib/chevre/service/payment/any/factory.js +26 -6
  62. package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.d.ts +4 -0
  63. package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.js +15 -11
  64. package/lib/chevre/service/payment/any/verifyTicketTokenAsNeeded.d.ts +6 -3
  65. package/lib/chevre/service/payment/any/verifyTicketTokenAsNeeded.js +8 -22
  66. package/lib/chevre/service/payment/any.d.ts +5 -1
  67. package/lib/chevre/service/payment/any.js +22 -13
  68. package/lib/chevre/service/payment/factory.js +0 -5
  69. package/lib/chevre/service/payment/movieTicket/authorize.js +0 -5
  70. package/lib/chevre/service/task/authorizePayment.js +2 -0
  71. package/lib/chevre/service/task/publishPaymentUrl.js +4 -0
  72. package/lib/chevre/service/transaction/placeOrder/confirm/publishCode.js +1 -1
  73. package/lib/chevre/service/transaction/placeOrder/confirm/validation/factory.d.ts +9 -0
  74. package/lib/chevre/service/transaction/placeOrder/confirm/validation/factory.js +2 -0
  75. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateInvoiceReferencesOrder.d.ts +8 -0
  76. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateInvoiceReferencesOrder.js +45 -0
  77. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validatePrice.d.ts +3 -0
  78. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validatePrice.js +38 -0
  79. package/lib/chevre/service/transaction/placeOrder/confirm/validation.d.ts +2 -8
  80. package/lib/chevre/service/transaction/placeOrder/confirm/validation.js +5 -35
  81. package/package.json +3 -3
  82. package/example/src/chevre/checkReplaceActions.ts +0 -65
  83. package/example/src/chevre/upsertManyEventsByAdditionalProperty.ts +0 -193
  84. package/lib/chevre/service/code.d.ts +0 -8
  85. package/lib/chevre/service/code.js +0 -7
@@ -47,17 +47,73 @@ function recipe2paymentAgencyTransaction(actionRecipe) {
47
47
  }
48
48
  return { entryTranArgs, entryTranResult, execTranArgs, execTranResult };
49
49
  }
50
+ /**
51
+ * 決済採用アクションから決済方法チケットを参照する
52
+ */
53
+ function acceptAction2ticket(params) {
54
+ // tslint:disable-next-line:cyclomatic-complexity
55
+ return (repos) => __awaiter(this, void 0, void 0, function* () {
56
+ var _a, _b;
57
+ const { acceptPayAction, project } = params;
58
+ const ticketToken = (_b = (_a = acceptPayAction.instrument) === null || _a === void 0 ? void 0 : _a.find((ticketAsInstrument) => ticketAsInstrument.typeOf === 'Ticket')) === null || _b === void 0 ? void 0 : _b.ticketToken;
59
+ let acceptAction2ticketResult;
60
+ if (typeof ticketToken === 'string' && ticketToken !== '') {
61
+ const ticket = (yield repos.ticket.findTickets({
62
+ limit: 1,
63
+ page: 1,
64
+ project: { id: { $eq: project.id } },
65
+ ticketToken: { $eq: ticketToken }
66
+ }, ['ticketToken'])).shift();
67
+ if (ticket === undefined) {
68
+ throw new factory.errors.NotFound('Ticket');
69
+ }
70
+ // 承認を参照
71
+ const validAuthorization = yield repos.authorization.findValidOneByCode({
72
+ project: { id: params.project.id },
73
+ code: ticket.ticketToken
74
+ });
75
+ const authorizedObject = validAuthorization.object;
76
+ if (authorizedObject.typeOf === 'OwnershipInfo') {
77
+ const { typeOfGood } = authorizedObject;
78
+ if (typeOfGood.typeOf === factory.service.paymentService.PaymentServiceType.CreditCard
79
+ || typeOfGood.typeOf === factory.service.paymentService.PaymentServiceType.MovieTicket
80
+ || typeOfGood.typeOf === factory.service.paymentService.PaymentServiceType.FaceToFace) {
81
+ if (acceptPayAction.object.transactionNumber !== typeOfGood.serviceOutput.paymentMethodId) {
82
+ // 念のため決済方法IDの一致検証
83
+ throw new factory.errors.Internal('acceptPayAction.object.transactionNumber must be the same as typeOfGood.serviceOutput.paymentMethodId');
84
+ }
85
+ acceptAction2ticketResult = {
86
+ invoiceByTicketToken: typeOfGood.serviceOutput,
87
+ ticketToken
88
+ };
89
+ }
90
+ else {
91
+ throw new factory.errors.Argument('ticketToken', `invalid typeOfGood.typeOf ${typeOfGood.typeOf}`);
92
+ }
93
+ }
94
+ else {
95
+ throw new factory.errors.Argument('ticketToken', 'must be OwnershipInfo');
96
+ }
97
+ }
98
+ return { acceptAction2ticketResult };
99
+ });
100
+ }
101
+ /**
102
+ * 決済承認前の決済採用アクションを参照する
103
+ */
104
+ // tslint:disable-next-line:max-func-body-length
50
105
  function handlePrePublishedPaymentMethodIdOnAuthorizing(params) {
51
106
  return (repos) => __awaiter(this, void 0, void 0, function* () {
52
107
  let creditCard;
53
108
  let pendingPaymentAgencyTransaction;
54
109
  let existingCompletedAuthorizeAction;
110
+ let acceptPayAction;
55
111
  // transaction.objectへのアクセス回避(2024-05-30~)
56
112
  // const paymentMethodByTransaction = transaction.object.paymentMethods;
57
113
  const paymentMethodByTransaction = yield repos.transaction.findInProgressPaymentMethodId({ id: params.transaction.id });
58
114
  if (params.prePublishedPaymentMethodId === (paymentMethodByTransaction === null || paymentMethodByTransaction === void 0 ? void 0 : paymentMethodByTransaction.paymentMethodId)) {
59
115
  // check existence of acceptAction when authorizing payment(2024-06-01~)
60
- const acceptPayAction = (yield repos.action.search({
116
+ acceptPayAction = (yield repos.action.search({
61
117
  limit: 1,
62
118
  page: 1,
63
119
  project: { id: { $eq: params.transaction.project.id } },
@@ -68,7 +124,7 @@ function handlePrePublishedPaymentMethodIdOnAuthorizing(params) {
68
124
  transactionNumber: { $eq: params.prePublishedPaymentMethodId },
69
125
  typeOf: { $eq: factory.assetTransactionType.Pay }
70
126
  }
71
- }, ['object', 'result'])).shift();
127
+ }, ['object', 'result', 'instrument'])).shift();
72
128
  if (acceptPayAction === undefined) {
73
129
  throw new factory.errors.NotFound(factory.actionType.AcceptAction);
74
130
  }
@@ -113,10 +169,17 @@ function handlePrePublishedPaymentMethodIdOnAuthorizing(params) {
113
169
  });
114
170
  existingCompletedAuthorizeAction = existingCompletedAuthorizeActions.shift();
115
171
  if (existingCompletedAuthorizeAction !== undefined) {
116
- return { existingCompletedAuthorizeAction: { id: existingCompletedAuthorizeAction.id } };
172
+ return {
173
+ existingCompletedAuthorizeAction: { id: existingCompletedAuthorizeAction.id }
174
+ };
117
175
  }
176
+ // 採用アクションのinstrumentから、決済方法チケットを参照する(2025-11-23~)
177
+ const { acceptAction2ticketResult } = yield acceptAction2ticket({
178
+ project: { id: params.transaction.project.id },
179
+ acceptPayAction
180
+ })(repos);
118
181
  return {
119
- authorizeParams: { creditCard, pendingPaymentAgencyTransaction, paymentMethodByTransaction }
182
+ authorizeParams: { creditCard, pendingPaymentAgencyTransaction, paymentMethodByTransaction, acceptAction2ticketResult }
120
183
  };
121
184
  }
122
185
  else {
@@ -126,16 +189,13 @@ function handlePrePublishedPaymentMethodIdOnAuthorizing(params) {
126
189
  });
127
190
  }
128
191
  /**
129
- * 注文取引に保管された決済情報を承認しようとしている決済の整合性を検証する
192
+ * 決済採用と決済承認の整合性を検証する
130
193
  */
131
194
  function validatePaymentMethodByTransaction(params) {
132
- var _a, _b;
195
+ var _a, _b, _c, _d;
133
196
  const paymentServiceIdByObject = params.object.issuedThrough.id;
134
197
  const amountByObject = params.object.amount;
135
198
  const paymentMethodTypeByObject = params.object.paymentMethod;
136
- // const paymentServiceIdByTransaction = params.paymentMethodByTransaction.issuedThrough.id;
137
- // const amountByTransaction = params.paymentMethodByTransaction.paymentMethod?.amount;
138
- // const paymentMethodTypeByTransaction = params.paymentMethodByTransaction.paymentMethod?.identifier;
139
199
  const paymentServiceIdByTransaction = params.acceptObject.object.id;
140
200
  const amountByTransaction = (_a = params.acceptObject.object.paymentMethod) === null || _a === void 0 ? void 0 : _a.amount;
141
201
  const paymentMethodTypeByTransaction = (_b = params.acceptObject.object.paymentMethod) === null || _b === void 0 ? void 0 : _b.identifier;
@@ -151,4 +211,22 @@ function validatePaymentMethodByTransaction(params) {
151
211
  if (paymentMethodTypeByObject !== paymentMethodTypeByTransaction) {
152
212
  throw new factory.errors.Argument('object.paymentMethod', 'paymentMethod must match the target of the paymentUrl');
153
213
  }
214
+ // 注文アイテム検証(2025-11-25)
215
+ let eventIdsMustBe = [];
216
+ let eventIdsByAuthorizeAction = [];
217
+ const orderedItemsByAcceptAction = (_c = params.acceptObject.object.serviceOutput) === null || _c === void 0 ? void 0 : _c.referencesOrder.orderedItem;
218
+ const orderedItemsByAuthorizeAction = (_d = params.object.referencesOrder) === null || _d === void 0 ? void 0 : _d.orderedItem;
219
+ if (Array.isArray(orderedItemsByAcceptAction)) {
220
+ eventIdsMustBe = orderedItemsByAcceptAction.map((orderedItem) => orderedItem.orderedItem.serviceOutput.reservationFor.id);
221
+ }
222
+ if (Array.isArray(orderedItemsByAuthorizeAction)) {
223
+ eventIdsByAuthorizeAction =
224
+ orderedItemsByAuthorizeAction.map((orderedItem) => orderedItem.orderedItem.serviceOutput.reservationFor.id);
225
+ }
226
+ debug('validatePaymentMethodByTransaction: eventIdsMustBe,eventIdsByAuthorizeAction:', JSON.stringify(eventIdsMustBe), JSON.stringify(eventIdsByAuthorizeAction));
227
+ const eventIdsMatched = eventIdsMustBe.length === eventIdsByAuthorizeAction.length
228
+ && eventIdsMustBe.every((eventIdMustExist) => eventIdsByAuthorizeAction.includes(eventIdMustExist));
229
+ if (!eventIdsMatched) {
230
+ throw new factory.errors.Argument('id', `referencesOrder.orderedItem between authorze and accept not matched.`);
231
+ }
154
232
  }
@@ -1,16 +1,25 @@
1
1
  import * as factory from '../../../factory';
2
+ /**
3
+ * 決済方法チケットによって表現された請求情報
4
+ */
5
+ export type IInvoiceByTicketToken = factory.authorization.IInvoiceAsPaymentMethodServiceOutput;
2
6
  export type INotification = factory.notification.payAction.IPayAction4inform | factory.notification.refundAction.IRefundAction4inform;
3
7
  export declare function creatPublishPaymentUrlParams(params: {
4
8
  accountId?: string;
5
- object: Pick<factory.action.authorize.paymentMethod.any.IObjectIncludingPaymentMethodDetails, 'amount' | 'creditCard' | 'issuedThrough' | 'method' | 'paymentMethod'>;
9
+ object: Pick<factory.action.authorize.paymentMethod.any.IObjectIncludingPaymentMethodDetails, 'amount' | 'creditCard' | 'issuedThrough' | 'method' | 'paymentMethod' | 'referencesOrder'>;
6
10
  paymentServiceType: factory.service.paymentService.PaymentServiceType;
7
11
  transaction: Pick<factory.transaction.ITransaction<factory.transactionType.PlaceOrder>, 'expires' | 'seller' | 'project'>;
8
12
  transactionNumber: string;
9
13
  location?: factory.action.trade.pay.ILocation;
10
14
  identifier?: string;
15
+ /**
16
+ * 決済採用に使用される決済方法チケットトークン
17
+ */
18
+ ticketToken?: string;
11
19
  }): Pick<factory.assetTransaction.pay.IStartParamsWithoutDetail, 'agent' | 'location' | 'project' | 'recipient' | 'transactionNumber' | 'typeOf'> & {
12
20
  object: factory.action.accept.pay.IPayObject;
13
21
  identifier?: string;
22
+ instrument: factory.action.accept.pay.IInstrument[];
14
23
  };
15
24
  export declare function creatPayTransactionStartParams(params: {
16
25
  accountId?: string;
@@ -26,14 +35,22 @@ export declare function creatPayTransactionStartParams(params: {
26
35
  confirmationNumber: string;
27
36
  orderNumber: string;
28
37
  };
29
- action: Pick<factory.action.authorize.invoice.IAction, 'id' | 'typeOf'>;
38
+ action: Pick<factory.action.authorize.paymentMethod.any.IAction, 'id' | 'typeOf'>;
39
+ /**
40
+ * 決済方法チケット
41
+ */
42
+ ticketToken?: string;
30
43
  }): factory.assetTransaction.pay.IStartParamsWithoutDetail & {
31
- instrument: factory.action.trade.pay.IInstrument[];
44
+ instrument: factory.action.trade.pay.IPlaceOrderRelatedInstrument[];
32
45
  };
33
46
  export declare function createMovieTicket(params: factory.action.trade.pay.IMovieTicket): factory.action.trade.pay.IMovieTicket;
34
47
  export declare function createAuthorizeResult(params: {
35
48
  object: factory.action.authorize.paymentMethod.any.IObjectIncludingPaymentMethodDetails;
36
49
  payTransaction: Pick<factory.assetTransaction.pay.ITransaction, 'object'>;
50
+ /**
51
+ * 決済方法チケットの承認対象
52
+ */
53
+ invoiceByTicketToken?: IInvoiceByTicketToken;
37
54
  }): factory.action.authorize.paymentMethod.any.IResult;
38
55
  /**
39
56
  * 通知対象としてのアクションを最適化
@@ -22,9 +22,14 @@ function creatPublishPaymentUrlParams(params) {
22
22
  const object = {
23
23
  typeOf: params.paymentServiceType,
24
24
  id: issuedThroughId,
25
- paymentMethod
25
+ paymentMethod,
26
+ serviceOutput: {
27
+ typeOf: 'Invoice',
28
+ referencesOrder: params.object.referencesOrder
29
+ }
26
30
  };
27
- return Object.assign(Object.assign({ project: { id: params.transaction.project.id, typeOf: factory.organizationType.Project }, typeOf: factory.assetTransactionType.Pay, transactionNumber: params.transactionNumber, agent: {
31
+ const ticketAsInstrument = (typeof params.ticketToken === 'string') ? { ticketToken: params.ticketToken, typeOf: 'Ticket' } : undefined;
32
+ return Object.assign(Object.assign(Object.assign({ project: { id: params.transaction.project.id, typeOf: factory.organizationType.Project }, typeOf: factory.assetTransactionType.Pay, transactionNumber: params.transactionNumber, agent: {
28
33
  typeOf: params.transaction.seller.typeOf,
29
34
  id: params.transaction.seller.id,
30
35
  name: (typeof params.transaction.seller.name === 'string')
@@ -38,12 +43,13 @@ function creatPublishPaymentUrlParams(params) {
38
43
  typeOf: params.transaction.seller.typeOf
39
44
  }, object }, (typeof ((_d = params.location) === null || _d === void 0 ? void 0 : _d.typeOf) === 'string')
40
45
  ? { location: params.location }
41
- : undefined), (typeof params.identifier === 'string')
46
+ : undefined), { instrument: (ticketAsInstrument !== undefined) ? [ticketAsInstrument] : [] }), (typeof params.identifier === 'string')
42
47
  ? { identifier: params.identifier }
43
48
  : undefined);
44
49
  }
45
50
  function creatPayTransactionStartParams(params) {
46
51
  var _a, _b, _c, _d;
52
+ const { ticketToken } = params;
47
53
  let expires = moment(params.transaction.expires)
48
54
  .add(1, 'month')
49
55
  .toDate(); // 余裕を持って
@@ -61,9 +67,11 @@ function creatPayTransactionStartParams(params) {
61
67
  ? params.accountId
62
68
  : (typeof params.object.accountId === 'string') ? params.object.accountId : undefined;
63
69
  const movieTickets = (Array.isArray(params.object.movieTickets)) ? params.object.movieTickets.map(createMovieTicket) : undefined;
70
+ const ticketAsInstrument = (typeof ticketToken === 'string') ? { ticketToken, typeOf: 'Ticket' } : undefined;
64
71
  const instrument = [
65
72
  { id: params.action.id, typeOf: params.action.typeOf },
66
- { orderNumber, typeOf: factory.order.OrderType.Order }
73
+ { orderNumber, typeOf: factory.order.OrderType.Order },
74
+ ...(ticketAsInstrument !== undefined) ? [ticketAsInstrument] : [] // add ticketAsInstrument(2025-11-25~)
67
75
  ];
68
76
  return Object.assign({ project: { id: params.transaction.project.id, typeOf: factory.organizationType.Project }, typeOf: factory.assetTransactionType.Pay, transactionNumber: params.transactionNumber, agent: {
69
77
  typeOf: params.transaction.seller.typeOf,
@@ -89,7 +97,11 @@ function creatPayTransactionStartParams(params) {
89
97
  }, object: {
90
98
  typeOf: params.paymentServiceType,
91
99
  id: issuedThroughId,
92
- paymentMethod: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ identifier: params.object.paymentMethod, amount: params.object.amount, additionalProperty: (Array.isArray(params.object.additionalProperty)) ? params.object.additionalProperty : [] }, (typeof params.object.method === 'string') ? { method: params.object.method } : undefined), (typeof params.object.name === 'string') ? { name: params.object.name } : undefined), (typeof accountId === 'string') ? { accountId } : undefined), (typeof params.object.description === 'string') ? { description: params.object.description } : undefined), (typeof params.object.fromLocation === 'string') ? { fromLocation: params.object.fromLocation } : undefined), (params.object.creditCard !== undefined) ? { creditCard: params.object.creditCard } : undefined), (Array.isArray(movieTickets)) ? { movieTickets } : undefined)
100
+ paymentMethod: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ identifier: params.object.paymentMethod, amount: params.object.amount, additionalProperty: (Array.isArray(params.object.additionalProperty)) ? params.object.additionalProperty : [] }, (typeof params.object.method === 'string') ? { method: params.object.method } : undefined), (typeof params.object.name === 'string') ? { name: params.object.name } : undefined), (typeof accountId === 'string') ? { accountId } : undefined), (typeof params.object.description === 'string') ? { description: params.object.description } : undefined), (typeof params.object.fromLocation === 'string') ? { fromLocation: params.object.fromLocation } : undefined), (params.object.creditCard !== undefined) ? { creditCard: params.object.creditCard } : undefined), (Array.isArray(movieTickets)) ? { movieTickets } : undefined),
101
+ serviceOutput: {
102
+ typeOf: 'Invoice',
103
+ referencesOrder: params.object.referencesOrder
104
+ }
93
105
  }, expires: expires, purpose: {
94
106
  typeOf: factory.order.OrderType.Order,
95
107
  confirmationNumber,
@@ -156,6 +168,13 @@ function createAuthorizeResult(params) {
156
168
  paymentStatus = factory.paymentStatusType.PaymentDue;
157
169
  }
158
170
  }
171
+ let invoiceOrderItems;
172
+ if (params.object.referencesOrder.typeOf === factory.order.OrderType.Order) {
173
+ if (Array.isArray(params.object.referencesOrder.orderedItem)) {
174
+ invoiceOrderItems = params.object.referencesOrder.orderedItem;
175
+ }
176
+ }
177
+ const referencesOrder = Object.assign({ typeOf: factory.order.OrderType.Order }, (Array.isArray(invoiceOrderItems) && invoiceOrderItems.length > 0) ? { orderedItem: invoiceOrderItems } : undefined);
159
178
  // Array対応(2023-09-02~)
160
179
  const resultAsInvoice = {
161
180
  accountId: (typeof ((_e = payTransactionObject.paymentMethod) === null || _e === void 0 ? void 0 : _e.accountId) === 'string')
@@ -174,7 +193,8 @@ function createAuthorizeResult(params) {
174
193
  : params.object.paymentMethod,
175
194
  totalPaymentDue: totalPaymentDue,
176
195
  additionalProperty: (Array.isArray(params.object.additionalProperty)) ? params.object.additionalProperty : [],
177
- typeOf: factory.action.authorize.paymentMethod.any.ResultType.Payment
196
+ typeOf: factory.action.authorize.paymentMethod.any.ResultType.Payment,
197
+ referencesOrder // add(2025-11-23~)
178
198
  };
179
199
  // tslint:disable-next-line:no-suspicious-comment
180
200
  // TODO 保留 resultにメンバーシップを追加(2024-08-13~)
@@ -21,5 +21,9 @@ declare function fixTransactionNumberOnPublishPaymentUrl(params: {
21
21
  paymentServiceType: factory.service.paymentService.PaymentServiceType;
22
22
  }): IFixTransactionNumberOperation<{
23
23
  transactionNumber: string;
24
+ /**
25
+ * 決済採用に使用される決済方法チケットトークン
26
+ */
27
+ ticketToken?: string;
24
28
  }>;
25
29
  export { fixTransactionNumberOnPublishPaymentUrl };
@@ -17,26 +17,30 @@ const verifyTicketTokenAsNeeded_1 = require("../verifyTicketTokenAsNeeded");
17
17
  */
18
18
  function fixTransactionNumberOnPublishPaymentUrl(params) {
19
19
  return (repos) => __awaiter(this, void 0, void 0, function* () {
20
+ var _a, _b, _c, _d;
20
21
  const { paymentServiceType, transaction, object } = params;
21
22
  // 取引番号生成
22
23
  let transactionNumber;
24
+ let ticketToken;
23
25
  // support ticketToken(2024-08-21~)
24
- const { permitOrInvoice } = yield (0, verifyTicketTokenAsNeeded_1.verifyTicketTokenAsNeeded)({
26
+ const { verifyPaymentMethodTicketResult } = yield (0, verifyTicketTokenAsNeeded_1.verifyTicketTokenAsNeeded)({
25
27
  project: { id: transaction.project.id },
26
28
  object,
27
29
  paymentServiceType,
28
30
  purpose: { id: transaction.id }
29
31
  })(repos);
30
- if ((permitOrInvoice === null || permitOrInvoice === void 0 ? void 0 : permitOrInvoice.typeOf) === factory.permit.PermitType.Permit) {
31
- const paymentMethodIdByPermit = permitOrInvoice === null || permitOrInvoice === void 0 ? void 0 : permitOrInvoice.identifier;
32
- if (typeof paymentMethodIdByPermit === 'string') {
33
- transactionNumber = paymentMethodIdByPermit;
34
- }
32
+ if (((_a = verifyPaymentMethodTicketResult === null || verifyPaymentMethodTicketResult === void 0 ? void 0 : verifyPaymentMethodTicketResult.invoiceByTicketToken) === null || _a === void 0 ? void 0 : _a.typeOf) === factory.permit.PermitType.Permit) {
33
+ throw new factory.errors.Argument('ticketToken', `typeOfGood.typeOf ${(_b = verifyPaymentMethodTicketResult === null || verifyPaymentMethodTicketResult === void 0 ? void 0 : verifyPaymentMethodTicketResult.invoiceByTicketToken) === null || _b === void 0 ? void 0 : _b.typeOf} discontinued`);
34
+ // const paymentMethodIdByPermit = permitOrInvoice?.identifier;
35
+ // if (typeof paymentMethodIdByPermit === 'string') {
36
+ // transactionNumber = paymentMethodIdByPermit;
37
+ // }
35
38
  }
36
- else if ((permitOrInvoice === null || permitOrInvoice === void 0 ? void 0 : permitOrInvoice.typeOf) === 'Invoice') {
39
+ else if (((_c = verifyPaymentMethodTicketResult === null || verifyPaymentMethodTicketResult === void 0 ? void 0 : verifyPaymentMethodTicketResult.invoiceByTicketToken) === null || _c === void 0 ? void 0 : _c.typeOf) === 'Invoice') {
37
40
  // support Invoice ticket(2025-11-09~)
38
- if (typeof (permitOrInvoice === null || permitOrInvoice === void 0 ? void 0 : permitOrInvoice.paymentMethodId) === 'string') {
39
- transactionNumber = permitOrInvoice.paymentMethodId;
41
+ if (typeof ((_d = verifyPaymentMethodTicketResult.invoiceByTicketToken) === null || _d === void 0 ? void 0 : _d.paymentMethodId) === 'string') {
42
+ transactionNumber = verifyPaymentMethodTicketResult.invoiceByTicketToken.paymentMethodId;
43
+ ticketToken = verifyPaymentMethodTicketResult.ticketToken;
40
44
  }
41
45
  }
42
46
  if (typeof transactionNumber !== 'string') {
@@ -44,8 +48,8 @@ function fixTransactionNumberOnPublishPaymentUrl(params) {
44
48
  transactionNumber = publishTransactionNumberResult.transactionNumber;
45
49
  }
46
50
  return {
47
- transactionNumber
48
- // ...(permitOrInvoice !== undefined) ? { permitOrInvoice } : undefined
51
+ transactionNumber,
52
+ ticketToken
49
53
  };
50
54
  });
51
55
  }
@@ -1,7 +1,7 @@
1
1
  import * as factory from '../../../factory';
2
2
  import type { AuthorizationRepo } from '../../../repo/authorization';
3
3
  import type { TicketRepo } from '../../../repo/ticket';
4
- type IPermitOrInvoice = Pick<factory.ownershipInfo.IPermitAsGood, 'identifier' | 'typeOf'> | Pick<factory.invoice.IInvoice, 'paymentMethodId' | 'typeOf'>;
4
+ import type { IInvoiceByTicketToken } from './factory';
5
5
  declare function verifyTicketTokenAsNeeded(params: {
6
6
  project: {
7
7
  id: string;
@@ -13,6 +13,9 @@ declare function verifyTicketTokenAsNeeded(params: {
13
13
  authorization: AuthorizationRepo;
14
14
  ticket: TicketRepo;
15
15
  }) => Promise<{
16
- permitOrInvoice?: IPermitOrInvoice;
16
+ verifyPaymentMethodTicketResult?: {
17
+ invoiceByTicketToken: IInvoiceByTicketToken;
18
+ ticketToken: string;
19
+ };
17
20
  }>;
18
- export { IPermitOrInvoice, verifyTicketTokenAsNeeded };
21
+ export { verifyTicketTokenAsNeeded };
@@ -18,14 +18,14 @@ function verifyTicketTokenAsNeeded(params) {
18
18
  var _a;
19
19
  const { paymentServiceType, object, project } = params;
20
20
  const { issuedThrough, ticketToken } = object;
21
- let permitOrInvoice;
21
+ let verifyPaymentMethodTicketResult;
22
22
  // メンバーシップチケットが指定された場合、メンバーシップコードへ変換する
23
23
  if (typeof ticketToken === 'string' && ticketToken !== '') {
24
24
  switch (paymentServiceType) {
25
25
  case factory.service.paymentService.PaymentServiceType.CreditCard:
26
26
  case factory.service.paymentService.PaymentServiceType.MovieTicket:
27
27
  case factory.service.paymentService.PaymentServiceType.FaceToFace:
28
- const ticket = (yield repos.ticket.projectFields({
28
+ const ticket = (yield repos.ticket.findTickets({
29
29
  limit: 1,
30
30
  page: 1,
31
31
  project: { id: { $eq: project.id } },
@@ -47,26 +47,9 @@ function verifyTicketTokenAsNeeded(params) {
47
47
  }
48
48
  if (authorizedObject.typeOf === 'OwnershipInfo') {
49
49
  const { typeOfGood } = authorizedObject;
50
- if (typeOfGood.typeOf === factory.permit.PermitType.Permit || typeOfGood.typeOf === 'Invoice') {
50
+ if (typeOfGood.typeOf === factory.permit.PermitType.Permit) {
51
51
  // discontinue(2025-11-14~)
52
52
  throw new factory.errors.Argument('ticketToken', `typeOfGood.typeOf ${typeOfGood.typeOf} discontinued`);
53
- // if (typeOfGood.issuedThrough?.typeOf !== paymentServiceType) {
54
- // throw new factory.errors.Argument('ticketToken', 'paymentServiceType not matched');
55
- // }
56
- // // FaceToFace以外の場合、発行サービスIDを検証
57
- // if (typeOfGood.issuedThrough.typeOf !== factory.service.paymentService.PaymentServiceType.FaceToFace) {
58
- // if (typeOfGood.issuedThrough.id !== issuedThrough.id) {
59
- // throw new factory.errors.Argument('ticketToken', 'issuedThrough.id not matched');
60
- // }
61
- // }
62
- // if (typeOfGood.typeOf === factory.permit.PermitType.Permit) {
63
- // permitOrInvoice = { identifier: typeOfGood.identifier, typeOf: factory.permit.PermitType.Permit };
64
- // } else if (typeOfGood.typeOf === 'Invoice') {
65
- // // support paymentServiceType.MovieTicket(2024-11-23~)
66
- // permitOrInvoice = { paymentMethodId: typeOfGood.paymentMethodId, typeOf: 'Invoice' };
67
- // } else {
68
- // throw new factory.errors.Argument('ticketToken', 'must be Permit or Invoice');
69
- // }
70
53
  }
71
54
  else if (typeOfGood.typeOf === factory.service.paymentService.PaymentServiceType.CreditCard
72
55
  || typeOfGood.typeOf === factory.service.paymentService.PaymentServiceType.MovieTicket
@@ -81,7 +64,10 @@ function verifyTicketTokenAsNeeded(params) {
81
64
  throw new factory.errors.Argument('ticketToken', 'issuedThrough.id not matched');
82
65
  }
83
66
  }
84
- permitOrInvoice = { paymentMethodId: typeOfGood.serviceOutput.paymentMethodId, typeOf: 'Invoice' };
67
+ verifyPaymentMethodTicketResult = {
68
+ invoiceByTicketToken: { paymentMethodId: typeOfGood.serviceOutput.paymentMethodId, typeOf: 'Invoice' },
69
+ ticketToken
70
+ };
85
71
  }
86
72
  else {
87
73
  throw new factory.errors.Argument('ticketToken', `invalid typeOfGood.typeOf ${typeOfGood.typeOf}`);
@@ -96,6 +82,6 @@ function verifyTicketTokenAsNeeded(params) {
96
82
  throw new factory.errors.NotImplemented(`ticketToken issued through ${paymentServiceType} not implemented`);
97
83
  }
98
84
  }
99
- return { permitOrInvoice };
85
+ return { verifyPaymentMethodTicketResult };
100
86
  });
101
87
  }
@@ -7,6 +7,7 @@ import type { AuthorizationRepo } from '../../repo/authorization';
7
7
  import type { ConfirmationNumberRepo } from '../../repo/confirmationNumber';
8
8
  import type { CredentialsRepo } from '../../repo/credentials';
9
9
  import type { EventRepo } from '../../repo/event';
10
+ import type { EventSeriesRepo } from '../../repo/eventSeries';
10
11
  import type { OrderNumberRepo } from '../../repo/orderNumber';
11
12
  import type { PaymentServiceRepo } from '../../repo/paymentService';
12
13
  import type { PaymentServiceProviderRepo } from '../../repo/paymentServiceProvider';
@@ -85,6 +86,7 @@ interface IAuthorizeRepos {
85
86
  confirmationNumber: ConfirmationNumberRepo;
86
87
  credentials: CredentialsRepo;
87
88
  event: EventRepo;
89
+ eventSeries: EventSeriesRepo;
88
90
  orderNumber: OrderNumberRepo;
89
91
  paymentAccepted: SellerPaymentAcceptedRepo;
90
92
  paymentService: PaymentServiceRepo;
@@ -102,6 +104,8 @@ interface IPublishPaymentUrlRepos {
102
104
  action: ActionRepo;
103
105
  assetTransaction: AssetTransactionRepo;
104
106
  authorization: AuthorizationRepo;
107
+ event: EventRepo;
108
+ eventSeries: EventSeriesRepo;
105
109
  orderNumber: OrderNumberRepo;
106
110
  paymentAccepted: SellerPaymentAcceptedRepo;
107
111
  paymentService: PaymentServiceRepo;
@@ -125,7 +129,7 @@ declare function publishPaymentUrl(params: {
125
129
  agent: {
126
130
  id: string;
127
131
  };
128
- object: Pick<IObjectWithoutDetail, 'amount' | 'creditCard' | 'issuedThrough' | 'method' | 'paymentMethod'>;
132
+ object: Pick<IObjectWithoutDetail, 'amount' | 'creditCard' | 'issuedThrough' | 'method' | 'paymentMethod' | 'referencesOrder'>;
129
133
  purpose: factory.action.authorize.paymentMethod.any.IPurpose;
130
134
  paymentServiceType: factory.service.paymentService.PaymentServiceType;
131
135
  location: factory.action.trade.pay.ILocation;
@@ -323,7 +323,7 @@ function processVoidPayTransaction(params) {
323
323
  function publishPaymentUrl(params) {
324
324
  // tslint:disable-next-line:max-func-body-length
325
325
  return (repos, settings) => __awaiter(this, void 0, void 0, function* () {
326
- var _a;
326
+ var _a, _b;
327
327
  const { paymentServiceType, purpose, project } = params;
328
328
  if (purpose.typeOf !== factory.transactionType.PlaceOrder) {
329
329
  throw new factory.errors.NotImplemented(`purpose.typeOf '${purpose.typeOf} not implemented'`);
@@ -340,7 +340,7 @@ function publishPaymentUrl(params) {
340
340
  object: { orderDate: new Date() }
341
341
  })(repos);
342
342
  // 取引番号生成
343
- const { transactionNumber } = yield (0, fixTransactionNumberOnPublishPaymentUrl_1.fixTransactionNumberOnPublishPaymentUrl)({
343
+ const { transactionNumber, ticketToken } = yield (0, fixTransactionNumberOnPublishPaymentUrl_1.fixTransactionNumberOnPublishPaymentUrl)({
344
344
  object: params.object,
345
345
  transaction,
346
346
  paymentServiceType
@@ -361,9 +361,13 @@ function publishPaymentUrl(params) {
361
361
  // }
362
362
  let result;
363
363
  // URL発行
364
- const authorizeObject = Object.assign(Object.assign({}, params.object), { accountId: '', paymentMethodId: transactionNumber, typeOf: factory.action.authorize.paymentMethod.any.ResultType.Payment });
365
- const startParams = (0, factory_1.creatPublishPaymentUrlParams)(Object.assign({ object: authorizeObject, paymentServiceType, transaction: transaction, transactionNumber: transactionNumber, location: params.location }, (typeof params.identifier === 'string') ? { identifier: params.identifier } : undefined));
366
- const taskId = (_a = params.sameAs) === null || _a === void 0 ? void 0 : _a.id;
364
+ const authorizeObject = Object.assign(Object.assign({}, params.object), { accountId: '', paymentMethodId: transactionNumber, typeOf: factory.action.authorize.paymentMethod.any.ResultType.Payment,
365
+ // support referencesOrder(2025-11-24~)
366
+ referencesOrder: (((_a = params.object.referencesOrder) === null || _a === void 0 ? void 0 : _a.typeOf) === factory.order.OrderType.Order)
367
+ ? params.object.referencesOrder
368
+ : { typeOf: factory.order.OrderType.Order } });
369
+ const startParams = (0, factory_1.creatPublishPaymentUrlParams)(Object.assign(Object.assign({ object: authorizeObject, paymentServiceType, transaction: transaction, transactionNumber: transactionNumber, location: params.location }, (typeof params.identifier === 'string') ? { identifier: params.identifier } : undefined), (typeof ticketToken === 'string') ? { ticketToken } : undefined));
370
+ const taskId = (_b = params.sameAs) === null || _b === void 0 ? void 0 : _b.id;
367
371
  result = yield PayTransactionService.publishPaymentUrl(startParams, {
368
372
  purposeAsTransaction: { id: transaction.id },
369
373
  executor: (typeof taskId === 'string') ? { id: taskId } : {} // タスク関連付け(2024-05-22~)
@@ -416,7 +420,7 @@ function minimizeObjectIncludingPaymentMethodDetails(authorizeObjectIncludingPay
416
420
  function authorize(params) {
417
421
  // tslint:disable-next-line:cyclomatic-complexity max-func-body-length
418
422
  return (repos, settings) => __awaiter(this, void 0, void 0, function* () {
419
- var _a, _b;
423
+ var _a, _b, _c;
420
424
  const { paymentServiceType, purpose, project } = params;
421
425
  if (purpose.typeOf !== factory.transactionType.PlaceOrder) {
422
426
  throw new factory.errors.NotImplemented(`purpose.typeOf '${purpose.typeOf} not implemented'`);
@@ -439,7 +443,7 @@ function authorize(params) {
439
443
  if (typeof fixTransactionNumberResult.id === 'string') {
440
444
  return { id: fixTransactionNumberResult.id };
441
445
  }
442
- const { transactionNumber, pendingPaymentAgencyTransaction, creditCard } = fixTransactionNumberResult;
446
+ const { transactionNumber, pendingPaymentAgencyTransaction, creditCard, invoiceByTicketToken, ticketToken } = fixTransactionNumberResult;
443
447
  // let transactionNumber: string | undefined;
444
448
  // let pendingPaymentAgencyTransaction: PayTransactionService.IPaymentAgencyTransaction | undefined;
445
449
  // let creditCard: factory.action.authorize.paymentMethod.any.ICreditCard | undefined = params.object.creditCard;
@@ -497,10 +501,14 @@ function authorize(params) {
497
501
  const { accountId } = yield fixAccountIdIfPossible({
498
502
  object: params.object, project: { id: transaction.project.id }
499
503
  })();
500
- const authorizeObjectIncludingPaymentMethodDetails = Object.assign(Object.assign(Object.assign(Object.assign({}, params.object), { accountId, paymentMethodId: transactionNumber, typeOf: factory.action.authorize.paymentMethod.any.ResultType.Payment }), (creditCard !== undefined) ? { creditCard } : undefined), (Array.isArray(movieTickets)) ? { movieTickets } : undefined);
504
+ const authorizeObjectIncludingPaymentMethodDetails = Object.assign(Object.assign(Object.assign(Object.assign({}, params.object), { accountId, paymentMethodId: transactionNumber, typeOf: factory.action.authorize.paymentMethod.any.ResultType.Payment,
505
+ // support referencesOrder(2025-11-24~)
506
+ referencesOrder: (((_a = params.object.referencesOrder) === null || _a === void 0 ? void 0 : _a.typeOf) === factory.order.OrderType.Order)
507
+ ? params.object.referencesOrder
508
+ : { typeOf: factory.order.OrderType.Order } }), (creditCard !== undefined) ? { creditCard } : undefined), (Array.isArray(movieTickets)) ? { movieTickets } : undefined);
501
509
  const { authorizeObject } = minimizeObjectIncludingPaymentMethodDetails(authorizeObjectIncludingPaymentMethodDetails);
502
510
  // 承認アクションを開始する
503
- const taskId = (_a = params.sameAs) === null || _a === void 0 ? void 0 : _a.id;
511
+ const taskId = (_b = params.sameAs) === null || _b === void 0 ? void 0 : _b.id;
504
512
  const uniqueActionIdentifier = util.format(`%s:%s:%s`, factory.actionType.AuthorizeAction, factory.action.authorize.paymentMethod.any.ResultType.Payment, authorizeObject.paymentMethodId);
505
513
  const actionAttributes = Object.assign({ project: transaction.project, typeOf: factory.actionType.AuthorizeAction, object: authorizeObject, agent: {
506
514
  typeOf: transaction.agent.typeOf,
@@ -514,7 +522,7 @@ function authorize(params) {
514
522
  id: transaction.seller.id,
515
523
  name: (typeof transaction.seller.name === 'string')
516
524
  ? transaction.seller.name
517
- : String((_b = transaction.seller.name) === null || _b === void 0 ? void 0 : _b.ja)
525
+ : String((_c = transaction.seller.name) === null || _c === void 0 ? void 0 : _c.ja)
518
526
  }, purpose: { typeOf: transaction.typeOf, id: transaction.id }, identifier: uniqueActionIdentifier }, (typeof taskId === 'string') ? { sameAs: { id: taskId, typeOf: 'Task' } } : undefined // タスク関連付け(2024-04-22~)
519
527
  );
520
528
  const action = yield repos.action.start(actionAttributes);
@@ -530,7 +538,8 @@ function authorize(params) {
530
538
  // confirmationNumber required(2025-02-12~)
531
539
  // orderNumber required(2025-02-14~)
532
540
  order: { confirmationNumber, orderNumber },
533
- action: { id: action.id, typeOf: action.typeOf }
541
+ action: { id: action.id, typeOf: action.typeOf },
542
+ ticketToken
534
543
  });
535
544
  payTransaction = yield PayTransactionService.start(startParams, Object.assign({
536
545
  // useCheckByIdentifierIfNotYet: params.options.useCheckByIdentifierIfNotYet,
@@ -570,8 +579,8 @@ function authorize(params) {
570
579
  }
571
580
  const result = (0, factory_1.createAuthorizeResult)({
572
581
  payTransaction,
573
- object: authorizeObjectIncludingPaymentMethodDetails
574
- // ...(permitOrInvoice?.typeOf === factory.permit.PermitType.Permit) ? { permit: permitOrInvoice } : undefined
582
+ object: authorizeObjectIncludingPaymentMethodDetails,
583
+ invoiceByTicketToken
575
584
  });
576
585
  yield repos.action.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: result });
577
586
  return { id: action.id };
@@ -15,11 +15,6 @@ function createPayOrderAction(params) {
15
15
  confirmationNumber: params.order.confirmationNumber,
16
16
  orderNumber: params.order.orderNumber
17
17
  };
18
- // const instrument: factory.action.trade.pay.IInstrument = {
19
- // id: params.transaction.id,
20
- // transactionNumber: params.transaction.transactionNumber,
21
- // typeOf: params.transaction.typeOf
22
- // };
23
18
  const instrument = [
24
19
  {
25
20
  id: params.transaction.id,
@@ -48,11 +48,6 @@ function authorize(params, transaction, paymentServiceId, options) {
48
48
  }, typeOf: paymentMethodType }, (typeof accountId === 'string') ? { accountId } : undefined),
49
49
  movieTickets: paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.movieTickets
50
50
  };
51
- // const instrument: factory.action.trade.pay.IInstrument = {
52
- // id: transaction.id,
53
- // transactionNumber: transaction.transactionNumber,
54
- // typeOf: transaction.typeOf
55
- // };
56
51
  const instrument = [
57
52
  {
58
53
  id: transaction.id,
@@ -18,6 +18,7 @@ const authorization_1 = require("../../repo/authorization");
18
18
  const confirmationNumber_1 = require("../../repo/confirmationNumber");
19
19
  const credentials_1 = require("../../repo/credentials");
20
20
  const event_1 = require("../../repo/event");
21
+ const eventSeries_1 = require("../../repo/eventSeries");
21
22
  const orderNumber_1 = require("../../repo/orderNumber");
22
23
  const paymentService_1 = require("../../repo/paymentService");
23
24
  const paymentServiceProvider_1 = require("../../repo/paymentServiceProvider");
@@ -63,6 +64,7 @@ function call(params) {
63
64
  expireInSeconds: (useCredentialsRepo) ? credentialsExpireInSeconds : 0
64
65
  }),
65
66
  event: new event_1.EventRepo(connection),
67
+ eventSeries: new eventSeries_1.EventSeriesRepo(connection),
66
68
  orderNumber: new orderNumber_1.OrderNumberRepo({ connection }),
67
69
  paymentAccepted: new sellerPaymentAccepted_1.SellerPaymentAcceptedRepo(connection),
68
70
  paymentService: new paymentService_1.PaymentServiceRepo(connection),
@@ -14,6 +14,8 @@ const factory = require("../../factory");
14
14
  const action_1 = require("../../repo/action");
15
15
  const assetTransaction_1 = require("../../repo/assetTransaction");
16
16
  const authorization_1 = require("../../repo/authorization");
17
+ const event_1 = require("../../repo/event");
18
+ const eventSeries_1 = require("../../repo/eventSeries");
17
19
  const orderNumber_1 = require("../../repo/orderNumber");
18
20
  const paymentService_1 = require("../../repo/paymentService");
19
21
  const paymentServiceProvider_1 = require("../../repo/paymentServiceProvider");
@@ -43,6 +45,8 @@ function call(params) {
43
45
  action: actionRepo,
44
46
  assetTransaction: new assetTransaction_1.AssetTransactionRepo(connection),
45
47
  authorization: new authorization_1.AuthorizationRepo(connection),
48
+ event: new event_1.EventRepo(connection),
49
+ eventSeries: new eventSeries_1.EventSeriesRepo(connection),
46
50
  orderNumber: new orderNumber_1.OrderNumberRepo({ connection }),
47
51
  paymentAccepted: new sellerPaymentAccepted_1.SellerPaymentAcceptedRepo(connection),
48
52
  paymentService: new paymentService_1.PaymentServiceRepo(connection),