@chevre/domain 21.8.0-alpha.9 → 21.9.0-alpha.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 (132) hide show
  1. package/example/src/chevre/countOffers.ts +32 -0
  2. package/example/src/chevre/findItemListElementByCatalogId.ts +30 -0
  3. package/example/src/chevre/importOffersFromCOA.ts +7 -1
  4. package/example/src/chevre/migrateOrderPaymentMethodIdentifier.ts +81 -0
  5. package/example/src/chevre/migratePayTransactionPaymentMethodId.ts +72 -0
  6. package/example/src/chevre/migratePayTransactionPaymentMethodIdentifier.ts +78 -0
  7. package/example/src/chevre/optimizeCatalogs.ts +54 -0
  8. package/example/src/chevre/processPay.ts +3 -4
  9. package/example/src/chevre/publishPermitOwnershipInfoToken.ts +56 -0
  10. package/example/src/chevre/pullAddOnsFromOffer.ts +26 -0
  11. package/example/src/chevre/pushIncludedInDataCatalog.ts +47 -0
  12. package/example/src/chevre/searchAggregateOffers.ts +48 -0
  13. package/example/src/chevre/searchAvaialbleAppliesToMovieTicketByOfferCatalogId.ts +26 -0
  14. package/example/src/chevre/searchEventTicketOffers.ts +5 -1
  15. package/example/src/chevre/searchEvents.ts +9 -7
  16. package/example/src/chevre/searchOfferCatalogs.ts +7 -3
  17. package/example/src/chevre/searchOffers.ts +5 -2
  18. package/example/src/chevre/searchOffersByCatalog.ts +15 -9
  19. package/example/src/chevre/searchOffersFromAggregateOffer.ts +168 -0
  20. package/example/src/chevre/searchOrders.ts +9 -7
  21. package/example/src/chevre/syncCatalogs2aggregateOffers.ts +85 -0
  22. package/lib/chevre/emailMessageBuilder.js +6 -5
  23. package/lib/chevre/repo/aggregateOffer.d.ts +62 -0
  24. package/lib/chevre/repo/aggregateOffer.js +562 -0
  25. package/lib/chevre/repo/assetTransaction.d.ts +16 -1
  26. package/lib/chevre/repo/assetTransaction.js +54 -2
  27. package/lib/chevre/repo/mongoose/schemas/aggregateOffer.d.ts +74 -0
  28. package/lib/chevre/repo/mongoose/schemas/aggregateOffer.js +189 -0
  29. package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +3 -3
  30. package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +3 -3
  31. package/lib/chevre/repo/mongoose/schemas/event.d.ts +3 -3
  32. package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +3 -0
  33. package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +10 -1
  34. package/lib/chevre/repo/mongoose/schemas/order.d.ts +3 -0
  35. package/lib/chevre/repo/mongoose/schemas/order.js +7 -0
  36. package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +9 -9
  37. package/lib/chevre/repo/mongoose/schemas/product.d.ts +3 -3
  38. package/lib/chevre/repo/mongoose/schemas/project.d.ts +3 -3
  39. package/lib/chevre/repo/mongoose/schemas/task.d.ts +3 -0
  40. package/lib/chevre/repo/mongoose/schemas/task.js +8 -0
  41. package/lib/chevre/repo/offer.d.ts +106 -51
  42. package/lib/chevre/repo/offer.js +555 -283
  43. package/lib/chevre/repo/offerCatalog.d.ts +32 -3
  44. package/lib/chevre/repo/offerCatalog.js +97 -10
  45. package/lib/chevre/repo/order.d.ts +15 -0
  46. package/lib/chevre/repo/order.js +58 -26
  47. package/lib/chevre/repo/task.d.ts +6 -2
  48. package/lib/chevre/repo/task.js +58 -4
  49. package/lib/chevre/repository.d.ts +3 -0
  50. package/lib/chevre/repository.js +5 -1
  51. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +3 -41
  52. package/lib/chevre/service/aggregation/event/aggregateUseActionsOnEvent.d.ts +2 -0
  53. package/lib/chevre/service/aggregation/event/aggregateUseActionsOnEvent.js +2 -40
  54. package/lib/chevre/service/aggregation/event/findEventOffers.d.ts +16 -0
  55. package/lib/chevre/service/aggregation/event/findEventOffers.js +58 -0
  56. package/lib/chevre/service/assetTransaction/pay/account/validation.js +2 -2
  57. package/lib/chevre/service/assetTransaction/pay/factory.js +26 -18
  58. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +3 -3
  59. package/lib/chevre/service/assetTransaction/pay.js +65 -46
  60. package/lib/chevre/service/assetTransaction/refund/factory.js +8 -2
  61. package/lib/chevre/service/assetTransaction/registerService.js +2 -1
  62. package/lib/chevre/service/assetTransaction/reserve.js +111 -35
  63. package/lib/chevre/service/offer/event/authorize.js +39 -35
  64. package/lib/chevre/service/offer/event/factory.d.ts +1 -1
  65. package/lib/chevre/service/offer/event/factory.js +8 -8
  66. package/lib/chevre/service/offer/event/importFromCOA.d.ts +2 -0
  67. package/lib/chevre/service/offer/event/searchEventTicketOffers.d.ts +3 -0
  68. package/lib/chevre/service/offer/event/searchEventTicketOffers.js +48 -17
  69. package/lib/chevre/service/offer/event/voidTransaction.js +57 -36
  70. package/lib/chevre/service/offer/eventServiceByCOA/factory.d.ts +2 -1
  71. package/lib/chevre/service/offer/eventServiceByCOA/factory.js +7 -11
  72. package/lib/chevre/service/offer/eventServiceByCOA.js +55 -27
  73. package/lib/chevre/service/offer/factory.d.ts +12 -4
  74. package/lib/chevre/service/offer/factory.js +9 -11
  75. package/lib/chevre/service/offer/product/searchProductOffers.d.ts +10 -1
  76. package/lib/chevre/service/offer/product/searchProductOffers.js +51 -12
  77. package/lib/chevre/service/offer/product.d.ts +2 -0
  78. package/lib/chevre/service/offer/product.js +3 -2
  79. package/lib/chevre/service/offer.d.ts +1 -0
  80. package/lib/chevre/service/offer.js +7 -1
  81. package/lib/chevre/service/order/confirmPayTransaction.d.ts +0 -2
  82. package/lib/chevre/service/order/confirmPayTransaction.js +20 -46
  83. package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +27 -0
  84. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +226 -0
  85. package/lib/chevre/service/order/onOrderStatusChanged/factory.d.ts +8 -6
  86. package/lib/chevre/service/order/onOrderStatusChanged/factory.js +80 -57
  87. package/lib/chevre/service/order/onOrderStatusChanged.js +49 -9
  88. package/lib/chevre/service/order/payOrder.js +4 -45
  89. package/lib/chevre/service/order/placeOrder.js +11 -24
  90. package/lib/chevre/service/order.d.ts +3 -1
  91. package/lib/chevre/service/order.js +6 -2
  92. package/lib/chevre/service/payment/any/factory.js +33 -8
  93. package/lib/chevre/service/payment/any.js +30 -21
  94. package/lib/chevre/service/payment/creditCard.js +12 -12
  95. package/lib/chevre/service/payment/movieTicket/validation.js +2 -2
  96. package/lib/chevre/service/payment/movieTicket.js +10 -11
  97. package/lib/chevre/service/payment/paymentCard.js +9 -12
  98. package/lib/chevre/service/project.js +1 -1
  99. package/lib/chevre/service/reserve/checkInReservation.d.ts +8 -0
  100. package/lib/chevre/service/reserve/checkInReservation.js +3 -2
  101. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.d.ts +3 -0
  102. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +4 -5
  103. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.d.ts +8 -0
  104. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +16 -11
  105. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +2 -1
  106. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.d.ts +3 -0
  107. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +3 -5
  108. package/lib/chevre/service/task/aggregateUseActionsOnEvent.js +2 -0
  109. package/lib/chevre/service/task/confirmPayTransaction.js +1 -3
  110. package/lib/chevre/service/task/importOffersFromCOA.js +3 -0
  111. package/lib/chevre/service/task/onAssetTransactionStatusChanged.d.ts +6 -0
  112. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +37 -0
  113. package/lib/chevre/service/task/onAuthorizationCreated.js +5 -1
  114. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.d.ts +2 -0
  115. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.js +7 -0
  116. package/lib/chevre/service/task/onResourceUpdated/syncOfferCatalog.d.ts +17 -0
  117. package/lib/chevre/service/task/onResourceUpdated/syncOfferCatalog.js +78 -0
  118. package/lib/chevre/service/task/onResourceUpdated.js +12 -0
  119. package/lib/chevre/service/task/returnPayTransaction.js +8 -3
  120. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +32 -16
  121. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.js +13 -11
  122. package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +53 -17
  123. package/lib/chevre/service/transaction/placeOrderInProgress.js +4 -1
  124. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +7 -6
  125. package/lib/chevre/service/transaction/returnOrder.js +5 -1
  126. package/lib/chevre/settings.d.ts +3 -3
  127. package/lib/chevre/settings.js +4 -12
  128. package/package.json +3 -3
  129. package/example/src/chevre/migrateAuthorizePaymentActionResult.ts +0 -83
  130. package/example/src/chevre/migrateEventOrganizer.ts +0 -154
  131. package/lib/chevre/repo/mongoose/schemas/offer.d.ts +0 -149
  132. package/lib/chevre/repo/mongoose/schemas/offer.js +0 -210
@@ -90,22 +90,23 @@ function onOrderStatusChanged(params) {
90
90
  tasks = [
91
91
  // 注文作成時のみトークン付加
92
92
  ...(0, factory_1.createInformTasks)(orderWithToken),
93
- ...yield createConfirmPayTransactionTasks(params.order, simpleOrder)(repos),
93
+ // 決済取引確定タスク作成はOrderPaymentDueへ完全移行(2023-08-26~)
94
+ // ...await createConfirmPayTransactionTasks(params.order, simpleOrder)(repos),
94
95
  // createConfirmReserveTransactionTasksIfNotExistへ移行(2023-08-25~)
95
96
  // ...await createConfirmReserveTransactionTasks(params.order, simpleOrder)(repos),
96
- ...yield createConfirmRegisterServiceTransactionTasks(params.order, simpleOrder)(repos),
97
+ ...yield createConfirmRegisterServiceTransactionTasks(params.order, simpleOrder)(repos)
97
98
  // 取引のpotentialActionsを適用(2023-08-17~)
98
- ...(0, factory_1.createOnPlaceOrderTasksByTransaction)({
99
- object: params.order,
100
- // potentialActions: params.potentialActions
101
- potentialActions: (_h = (_g = (_f = params.placeOrderTransaction) === null || _f === void 0 ? void 0 : _f.potentialActions) === null || _g === void 0 ? void 0 : _g.order) === null || _h === void 0 ? void 0 : _h.potentialActions
102
- })
99
+ // createGivePointAwardTaskIfNotExistへ移行(2023-09-01~)
100
+ // ...createOnPlaceOrderTasksByTransaction({
101
+ // object: params.order,
102
+ // potentialActions: params.placeOrderTransaction?.potentialActions?.order?.potentialActions
103
+ // })
103
104
  ];
104
105
  break;
105
106
  case factory.orderStatus.OrderReturned:
106
- const potentialActionsByTransaction = (_m = (_l = (_k = (_j = params.returnOrderTransaction) === null || _j === void 0 ? void 0 : _j.potentialActions) === null || _k === void 0 ? void 0 : _k.returnOrder) === null || _l === void 0 ? void 0 : _l.find((returnOrderActionByTransaction) => {
107
+ const potentialActionsByTransaction = (_j = (_h = (_g = (_f = params.returnOrderTransaction) === null || _f === void 0 ? void 0 : _f.potentialActions) === null || _g === void 0 ? void 0 : _g.returnOrder) === null || _h === void 0 ? void 0 : _h.find((returnOrderActionByTransaction) => {
107
108
  return returnOrderActionByTransaction.object.orderNumber === params.order.orderNumber;
108
- })) === null || _m === void 0 ? void 0 : _m.potentialActions;
109
+ })) === null || _j === void 0 ? void 0 : _j.potentialActions;
109
110
  tasks = [
110
111
  ...(0, factory_1.createInformTasks)(params.order),
111
112
  ...createReturnReserveTransactionTasks(params.order, simpleOrder),
@@ -115,6 +116,13 @@ function onOrderStatusChanged(params) {
115
116
  ...(0, factory_1.createOnOrderReturnedTasksByTransaction)({ potentialActions: potentialActionsByTransaction })
116
117
  ];
117
118
  break;
119
+ // OrderCancelled追加(2023-08-30~)
120
+ case factory.orderStatus.OrderCancelled:
121
+ // 注文取引中止時と同様の処理か
122
+ tasks = [
123
+ ...(0, factory_1.createOnOrderCancelledTasksByTransaction)({ transaction: params.placeOrderTransaction })
124
+ ];
125
+ break;
118
126
  default:
119
127
  }
120
128
  yield repos.task.saveMany(tasks, { emitImmediately: true });
@@ -125,6 +133,9 @@ function onOrderStatusChanged(params) {
125
133
  // 冗長なsendOrderタスク作成を回避(2023-08-25~)
126
134
  yield createSendOrderTransactionTaskIfNotExist({
127
135
  object: params.order,
136
+ potentialActions: (_m = (_l = (_k = params.placeOrderTransaction) === null || _k === void 0 ? void 0 : _k.potentialActions) === null || _l === void 0 ? void 0 : _l.order) === null || _m === void 0 ? void 0 : _m.potentialActions
137
+ })(repos);
138
+ yield createGivePointAwardTaskIfNotExist({
128
139
  potentialActions: (_q = (_p = (_o = params.placeOrderTransaction) === null || _o === void 0 ? void 0 : _o.potentialActions) === null || _p === void 0 ? void 0 : _p.order) === null || _q === void 0 ? void 0 : _q.potentialActions
129
140
  })(repos);
130
141
  break;
@@ -301,6 +312,35 @@ function createSendOrderTransactionTaskIfNotExist(params) {
301
312
  }
302
313
  });
303
314
  }
315
+ function createGivePointAwardTaskIfNotExist(params) {
316
+ return (repos) => __awaiter(this, void 0, void 0, function* () {
317
+ var _a;
318
+ const now = new Date();
319
+ const givePointAwardsByTransaction = (_a = params.potentialActions) === null || _a === void 0 ? void 0 : _a.givePointAward;
320
+ if (Array.isArray(givePointAwardsByTransaction)) {
321
+ for (const givePointAwardByTransaction of givePointAwardsByTransaction) {
322
+ let taskIdentifier = `${givePointAwardByTransaction.project.id}:${factory.taskName.GivePointAward}:${Date.now()}`;
323
+ if (typeof givePointAwardByTransaction.object.identifier === 'string'
324
+ && givePointAwardByTransaction.object.identifier.length > 0) {
325
+ taskIdentifier = `${givePointAwardByTransaction.project.id}:${factory.taskName.GivePointAward}:${givePointAwardByTransaction.object.identifier}`;
326
+ }
327
+ const givePointAwardTask = {
328
+ identifier: taskIdentifier,
329
+ project: givePointAwardByTransaction.project,
330
+ name: factory.taskName.GivePointAward,
331
+ status: factory.taskStatus.Ready,
332
+ runsAt: now,
333
+ remainingNumberOfTries: 10,
334
+ numberOfTried: 0,
335
+ executionResults: [],
336
+ data: givePointAwardByTransaction
337
+ };
338
+ // 冗長なgivePointAwardタスク作成を回避(2023-09-01~)
339
+ yield repos.task.createIfNotExistByIdentifier(givePointAwardTask, { emitImmediately: true });
340
+ }
341
+ }
342
+ });
343
+ }
304
344
  // const RETURN_COA_TASK_DELAY_IN_SECONDS = 0;
305
345
  function createReturnReserveTransactionTasks(order, simpleOrder) {
306
346
  var _a, _b;
@@ -10,8 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.payOrder = void 0;
13
- const findPlaceOrderTransaction_1 = require("./findPlaceOrderTransaction");
14
- const onOrderStatusChanged_1 = require("./onOrderStatusChanged");
13
+ const onAssetTransactionStatusChanged_1 = require("./onAssetTransactionStatusChanged");
15
14
  const factory = require("../../factory");
16
15
  /**
17
16
  * 注文を決済する
@@ -23,52 +22,12 @@ function payOrder(params) {
23
22
  }
24
23
  const orderNumber = params.object.orderNumber;
25
24
  const confirmationNumber = params.object.confirmationNumber;
26
- const placeOrderTransaction = yield (0, findPlaceOrderTransaction_1.findPlaceOrderTransaction)({
25
+ yield (0, onAssetTransactionStatusChanged_1.paymentDue2Processing)({
27
26
  project: { id: params.project.id },
28
27
  confirmationNumber,
29
- orderNumber
30
- })({ transaction: repos.transaction });
31
- let order = yield repos.order.findByOrderNumber({
32
28
  orderNumber,
33
- project: { id: params.project.id },
34
- inclusion: [],
35
- exclusion: []
36
- });
37
- try {
38
- order = yield repos.order.changeStatus({
39
- project: { id: order.project.id },
40
- orderNumber,
41
- orderStatus: factory.orderStatus.OrderProcessing,
42
- previousOrderStatus: factory.orderStatus.OrderPaymentDue
43
- });
44
- }
45
- catch (error) {
46
- let throwsError = true;
47
- // すでにステータスが煤でいた場合、OrderPaymentDue->OrderProcessingの処理自体は成功しているので、後処理を続行する
48
- order = yield repos.order.findByOrderNumber({
49
- orderNumber: params.object.orderNumber,
50
- project: { id: params.project.id },
51
- inclusion: [],
52
- exclusion: []
53
- });
54
- if (order.orderStatus === factory.orderStatus.OrderDelivered
55
- || order.orderStatus === factory.orderStatus.OrderReturned) {
56
- throwsError = false;
57
- }
58
- if (throwsError) {
59
- throw error;
60
- }
61
- }
62
- if (params.useOnOrderStatusChanged) {
63
- yield (0, onOrderStatusChanged_1.onOrderStatusChanged)({
64
- order: Object.assign(Object.assign({}, order), { orderStatus: factory.orderStatus.OrderProcessing // 強制的にOrderProcessingとして処理する
65
- }),
66
- placeOrderTransaction
67
- })({
68
- registerActionInProgress: repos.registerActionInProgress,
69
- task: repos.task
70
- });
71
- }
29
+ useOnOrderStatusChanged: params.useOnOrderStatusChanged
30
+ })(repos);
72
31
  });
73
32
  }
74
33
  exports.payOrder = payOrder;
@@ -14,6 +14,7 @@ const moment = require("moment");
14
14
  const order_1 = require("../../factory/order");
15
15
  const createAccountingReportIfNotExist_1 = require("./createAccountingReportIfNotExist");
16
16
  const findPlaceOrderTransaction_1 = require("./findPlaceOrderTransaction");
17
+ const onAssetTransactionStatusChanged_1 = require("./onAssetTransactionStatusChanged");
17
18
  const onOrderStatusChanged_1 = require("./onOrderStatusChanged");
18
19
  const factory = require("../../factory");
19
20
  function createOrder(params) {
@@ -240,34 +241,20 @@ function placeOrder(params) {
240
241
  registerActionInProgress: repos.registerActionInProgress,
241
242
  task: repos.task
242
243
  });
243
- // paymentMethods.length: 0の場合を考慮(2023-08-24~)
244
- if (order.paymentMethods.length === 0) {
245
- // paymentMethods.length: 0の場合に、confirmPayTransactionは実行されないので、ここで強制的にpayOrderを実行する必要がある
246
- // onOrderPaymentCompletedタスク作成
247
- const onPaymentCompletedTaskData = {
248
- project: { id: order.project.id, typeOf: factory.organizationType.Project },
249
- object: {
250
- confirmationNumber: order.confirmationNumber,
251
- orderNumber: order.orderNumber
252
- },
253
- useOnOrderStatusChanged: params.useOnOrderStatusChanged === true
254
- };
255
- const onPaymentCompletedTaskAttributes = {
256
- project: { id: order.project.id, typeOf: factory.organizationType.Project },
257
- name: factory.taskName.OnOrderPaymentCompleted,
258
- status: factory.taskStatus.Ready,
259
- runsAt: new Date(),
260
- remainingNumberOfTries: 10,
261
- numberOfTried: 0,
262
- executionResults: [],
263
- data: onPaymentCompletedTaskData
264
- };
265
- yield repos.task.createOnOrderPaymentCompletedTaskIfNotExist(onPaymentCompletedTaskAttributes, { emitImmediately: true });
266
- }
267
244
  }
268
245
  else {
269
246
  throw new factory.errors.NotImplemented(`placing an order on the status '${order.orderStatus}' not implemented`);
270
247
  }
248
+ // paymentMethods.length: 0の場合を考慮(2023-08-24~)
249
+ if (order.paymentMethods.length === 0) {
250
+ // paymentMethods.length: 0の場合に、confirmPayTransactionは実行されないので、ここで強制的にpaymentDue2Processingを実行する必要がある
251
+ yield (0, onAssetTransactionStatusChanged_1.paymentDue2Processing)({
252
+ project: { id: order.project.id },
253
+ confirmationNumber: order.confirmationNumber,
254
+ orderNumber: order.orderNumber,
255
+ useOnOrderStatusChanged: params.useOnOrderStatusChanged === true
256
+ })(repos);
257
+ }
271
258
  }
272
259
  // onOrderStatusChangedへ移行(2023-08-17~)
273
260
  // await onPlaceOrder({
@@ -3,8 +3,10 @@
3
3
  */
4
4
  import { confirmPayTransaction } from './order/confirmPayTransaction';
5
5
  import { deleteOrder } from './order/deleteOrder';
6
+ import { onAssetTransactionStatusChanged, paymentDue2Processing } from './order/onAssetTransactionStatusChanged';
6
7
  import { onOrderStatusChanged } from './order/onOrderStatusChanged';
7
8
  import { onOrderUpdated } from './order/onOrderUpdated';
9
+ import { payOrder } from './order/payOrder';
8
10
  import { placeOrder, placeOrderWithoutTransaction } from './order/placeOrder';
9
11
  import { sendOrder } from './order/sendOrder';
10
- export { confirmPayTransaction, deleteOrder, onOrderStatusChanged, onOrderUpdated, placeOrder, placeOrderWithoutTransaction, sendOrder };
12
+ export { confirmPayTransaction, deleteOrder, onAssetTransactionStatusChanged, onOrderStatusChanged, onOrderUpdated, paymentDue2Processing, payOrder, placeOrder, placeOrderWithoutTransaction, sendOrder };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sendOrder = exports.placeOrderWithoutTransaction = exports.placeOrder = exports.onOrderUpdated = exports.onOrderStatusChanged = exports.deleteOrder = exports.confirmPayTransaction = void 0;
3
+ exports.sendOrder = exports.placeOrderWithoutTransaction = exports.placeOrder = exports.payOrder = exports.paymentDue2Processing = exports.onOrderUpdated = exports.onOrderStatusChanged = exports.onAssetTransactionStatusChanged = exports.deleteOrder = exports.confirmPayTransaction = void 0;
4
4
  /**
5
5
  * 注文サービス
6
6
  */
@@ -8,13 +8,17 @@ const confirmPayTransaction_1 = require("./order/confirmPayTransaction");
8
8
  Object.defineProperty(exports, "confirmPayTransaction", { enumerable: true, get: function () { return confirmPayTransaction_1.confirmPayTransaction; } });
9
9
  const deleteOrder_1 = require("./order/deleteOrder");
10
10
  Object.defineProperty(exports, "deleteOrder", { enumerable: true, get: function () { return deleteOrder_1.deleteOrder; } });
11
+ const onAssetTransactionStatusChanged_1 = require("./order/onAssetTransactionStatusChanged");
12
+ Object.defineProperty(exports, "onAssetTransactionStatusChanged", { enumerable: true, get: function () { return onAssetTransactionStatusChanged_1.onAssetTransactionStatusChanged; } });
13
+ Object.defineProperty(exports, "paymentDue2Processing", { enumerable: true, get: function () { return onAssetTransactionStatusChanged_1.paymentDue2Processing; } });
11
14
  const onOrderStatusChanged_1 = require("./order/onOrderStatusChanged");
12
15
  Object.defineProperty(exports, "onOrderStatusChanged", { enumerable: true, get: function () { return onOrderStatusChanged_1.onOrderStatusChanged; } });
13
16
  const onOrderUpdated_1 = require("./order/onOrderUpdated");
14
17
  Object.defineProperty(exports, "onOrderUpdated", { enumerable: true, get: function () { return onOrderUpdated_1.onOrderUpdated; } });
18
+ const payOrder_1 = require("./order/payOrder");
19
+ Object.defineProperty(exports, "payOrder", { enumerable: true, get: function () { return payOrder_1.payOrder; } });
15
20
  const placeOrder_1 = require("./order/placeOrder");
16
21
  Object.defineProperty(exports, "placeOrder", { enumerable: true, get: function () { return placeOrder_1.placeOrder; } });
17
22
  Object.defineProperty(exports, "placeOrderWithoutTransaction", { enumerable: true, get: function () { return placeOrder_1.placeOrderWithoutTransaction; } });
18
- // import { returnOrder } from './order/returnOrder';
19
23
  const sendOrder_1 = require("./order/sendOrder");
20
24
  Object.defineProperty(exports, "sendOrder", { enumerable: true, get: function () { return sendOrder_1.sendOrder; } });
@@ -3,11 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.optimizeAction4inform = exports.createAuthorizeResult = exports.creatPayTransactionStartParams = void 0;
4
4
  const moment = require("moment");
5
5
  const factory = require("../../../factory");
6
+ const settings_1 = require("../../../settings");
6
7
  function creatPayTransactionStartParams(params) {
7
8
  var _a, _b, _c, _d;
8
- const expires = moment(params.transaction.expires)
9
+ let expires = moment(params.transaction.expires)
9
10
  .add(1, 'month')
10
11
  .toDate(); // 余裕を持って
12
+ // 実験的にPaymentDueに対応(2023-08-30~)
13
+ if (params.paymentServiceType === factory.service.paymentService.PaymentServiceType.FaceToFace) {
14
+ if (params.object.paymentMethod.length === 0) {
15
+ expires = moment(params.transaction.expires)
16
+ .add(1, 'hour')
17
+ .toDate();
18
+ }
19
+ }
11
20
  const confirmationNumber = params.transaction.object.confirmationNumber;
12
21
  const issuedThroughId = (_a = params.object.issuedThrough) === null || _a === void 0 ? void 0 : _a.id;
13
22
  const accountId = (typeof params.accountId === 'string')
@@ -39,7 +48,9 @@ function creatPayTransactionStartParams(params) {
39
48
  typeOf: params.paymentServiceType,
40
49
  // 決済サービスIDを連携(2022-04-12~)
41
50
  id: issuedThroughId,
42
- paymentMethod: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ typeOf: 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)
51
+ paymentMethod: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ identifier: params.object.paymentMethod,
52
+ // typeOf: params.object.paymentMethod, // identifierへ移行(2023-08-30~)
53
+ 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)
43
54
  }, expires: expires }, (typeof confirmationNumber === 'string')
44
55
  ? {
45
56
  purpose: {
@@ -80,7 +91,7 @@ function createMovieTicket(params) {
80
91
  };
81
92
  }
82
93
  function createAuthorizeResult(params) {
83
- var _a, _b, _c, _d, _e, _f, _g;
94
+ var _a, _b, _c, _d, _e, _f;
84
95
  const payTransactionObject = params.payTransaction.object;
85
96
  const totalPaymentDue = (_a = payTransactionObject.paymentMethod) === null || _a === void 0 ? void 0 : _a.totalPaymentDue;
86
97
  if (typeof (totalPaymentDue === null || totalPaymentDue === void 0 ? void 0 : totalPaymentDue.typeOf) !== 'string') {
@@ -98,7 +109,15 @@ function createAuthorizeResult(params) {
98
109
  && typeof paymentMethodAmountCurrencyByPayTransaction === 'string')
99
110
  ? { amount: { currency: paymentMethodAmountCurrencyByPayTransaction } }
100
111
  : undefined);
101
- return {
112
+ // FaceToFaceの場合、決済方法区分未指定に対応(2023-08-29~)
113
+ let paymentStatus = factory.paymentStatusType.PaymentAutomaticallyApplied;
114
+ if (issuedThrough.typeOf === factory.service.paymentService.PaymentServiceType.FaceToFace) {
115
+ if (paymentMethodAsObject.typeOf.length === 0) {
116
+ paymentStatus = factory.paymentStatusType.PaymentDue;
117
+ }
118
+ }
119
+ // Array対応(2023-09-02~)
120
+ const resultAsInvoice = {
102
121
  accountId: (typeof ((_e = payTransactionObject.paymentMethod) === null || _e === void 0 ? void 0 : _e.accountId) === 'string')
103
122
  ? payTransactionObject.paymentMethod.accountId
104
123
  : '',
@@ -108,17 +127,23 @@ function createAuthorizeResult(params) {
108
127
  // 完全廃止(paymentMethodAsObjectへ完全移行)(2023-08-16~)
109
128
  // paymentMethod: params.object.paymentMethod,
110
129
  paymentMethodAsObject,
111
- paymentStatus: factory.paymentStatusType.PaymentAutomaticallyApplied,
112
- paymentMethodId: (typeof ((_f = payTransactionObject.paymentMethod) === null || _f === void 0 ? void 0 : _f.paymentMethodId) === 'string')
113
- ? payTransactionObject.paymentMethod.paymentMethodId
130
+ paymentStatus,
131
+ paymentMethodId: (typeof payTransactionObject.paymentMethodId === 'string')
132
+ ? payTransactionObject.paymentMethodId
114
133
  : '',
115
- name: (typeof ((_g = payTransactionObject.paymentMethod) === null || _g === void 0 ? void 0 : _g.name) === 'string')
134
+ name: (typeof ((_f = payTransactionObject.paymentMethod) === null || _f === void 0 ? void 0 : _f.name) === 'string')
116
135
  ? payTransactionObject.paymentMethod.name
117
136
  : params.object.paymentMethod,
118
137
  totalPaymentDue: totalPaymentDue,
119
138
  additionalProperty: (Array.isArray(params.object.additionalProperty)) ? params.object.additionalProperty : [],
120
139
  typeOf: factory.action.authorize.paymentMethod.any.ResultType.Payment
121
140
  };
141
+ if (settings_1.USE_AUTHORIZE_PAYMENT_RESULT_AS_ARRAY) {
142
+ return [resultAsInvoice];
143
+ }
144
+ else {
145
+ return resultAsInvoice;
146
+ }
122
147
  }
123
148
  exports.createAuthorizeResult = createAuthorizeResult;
124
149
  function payActionObject2invoice(params) {
@@ -104,7 +104,7 @@ exports.invalidatePaymentUrl = invalidatePaymentUrl;
104
104
  function processVoidPayTransaction(params) {
105
105
  // tslint:disable-next-line:max-func-body-length
106
106
  return (repos) => __awaiter(this, void 0, void 0, function* () {
107
- var _a, _b;
107
+ var _a, _b, _c, _d;
108
108
  let transaction;
109
109
  // アクションID指定の場合、進行中取引検証(2023-02-24~)
110
110
  if (typeof params.id === 'string') {
@@ -145,23 +145,27 @@ function processVoidPayTransaction(params) {
145
145
  throw new factory.errors.NotImplemented(`${transaction.status} not implemented`);
146
146
  // 確定取引に対応(2023-05-03~)
147
147
  case factory.transactionStatusType.Confirmed:
148
- // アクションステータスを検証する
149
- authorizeActions = authorizeActions.filter((a) => a.actionStatus !== factory.actionStatusType.CompletedActionStatus);
150
- if (transaction.typeOf === factory.transactionType.PlaceOrder) {
151
- const paymentMethodIds = (_b = (_a = transaction.result) === null || _a === void 0 ? void 0 : _a.order) === null || _b === void 0 ? void 0 : _b.paymentMethods.map((p) => {
152
- return p.paymentMethodId;
153
- });
154
- if (!Array.isArray(paymentMethodIds)) {
155
- throw new factory.errors.Argument('Transaction', `${transaction.id} must have result.order.paymentMethods`);
156
- }
157
- if (paymentMethodIds.length > 0) {
158
- authorizeActions = authorizeActions.filter((a) => {
159
- // paymentMethodIdが存在しない、あるいは、注文のpaymentMethodIdsに含まれなければ、アクション取消対象
160
- const paymentMethodIdByAction = a.object.paymentMethodId;
161
- const includedInOrder = typeof paymentMethodIdByAction === 'string'
162
- && paymentMethodIds.includes(paymentMethodIdByAction);
163
- return !includedInOrder;
148
+ // OrderCancelledを考慮(2023-08-30~)
149
+ const orderCancelled = ((_b = (_a = params.purpose.result) === null || _a === void 0 ? void 0 : _a.order) === null || _b === void 0 ? void 0 : _b.orderStatus) === factory.orderStatus.OrderCancelled;
150
+ if (!orderCancelled) {
151
+ // 取り消すべきアクションに絞る
152
+ authorizeActions = authorizeActions.filter((a) => a.actionStatus !== factory.actionStatusType.CompletedActionStatus);
153
+ if (transaction.typeOf === factory.transactionType.PlaceOrder) {
154
+ const paymentMethodIds = (_d = (_c = transaction.result) === null || _c === void 0 ? void 0 : _c.order) === null || _d === void 0 ? void 0 : _d.paymentMethods.map((p) => {
155
+ return p.paymentMethodId;
164
156
  });
157
+ if (!Array.isArray(paymentMethodIds)) {
158
+ throw new factory.errors.Argument('Transaction', `${transaction.id} must have result.order.paymentMethods`);
159
+ }
160
+ if (paymentMethodIds.length > 0) {
161
+ authorizeActions = authorizeActions.filter((a) => {
162
+ // paymentMethodIdが存在しない、あるいは、注文のpaymentMethodIdsに含まれなければ、アクション取消対象
163
+ const paymentMethodIdByAction = a.object.paymentMethodId;
164
+ const includedInOrder = typeof paymentMethodIdByAction === 'string'
165
+ && paymentMethodIds.includes(paymentMethodIdByAction);
166
+ return !includedInOrder;
167
+ });
168
+ }
165
169
  }
166
170
  }
167
171
  break;
@@ -182,9 +186,14 @@ function processVoidPayTransaction(params) {
182
186
  project: { id: { $eq: action.project.id } },
183
187
  typeOf: factory.assetTransactionType.Pay,
184
188
  transactionNumber: { $eq: transactionNumber }
185
- });
186
- if (payTransactions.length > 0) {
187
- yield PayTransactionService.cancel({ transactionNumber })(repos);
189
+ }, ['_id', 'status']);
190
+ const payTransaction = payTransactions.shift();
191
+ if (payTransaction !== undefined) {
192
+ // ステータス検証(Expiredから実行される可能性がある)
193
+ if (payTransaction.status !== factory.transactionStatusType.Canceled
194
+ && payTransaction.status !== factory.transactionStatusType.Expired) {
195
+ yield PayTransactionService.cancel({ transactionNumber })(repos);
196
+ }
188
197
  }
189
198
  }
190
199
  yield repos.action.cancel({ typeOf: action.typeOf, id: action.id });
@@ -339,7 +348,7 @@ function authorize(params) {
339
348
  if (error.name !== 'AbortError') {
340
349
  yield processVoidPayTransaction({
341
350
  project: action.project,
342
- agent: { id: action.project.id },
351
+ // agent: { id: action.project.id },
343
352
  id: action.id,
344
353
  purpose: action.purpose
345
354
  })(repos);
@@ -34,9 +34,9 @@ function authorize(params, paymentServiceId, searchTrade4accountId) {
34
34
  exclusion: []
35
35
  });
36
36
  // CreditCard系統の決済方法タイプは動的
37
- const paymentMethodType = (_a = params.object.paymentMethod) === null || _a === void 0 ? void 0 : _a.typeOf;
37
+ const paymentMethodType = (_a = params.object.paymentMethod) === null || _a === void 0 ? void 0 : _a.identifier;
38
38
  if (typeof paymentMethodType !== 'string') {
39
- throw new factory.errors.ArgumentNull('object.paymentMethod.typeOf');
39
+ throw new factory.errors.ArgumentNull('object.paymentMethod.identifier');
40
40
  }
41
41
  const availableChannel = yield repos.product.findAvailableChannel({
42
42
  project: params.project,
@@ -205,16 +205,16 @@ function handleAuthorizeError(error) {
205
205
  */
206
206
  function voidTransaction(params) {
207
207
  return (repos) => __awaiter(this, void 0, void 0, function* () {
208
- var _a, _b, _c, _d, _e, _f, _g;
208
+ var _a, _b, _c, _d, _e, _f;
209
209
  const transaction = params.object;
210
210
  // CreditCard系統の決済方法タイプは動的
211
- const paymentMethodType = (_a = transaction.object.paymentMethod) === null || _a === void 0 ? void 0 : _a.typeOf;
211
+ const paymentMethodType = (_a = transaction.object.paymentMethod) === null || _a === void 0 ? void 0 : _a.identifier;
212
212
  if (typeof paymentMethodType !== 'string') {
213
- throw new factory.errors.ArgumentNull('object.paymentMethod.typeOf');
213
+ throw new factory.errors.ArgumentNull('object.paymentMethod.identifier');
214
214
  }
215
- const paymentMethodId = (_b = transaction.object.paymentMethod) === null || _b === void 0 ? void 0 : _b.paymentMethodId;
215
+ const paymentMethodId = transaction.object.paymentMethodId;
216
216
  if (typeof paymentMethodId !== 'string') {
217
- throw new factory.errors.ArgumentNull('object.paymentMethod.paymentMethodId');
217
+ throw new factory.errors.ArgumentNull('object.paymentMethodId');
218
218
  }
219
219
  const paymentServiceId = String(transaction.object.id);
220
220
  const availableChannel = yield repos.product.findAvailableChannel({
@@ -222,7 +222,7 @@ function voidTransaction(params) {
222
222
  typeOf: factory.service.paymentService.PaymentServiceType.CreditCard,
223
223
  id: paymentServiceId
224
224
  });
225
- const sellerId = (_c = transaction.recipient) === null || _c === void 0 ? void 0 : _c.id;
225
+ const sellerId = (_b = transaction.recipient) === null || _b === void 0 ? void 0 : _b.id;
226
226
  if (typeof sellerId !== 'string') {
227
227
  throw new factory.errors.ArgumentNull('object.recipient.id');
228
228
  }
@@ -236,8 +236,8 @@ function voidTransaction(params) {
236
236
  shopId: shopId,
237
237
  shopPass: shopPass,
238
238
  orderId: paymentMethodId,
239
- siteId: (_d = availableChannel.credentials) === null || _d === void 0 ? void 0 : _d.siteId,
240
- sitePass: (_e = availableChannel.credentials) === null || _e === void 0 ? void 0 : _e.sitePass
239
+ siteId: (_c = availableChannel.credentials) === null || _c === void 0 ? void 0 : _c.siteId,
240
+ sitePass: (_d = availableChannel.credentials) === null || _d === void 0 ? void 0 : _d.sitePass
241
241
  });
242
242
  debug('searchTradeResult:', searchTradeResult);
243
243
  // 仮売上であれば取消
@@ -248,8 +248,8 @@ function voidTransaction(params) {
248
248
  accessId: searchTradeResult.accessId,
249
249
  accessPass: searchTradeResult.accessPass,
250
250
  jobCd: GMO.utils.util.JobCd.Void,
251
- siteId: (_f = availableChannel.credentials) === null || _f === void 0 ? void 0 : _f.siteId,
252
- sitePass: (_g = availableChannel.credentials) === null || _g === void 0 ? void 0 : _g.sitePass
251
+ siteId: (_e = availableChannel.credentials) === null || _e === void 0 ? void 0 : _e.siteId,
252
+ sitePass: (_f = availableChannel.credentials) === null || _f === void 0 ? void 0 : _f.sitePass
253
253
  });
254
254
  debug('alterTran processed', alterTranResult);
255
255
  }
@@ -39,9 +39,9 @@ function validateMovieTicket(params, paymentServiceId, useCheckMovieTicketBefore
39
39
  throw new factory.errors.Argument('movieTickets', 'Number of movie ticket accessCodes must be 1');
40
40
  }
41
41
  // ムビチケ系統の決済方法タイプは動的
42
- const paymentMethodType = (_b = params.object.paymentMethod) === null || _b === void 0 ? void 0 : _b.typeOf;
42
+ const paymentMethodType = (_b = params.object.paymentMethod) === null || _b === void 0 ? void 0 : _b.identifier;
43
43
  if (typeof paymentMethodType !== 'string') {
44
- throw new factory.errors.ArgumentNull('object.paymentMethod.typeOf');
44
+ throw new factory.errors.ArgumentNull('object.paymentMethod.identifier');
45
45
  }
46
46
  // イベント取得属性最適化(2023-01-23~)
47
47
  const screeningEvent = yield repos.event.findMinimizedIndividualEventById({
@@ -122,11 +122,9 @@ function authorize(params, transaction, paymentServiceId, useCheckMovieTicketBef
122
122
  const validateMovieTicketResult = yield (0, validation_1.validateMovieTicket)(params, paymentServiceId, useCheckMovieTicketBeforePay, useCheckByIdentifierIfNotYet)(repos);
123
123
  accountsReceivablesByServiceType = validateMovieTicketResult.accountsReceivablesByServiceType;
124
124
  const paymentMethod = transaction.object.paymentMethod;
125
- const paymentMethodType = String(paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.typeOf);
125
+ const paymentMethodType = String(paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.identifier);
126
126
  const additionalProperty = paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.additionalProperty;
127
- const paymentMethodId = (typeof (paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.paymentMethodId) === 'string')
128
- ? paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.paymentMethodId
129
- : transaction.id;
127
+ const paymentMethodId = transaction.object.paymentMethodId;
130
128
  const paymentMethodName = (typeof (paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.name) === 'string') ? paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.name : paymentMethodType;
131
129
  accountId = (Array.isArray(paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.movieTickets)) ? (_a = paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.movieTickets[0]) === null || _a === void 0 ? void 0 : _a.identifier : undefined;
132
130
  if (typeof accountId !== 'string' || accountId.length === 0) {
@@ -157,15 +155,16 @@ function authorize(params, transaction, paymentServiceId, useCheckMovieTicketBef
157
155
  exports.authorize = authorize;
158
156
  function voidTransaction(params) {
159
157
  return (repos) => __awaiter(this, void 0, void 0, function* () {
160
- var _a, _b, _c, _d;
158
+ var _a, _b, _c;
161
159
  const transaction = params.object;
162
- const paymentMethodType = (_a = transaction.object.paymentMethod) === null || _a === void 0 ? void 0 : _a.typeOf;
160
+ const paymentMethodType = (_a = transaction.object.paymentMethod) === null || _a === void 0 ? void 0 : _a.identifier;
163
161
  if (typeof paymentMethodType !== 'string') {
164
- throw new factory.errors.ArgumentNull('object.paymentMethod.typeOf');
162
+ throw new factory.errors.ArgumentNull('object.paymentMethod.identifier');
165
163
  }
166
- const paymentMethodId = (_b = transaction.object.paymentMethod) === null || _b === void 0 ? void 0 : _b.paymentMethodId;
164
+ // const paymentMethodId = transaction.object.paymentMethod?.paymentMethodId;
165
+ const paymentMethodId = transaction.object.paymentMethodId;
167
166
  if (typeof paymentMethodId !== 'string') {
168
- throw new factory.errors.ArgumentNull('object.paymentMethod.paymentMethodId');
167
+ throw new factory.errors.ArgumentNull('object.paymentMethodId');
169
168
  }
170
169
  // 決済開始時に着券していれば、取消
171
170
  // 例えばtimeoutが原因でCompletedActionStatusでない場合、外部サービス側では着券済の可能性もあるので、そこを考慮する
@@ -192,14 +191,14 @@ function voidTransaction(params) {
192
191
  paymentMethod: {
193
192
  paymentMethodId: paymentMethodId,
194
193
  typeOf: paymentMethodType,
195
- name: (typeof ((_c = transaction.object.paymentMethod) === null || _c === void 0 ? void 0 : _c.name) === 'string')
194
+ name: (typeof ((_b = transaction.object.paymentMethod) === null || _b === void 0 ? void 0 : _b.name) === 'string')
196
195
  ? transaction.object.paymentMethod.name
197
196
  : paymentMethodType,
198
197
  additionalProperty: []
199
198
  }
200
199
  }], agent: {
201
200
  id: seller.id,
202
- name: (typeof seller.name === 'string') ? seller.name : String((_d = seller.name) === null || _d === void 0 ? void 0 : _d.ja),
201
+ name: (typeof seller.name === 'string') ? seller.name : String((_c = seller.name) === null || _c === void 0 ? void 0 : _c.ja),
203
202
  typeOf: seller.typeOf
204
203
  }, recipient: transaction.recipient }, ((payAction === null || payAction === void 0 ? void 0 : payAction.purpose) !== undefined)
205
204
  ? { purpose: payAction.purpose }
@@ -68,7 +68,7 @@ function validatePaymentMethod(params, paymentServiceId) {
68
68
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
69
69
  const serviceOutputIdentifier = (_a = params.object.paymentMethod) === null || _a === void 0 ? void 0 : _a.accountId;
70
70
  const amount = (_b = params.object.paymentMethod) === null || _b === void 0 ? void 0 : _b.amount;
71
- const paymentMethodType = (_c = params.object.paymentMethod) === null || _c === void 0 ? void 0 : _c.typeOf;
71
+ const paymentMethodType = (_c = params.object.paymentMethod) === null || _c === void 0 ? void 0 : _c.identifier;
72
72
  if (typeof serviceOutputIdentifier !== 'string') {
73
73
  throw new factory.errors.ArgumentNull('object.paymentMethod.accountId');
74
74
  }
@@ -76,7 +76,7 @@ function validatePaymentMethod(params, paymentServiceId) {
76
76
  throw new factory.errors.ArgumentNull('object.paymentMethod.amount');
77
77
  }
78
78
  if (typeof paymentMethodType !== 'string') {
79
- throw new factory.errors.ArgumentNull('object.paymentMethod.typeOf');
79
+ throw new factory.errors.ArgumentNull('object.paymentMethod.identifier');
80
80
  }
81
81
  // プロダクトから通貨区分を取得
82
82
  const paymentCatdProduct = yield repos.product.findById({ id: paymentServiceId }, ['serviceOutput'], []);
@@ -182,15 +182,12 @@ function processAccountTransaction(params) {
182
182
  }
183
183
  function voidTransaction(params) {
184
184
  return (repos) => __awaiter(this, void 0, void 0, function* () {
185
- var _a, _b, _c, _d, _e;
185
+ var _a, _b, _c;
186
186
  const transaction = params.object;
187
- const paymentMethodType = (_a = transaction.object.paymentMethod) === null || _a === void 0 ? void 0 : _a.typeOf;
188
- const paymentMethodId = (_b = transaction.object.paymentMethod) === null || _b === void 0 ? void 0 : _b.paymentMethodId;
189
- if (typeof paymentMethodType !== 'string') {
190
- throw new factory.errors.ArgumentNull('object.paymentMethod.typeOf');
191
- }
187
+ // const paymentMethodId = transaction.object.paymentMethod?.paymentMethodId;
188
+ const paymentMethodId = transaction.object.paymentMethodId;
192
189
  if (typeof paymentMethodId !== 'string') {
193
- throw new factory.errors.ArgumentNull('object.paymentMethod.paymentMethodId');
190
+ throw new factory.errors.ArgumentNull('object.paymentMethodId');
194
191
  }
195
192
  const paymentServiceId = String(transaction.object.id);
196
193
  // アクションステータスに関係なく取消処理実行
@@ -204,9 +201,9 @@ function voidTransaction(params) {
204
201
  const accountTransactionService = new pecorinoapi.service.AccountTransaction({
205
202
  endpoint: String(availableChannel.serviceUrl),
206
203
  auth: new pecorinoapi.auth.ClientCredentials({
207
- domain: String((_c = availableChannel.credentials) === null || _c === void 0 ? void 0 : _c.authorizeServerDomain),
208
- clientId: String((_d = availableChannel.credentials) === null || _d === void 0 ? void 0 : _d.clientId),
209
- clientSecret: String((_e = availableChannel.credentials) === null || _e === void 0 ? void 0 : _e.clientSecret),
204
+ domain: String((_a = availableChannel.credentials) === null || _a === void 0 ? void 0 : _a.authorizeServerDomain),
205
+ clientId: String((_b = availableChannel.credentials) === null || _b === void 0 ? void 0 : _b.clientId),
206
+ clientSecret: String((_c = availableChannel.credentials) === null || _c === void 0 ? void 0 : _c.clientSecret),
210
207
  scopes: [],
211
208
  state: ''
212
209
  })
@@ -27,7 +27,7 @@ function cleanUpDatabaseByProject(params) {
27
27
  yield repos.categoryCode.deleteByProject({ project: { id: params.id } });
28
28
  yield repos.creativeWork.deleteByProject({ project: { id: params.id } });
29
29
  yield repos.event.deleteByProject({ project: { id: params.id } });
30
- yield repos.offer.deleteByProject({ project: { id: params.id } });
30
+ // await repos.offer.deleteByProject({ project: { id: params.id } });
31
31
  yield repos.offerCatalog.deleteByProject({ project: { id: params.id } });
32
32
  yield repos.place.deleteByProject({ project: { id: params.id } });
33
33
  yield repos.priceSpecification.deleteByProject({ project: { id: params.id } });