@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.
- package/example/src/chevre/countOffers.ts +32 -0
- package/example/src/chevre/findItemListElementByCatalogId.ts +30 -0
- package/example/src/chevre/importOffersFromCOA.ts +7 -1
- package/example/src/chevre/migrateOrderPaymentMethodIdentifier.ts +81 -0
- package/example/src/chevre/migratePayTransactionPaymentMethodId.ts +72 -0
- package/example/src/chevre/migratePayTransactionPaymentMethodIdentifier.ts +78 -0
- package/example/src/chevre/optimizeCatalogs.ts +54 -0
- package/example/src/chevre/processPay.ts +3 -4
- package/example/src/chevre/publishPermitOwnershipInfoToken.ts +56 -0
- package/example/src/chevre/pullAddOnsFromOffer.ts +26 -0
- package/example/src/chevre/pushIncludedInDataCatalog.ts +47 -0
- package/example/src/chevre/searchAggregateOffers.ts +48 -0
- package/example/src/chevre/searchAvaialbleAppliesToMovieTicketByOfferCatalogId.ts +26 -0
- package/example/src/chevre/searchEventTicketOffers.ts +5 -1
- package/example/src/chevre/searchEvents.ts +9 -7
- package/example/src/chevre/searchOfferCatalogs.ts +7 -3
- package/example/src/chevre/searchOffers.ts +5 -2
- package/example/src/chevre/searchOffersByCatalog.ts +15 -9
- package/example/src/chevre/searchOffersFromAggregateOffer.ts +168 -0
- package/example/src/chevre/searchOrders.ts +9 -7
- package/example/src/chevre/syncCatalogs2aggregateOffers.ts +85 -0
- package/lib/chevre/emailMessageBuilder.js +6 -5
- package/lib/chevre/repo/aggregateOffer.d.ts +62 -0
- package/lib/chevre/repo/aggregateOffer.js +562 -0
- package/lib/chevre/repo/assetTransaction.d.ts +16 -1
- package/lib/chevre/repo/assetTransaction.js +54 -2
- package/lib/chevre/repo/mongoose/schemas/aggregateOffer.d.ts +74 -0
- package/lib/chevre/repo/mongoose/schemas/aggregateOffer.js +189 -0
- package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +3 -3
- package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +3 -3
- package/lib/chevre/repo/mongoose/schemas/event.d.ts +3 -3
- package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +3 -0
- package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +10 -1
- package/lib/chevre/repo/mongoose/schemas/order.d.ts +3 -0
- package/lib/chevre/repo/mongoose/schemas/order.js +7 -0
- package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +9 -9
- package/lib/chevre/repo/mongoose/schemas/product.d.ts +3 -3
- package/lib/chevre/repo/mongoose/schemas/project.d.ts +3 -3
- package/lib/chevre/repo/mongoose/schemas/task.d.ts +3 -0
- package/lib/chevre/repo/mongoose/schemas/task.js +8 -0
- package/lib/chevre/repo/offer.d.ts +106 -51
- package/lib/chevre/repo/offer.js +555 -283
- package/lib/chevre/repo/offerCatalog.d.ts +32 -3
- package/lib/chevre/repo/offerCatalog.js +97 -10
- package/lib/chevre/repo/order.d.ts +15 -0
- package/lib/chevre/repo/order.js +58 -26
- package/lib/chevre/repo/task.d.ts +6 -2
- package/lib/chevre/repo/task.js +58 -4
- package/lib/chevre/repository.d.ts +3 -0
- package/lib/chevre/repository.js +5 -1
- package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +3 -41
- package/lib/chevre/service/aggregation/event/aggregateUseActionsOnEvent.d.ts +2 -0
- package/lib/chevre/service/aggregation/event/aggregateUseActionsOnEvent.js +2 -40
- package/lib/chevre/service/aggregation/event/findEventOffers.d.ts +16 -0
- package/lib/chevre/service/aggregation/event/findEventOffers.js +58 -0
- package/lib/chevre/service/assetTransaction/pay/account/validation.js +2 -2
- package/lib/chevre/service/assetTransaction/pay/factory.js +26 -18
- package/lib/chevre/service/assetTransaction/pay/potentialActions.js +3 -3
- package/lib/chevre/service/assetTransaction/pay.js +65 -46
- package/lib/chevre/service/assetTransaction/refund/factory.js +8 -2
- package/lib/chevre/service/assetTransaction/registerService.js +2 -1
- package/lib/chevre/service/assetTransaction/reserve.js +111 -35
- package/lib/chevre/service/offer/event/authorize.js +39 -35
- package/lib/chevre/service/offer/event/factory.d.ts +1 -1
- package/lib/chevre/service/offer/event/factory.js +8 -8
- package/lib/chevre/service/offer/event/importFromCOA.d.ts +2 -0
- package/lib/chevre/service/offer/event/searchEventTicketOffers.d.ts +3 -0
- package/lib/chevre/service/offer/event/searchEventTicketOffers.js +48 -17
- package/lib/chevre/service/offer/event/voidTransaction.js +57 -36
- package/lib/chevre/service/offer/eventServiceByCOA/factory.d.ts +2 -1
- package/lib/chevre/service/offer/eventServiceByCOA/factory.js +7 -11
- package/lib/chevre/service/offer/eventServiceByCOA.js +55 -27
- package/lib/chevre/service/offer/factory.d.ts +12 -4
- package/lib/chevre/service/offer/factory.js +9 -11
- package/lib/chevre/service/offer/product/searchProductOffers.d.ts +10 -1
- package/lib/chevre/service/offer/product/searchProductOffers.js +51 -12
- package/lib/chevre/service/offer/product.d.ts +2 -0
- package/lib/chevre/service/offer/product.js +3 -2
- package/lib/chevre/service/offer.d.ts +1 -0
- package/lib/chevre/service/offer.js +7 -1
- package/lib/chevre/service/order/confirmPayTransaction.d.ts +0 -2
- package/lib/chevre/service/order/confirmPayTransaction.js +20 -46
- package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +27 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +226 -0
- package/lib/chevre/service/order/onOrderStatusChanged/factory.d.ts +8 -6
- package/lib/chevre/service/order/onOrderStatusChanged/factory.js +80 -57
- package/lib/chevre/service/order/onOrderStatusChanged.js +49 -9
- package/lib/chevre/service/order/payOrder.js +4 -45
- package/lib/chevre/service/order/placeOrder.js +11 -24
- package/lib/chevre/service/order.d.ts +3 -1
- package/lib/chevre/service/order.js +6 -2
- package/lib/chevre/service/payment/any/factory.js +33 -8
- package/lib/chevre/service/payment/any.js +30 -21
- package/lib/chevre/service/payment/creditCard.js +12 -12
- package/lib/chevre/service/payment/movieTicket/validation.js +2 -2
- package/lib/chevre/service/payment/movieTicket.js +10 -11
- package/lib/chevre/service/payment/paymentCard.js +9 -12
- package/lib/chevre/service/project.js +1 -1
- package/lib/chevre/service/reserve/checkInReservation.d.ts +8 -0
- package/lib/chevre/service/reserve/checkInReservation.js +3 -2
- package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.d.ts +3 -0
- package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +4 -5
- package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.d.ts +8 -0
- package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +16 -11
- package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +2 -1
- package/lib/chevre/service/reserve/potentialActions/onReservationUsed.d.ts +3 -0
- package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +3 -5
- package/lib/chevre/service/task/aggregateUseActionsOnEvent.js +2 -0
- package/lib/chevre/service/task/confirmPayTransaction.js +1 -3
- package/lib/chevre/service/task/importOffersFromCOA.js +3 -0
- package/lib/chevre/service/task/onAssetTransactionStatusChanged.d.ts +6 -0
- package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +37 -0
- package/lib/chevre/service/task/onAuthorizationCreated.js +5 -1
- package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.d.ts +2 -0
- package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.js +7 -0
- package/lib/chevre/service/task/onResourceUpdated/syncOfferCatalog.d.ts +17 -0
- package/lib/chevre/service/task/onResourceUpdated/syncOfferCatalog.js +78 -0
- package/lib/chevre/service/task/onResourceUpdated.js +12 -0
- package/lib/chevre/service/task/returnPayTransaction.js +8 -3
- package/lib/chevre/service/transaction/placeOrderInProgress/result.js +32 -16
- package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.js +13 -11
- package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +53 -17
- package/lib/chevre/service/transaction/placeOrderInProgress.js +4 -1
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +7 -6
- package/lib/chevre/service/transaction/returnOrder.js +5 -1
- package/lib/chevre/settings.d.ts +3 -3
- package/lib/chevre/settings.js +4 -12
- package/package.json +3 -3
- package/example/src/chevre/migrateAuthorizePaymentActionResult.ts +0 -83
- package/example/src/chevre/migrateEventOrganizer.ts +0 -154
- package/lib/chevre/repo/mongoose/schemas/offer.d.ts +0 -149
- 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
|
-
|
|
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
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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 = (
|
|
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 ||
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
34
|
-
|
|
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
|
-
|
|
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({
|
|
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
|
|
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
|
-
|
|
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
|
|
112
|
-
paymentMethodId: (typeof
|
|
113
|
-
? payTransactionObject.
|
|
130
|
+
paymentStatus,
|
|
131
|
+
paymentMethodId: (typeof payTransactionObject.paymentMethodId === 'string')
|
|
132
|
+
? payTransactionObject.paymentMethodId
|
|
114
133
|
: '',
|
|
115
|
-
name: (typeof ((
|
|
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
|
-
|
|
150
|
-
if (
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
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
|
-
|
|
187
|
-
|
|
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.
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
213
|
+
throw new factory.errors.ArgumentNull('object.paymentMethod.identifier');
|
|
214
214
|
}
|
|
215
|
-
const paymentMethodId =
|
|
215
|
+
const paymentMethodId = transaction.object.paymentMethodId;
|
|
216
216
|
if (typeof paymentMethodId !== 'string') {
|
|
217
|
-
throw new factory.errors.ArgumentNull('object.
|
|
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 = (
|
|
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: (
|
|
240
|
-
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: (
|
|
252
|
-
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.
|
|
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.
|
|
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.
|
|
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 =
|
|
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
|
|
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.
|
|
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.
|
|
162
|
+
throw new factory.errors.ArgumentNull('object.paymentMethod.identifier');
|
|
165
163
|
}
|
|
166
|
-
const 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.
|
|
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 ((
|
|
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((
|
|
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.
|
|
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.
|
|
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
|
|
185
|
+
var _a, _b, _c;
|
|
186
186
|
const transaction = params.object;
|
|
187
|
-
const
|
|
188
|
-
const 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.
|
|
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((
|
|
208
|
-
clientId: String((
|
|
209
|
-
clientSecret: String((
|
|
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
|
-
|
|
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 } });
|