@chevre/domain 24.0.0-alpha.3 → 24.0.0-alpha.30

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 (310) hide show
  1. package/lib/chevre/errorHandler.js +1 -1
  2. package/lib/chevre/repo/accountTitle.d.ts +7 -3
  3. package/lib/chevre/repo/accountTransaction.js +1 -2
  4. package/lib/chevre/repo/action/acceptCOAOffer.d.ts +23 -0
  5. package/lib/chevre/repo/action/acceptCOAOffer.js +62 -0
  6. package/lib/chevre/repo/action/acceptPay.d.ts +37 -0
  7. package/lib/chevre/repo/action/acceptPay.js +87 -0
  8. package/lib/chevre/repo/action/actionProcess.d.ts +145 -0
  9. package/lib/chevre/repo/action/actionProcess.js +788 -0
  10. package/lib/chevre/repo/action/authorizeInvoice.d.ts +26 -0
  11. package/lib/chevre/repo/action/authorizeInvoice.js +49 -0
  12. package/lib/chevre/repo/action/authorizeMoneyTransferOffer.d.ts +40 -0
  13. package/lib/chevre/repo/action/authorizeMoneyTransferOffer.js +61 -0
  14. package/lib/chevre/repo/action/authorizeOffer.d.ts +21 -0
  15. package/lib/chevre/repo/action/authorizeOffer.js +85 -0
  16. package/lib/chevre/repo/action/authorizePaymentMethod.d.ts +36 -0
  17. package/lib/chevre/repo/action/authorizePaymentMethod.js +50 -0
  18. package/lib/chevre/repo/action/authorizeProductOffer.d.ts +26 -0
  19. package/lib/chevre/repo/action/authorizeProductOffer.js +52 -0
  20. package/lib/chevre/repo/action/checkMovieTicket.d.ts +111 -0
  21. package/lib/chevre/repo/action/checkMovieTicket.js +200 -0
  22. package/lib/chevre/repo/action/checkThing.d.ts +8 -0
  23. package/lib/chevre/repo/action/checkThing.js +13 -0
  24. package/lib/chevre/repo/action.d.ts +18 -258
  25. package/lib/chevre/repo/action.js +308 -1216
  26. package/lib/chevre/repo/aggregateAction.d.ts +102 -0
  27. package/lib/chevre/repo/aggregateAction.js +378 -0
  28. package/lib/chevre/repo/aggregateOffer.d.ts +7 -3
  29. package/lib/chevre/repo/assetTransaction.d.ts +46 -25
  30. package/lib/chevre/repo/categoryCode.d.ts +8 -3
  31. package/lib/chevre/repo/comment.d.ts +7 -3
  32. package/lib/chevre/repo/creativeWork.d.ts +8 -7
  33. package/lib/chevre/repo/customer.d.ts +8 -3
  34. package/lib/chevre/repo/event.d.ts +11 -23
  35. package/lib/chevre/repo/event.js +22 -23
  36. package/lib/chevre/repo/eventSeries.d.ts +10 -4
  37. package/lib/chevre/repo/identity.d.ts +12 -3
  38. package/lib/chevre/repo/identityProvider.d.ts +7 -18
  39. package/lib/chevre/repo/issuer.d.ts +8 -8
  40. package/lib/chevre/repo/member.d.ts +7 -3
  41. package/lib/chevre/repo/merchantReturnPolicy.d.ts +7 -3
  42. package/lib/chevre/repo/message.js +1 -1
  43. package/lib/chevre/repo/mongoose/schemas/acceptedPaymentMethod.d.ts +4 -3
  44. package/lib/chevre/repo/mongoose/schemas/account.d.ts +4 -3
  45. package/lib/chevre/repo/mongoose/schemas/accountTitle.d.ts +4 -3
  46. package/lib/chevre/repo/mongoose/schemas/accountTransaction.d.ts +5 -4
  47. package/lib/chevre/repo/mongoose/schemas/accountingReport.d.ts +3 -2
  48. package/lib/chevre/repo/mongoose/schemas/action.d.ts +4 -3
  49. package/lib/chevre/repo/mongoose/schemas/actionRecipe.d.ts +4 -3
  50. package/lib/chevre/repo/mongoose/schemas/additionalProperty.d.ts +5 -4
  51. package/lib/chevre/repo/mongoose/schemas/advanceBookingRequirement.d.ts +3 -2
  52. package/lib/chevre/repo/mongoose/schemas/aggregateOffer.d.ts +4 -3
  53. package/lib/chevre/repo/mongoose/schemas/aggregateOrder.d.ts +3 -2
  54. package/lib/chevre/repo/mongoose/schemas/aggregateReservation.d.ts +4 -3
  55. package/lib/chevre/repo/mongoose/schemas/aggregation.d.ts +4 -3
  56. package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +4 -3
  57. package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +4 -3
  58. package/lib/chevre/repo/mongoose/schemas/categoryCode.d.ts +5 -4
  59. package/lib/chevre/repo/mongoose/schemas/civicStructure.d.ts +3 -2
  60. package/lib/chevre/repo/mongoose/schemas/comments.d.ts +4 -3
  61. package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +5 -4
  62. package/lib/chevre/repo/mongoose/schemas/customer.d.ts +5 -4
  63. package/lib/chevre/repo/mongoose/schemas/customerType.d.ts +5 -4
  64. package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +4 -3
  65. package/lib/chevre/repo/mongoose/schemas/event.d.ts +3 -2
  66. package/lib/chevre/repo/mongoose/schemas/eventOffer.d.ts +4 -3
  67. package/lib/chevre/repo/mongoose/schemas/eventSeries.d.ts +3 -2
  68. package/lib/chevre/repo/mongoose/schemas/identity.d.ts +4 -3
  69. package/lib/chevre/repo/mongoose/schemas/identityProvider.d.ts +4 -3
  70. package/lib/chevre/repo/mongoose/schemas/issuer.d.ts +4 -3
  71. package/lib/chevre/repo/mongoose/schemas/member/global.d.ts +4 -3
  72. package/lib/chevre/repo/mongoose/schemas/member.d.ts +4 -3
  73. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.d.ts +4 -3
  74. package/lib/chevre/repo/mongoose/schemas/message.d.ts +5 -4
  75. package/lib/chevre/repo/mongoose/schemas/movieTicketTypes.d.ts +4 -3
  76. package/lib/chevre/repo/mongoose/schemas/note.d.ts +3 -2
  77. package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +4 -3
  78. package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.d.ts +4 -3
  79. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.d.ts +5 -4
  80. package/lib/chevre/repo/mongoose/schemas/order.d.ts +4 -3
  81. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.d.ts +5 -4
  82. package/lib/chevre/repo/mongoose/schemas/paymentService.d.ts +4 -3
  83. package/lib/chevre/repo/mongoose/schemas/paymentServiceChannel.d.ts +4 -3
  84. package/lib/chevre/repo/mongoose/schemas/pendingReservation.d.ts +4 -3
  85. package/lib/chevre/repo/mongoose/schemas/pendingReservationAggregate.d.ts +4 -3
  86. package/lib/chevre/repo/mongoose/schemas/place.d.ts +3 -2
  87. package/lib/chevre/repo/mongoose/schemas/potentialAction.d.ts +4 -3
  88. package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +6 -3
  89. package/lib/chevre/repo/mongoose/schemas/product.d.ts +4 -3
  90. package/lib/chevre/repo/mongoose/schemas/productModel.d.ts +6 -5
  91. package/lib/chevre/repo/mongoose/schemas/productOffer.d.ts +3 -2
  92. package/lib/chevre/repo/mongoose/schemas/project.d.ts +4 -3
  93. package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +4 -3
  94. package/lib/chevre/repo/mongoose/schemas/reserveInterface.d.ts +4 -3
  95. package/lib/chevre/repo/mongoose/schemas/role.d.ts +3 -2
  96. package/lib/chevre/repo/mongoose/schemas/schedule.d.ts +5 -4
  97. package/lib/chevre/repo/mongoose/schemas/seller.d.ts +4 -3
  98. package/lib/chevre/repo/mongoose/schemas/sellerReturnPolicy.d.ts +4 -3
  99. package/lib/chevre/repo/mongoose/schemas/service/availableHour.d.ts +3 -2
  100. package/lib/chevre/repo/mongoose/schemas/serviceOutput.d.ts +5 -4
  101. package/lib/chevre/repo/mongoose/schemas/setting.d.ts +4 -3
  102. package/lib/chevre/repo/mongoose/schemas/task.d.ts +4 -3
  103. package/lib/chevre/repo/mongoose/schemas/telemetry.d.ts +4 -3
  104. package/lib/chevre/repo/mongoose/schemas/ticket.d.ts +4 -3
  105. package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +8 -4
  106. package/lib/chevre/repo/mongoose/schemas/transaction.js +31 -0
  107. package/lib/chevre/repo/mongoose/schemas/transactionNumber.d.ts +3 -2
  108. package/lib/chevre/repo/mongoose/schemas/trip.d.ts +4 -3
  109. package/lib/chevre/repo/mongoose/schemas/webSite.d.ts +4 -3
  110. package/lib/chevre/repo/mongoose/virtuals.d.ts +3 -0
  111. package/lib/chevre/repo/mongoose/virtuals.js +2 -0
  112. package/lib/chevre/repo/movieTicketType.d.ts +2 -1
  113. package/lib/chevre/repo/offerCatalog.d.ts +8 -4
  114. package/lib/chevre/repo/order.d.ts +8 -7
  115. package/lib/chevre/repo/orderInTransaction.d.ts +8 -0
  116. package/lib/chevre/repo/orderInTransaction.js +16 -2
  117. package/lib/chevre/repo/orderNumber.d.ts +3 -2
  118. package/lib/chevre/repo/orderNumber.js +23 -28
  119. package/lib/chevre/repo/ownershipInfo.d.ts +8 -7
  120. package/lib/chevre/repo/paymentService.d.ts +0 -13
  121. package/lib/chevre/repo/paymentService.js +5 -5
  122. package/lib/chevre/repo/pendingReservation.js +0 -1
  123. package/lib/chevre/repo/place/hasPOS.js +3 -3
  124. package/lib/chevre/repo/place/movieTheater.d.ts +7 -3
  125. package/lib/chevre/repo/place/screeningRoom.d.ts +7 -3
  126. package/lib/chevre/repo/potentialAction.d.ts +7 -26
  127. package/lib/chevre/repo/priceSpecification.d.ts +51 -24
  128. package/lib/chevre/repo/priceSpecification.js +9 -13
  129. package/lib/chevre/repo/product.d.ts +8 -4
  130. package/lib/chevre/repo/productModel.d.ts +3 -1
  131. package/lib/chevre/repo/productModel.js +15 -11
  132. package/lib/chevre/repo/project.d.ts +8 -11
  133. package/lib/chevre/repo/reservation.d.ts +14 -13
  134. package/lib/chevre/repo/reserveInterface.js +4 -4
  135. package/lib/chevre/repo/role.d.ts +39 -3
  136. package/lib/chevre/repo/schedule.js +1 -1
  137. package/lib/chevre/repo/seller.d.ts +7 -50
  138. package/lib/chevre/repo/task.d.ts +7 -67
  139. package/lib/chevre/repo/transaction/moneyTransfer.d.ts +61 -0
  140. package/lib/chevre/repo/transaction/moneyTransfer.js +379 -0
  141. package/lib/chevre/repo/transaction/placeOrder.d.ts +140 -0
  142. package/lib/chevre/repo/transaction/placeOrder.js +528 -0
  143. package/lib/chevre/repo/transaction/returnOrder.d.ts +45 -0
  144. package/lib/chevre/repo/transaction/returnOrder.js +341 -0
  145. package/lib/chevre/repo/transaction.d.ts +105 -138
  146. package/lib/chevre/repo/transaction.js +726 -632
  147. package/lib/chevre/repository.d.ts +69 -0
  148. package/lib/chevre/repository.js +151 -2
  149. package/lib/chevre/service/aggregation/system.d.ts +10 -10
  150. package/lib/chevre/service/aggregation/system.js +9 -9
  151. package/lib/chevre/service/assetTransaction/pay/check.d.ts +5 -4
  152. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.d.ts +7 -4
  153. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +3 -3
  154. package/lib/chevre/service/assetTransaction/pay/start/factory.d.ts +51 -3
  155. package/lib/chevre/service/assetTransaction/pay/start/factory.js +58 -21
  156. package/lib/chevre/service/assetTransaction/pay/start/preStart/fixPaymentService.d.ts +10 -0
  157. package/lib/chevre/service/assetTransaction/pay/start/preStart/fixPaymentService.js +88 -0
  158. package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.d.ts +57 -0
  159. package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.js +56 -0
  160. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.d.ts +2 -2
  161. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +3 -1
  162. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +1 -11
  163. package/lib/chevre/service/assetTransaction/pay/start.d.ts +4 -0
  164. package/lib/chevre/service/assetTransaction/pay/start.js +8 -132
  165. package/lib/chevre/service/assetTransaction/reserveCOA/cancel.d.ts +19 -4
  166. package/lib/chevre/service/assetTransaction/reserveCOA/cancel.js +7 -1
  167. package/lib/chevre/service/notification/triggerWebhook.d.ts +7 -6
  168. package/lib/chevre/service/offer/event/authorize.d.ts +2 -2
  169. package/lib/chevre/service/offer/event/authorize.js +3 -3
  170. package/lib/chevre/service/offer/event/issueEventOfferTicket.d.ts +2 -2
  171. package/lib/chevre/service/offer/event/issueEventOfferTicket.js +1 -1
  172. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.d.ts +0 -2
  173. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +1 -0
  174. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4coa.d.ts +2 -0
  175. package/lib/chevre/service/offer/event/voidTransaction.d.ts +4 -2
  176. package/lib/chevre/service/offer/event/voidTransaction.js +3 -2
  177. package/lib/chevre/service/offer/event/voidTransactionByActionId.d.ts +3 -3
  178. package/lib/chevre/service/offer/event/voidTransactionByActionId.js +2 -2
  179. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.d.ts +16 -5
  180. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +7 -7
  181. package/lib/chevre/service/offer/eventServiceByCOA/authorize.d.ts +6 -4
  182. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +3 -10
  183. package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +21 -13
  184. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +19 -10
  185. package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.d.ts +2 -2
  186. package/lib/chevre/service/offer/moneyTransfer/authorize.d.ts +5 -4
  187. package/lib/chevre/service/offer/moneyTransfer/authorize.js +9 -6
  188. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.d.ts +5 -4
  189. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +8 -5
  190. package/lib/chevre/service/offer/product.d.ts +8 -6
  191. package/lib/chevre/service/offer/product.js +11 -11
  192. package/lib/chevre/service/order/confirmPayTransaction.d.ts +0 -2
  193. package/lib/chevre/service/order/confirmPayTransaction.js +1 -0
  194. package/lib/chevre/service/order/findPlaceOrderTransaction.d.ts +2 -2
  195. package/lib/chevre/service/order/findPlaceOrderTransaction.js +1 -1
  196. package/lib/chevre/service/order/onAssetTransactionStatusChanged/isDeliverable.d.ts +16 -0
  197. package/lib/chevre/service/order/onAssetTransactionStatusChanged/isDeliverable.js +97 -0
  198. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionCanceled.d.ts +21 -0
  199. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionCanceled.js +86 -0
  200. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.d.ts +22 -0
  201. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.js +112 -0
  202. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onReserveTransactionConfirmed.d.ts +22 -0
  203. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onReserveTransactionConfirmed.js +74 -0
  204. package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.d.ts +25 -0
  205. package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.js +111 -0
  206. package/lib/chevre/service/order/onAssetTransactionStatusChanged/processing2inTransit.d.ts +16 -0
  207. package/lib/chevre/service/order/onAssetTransactionStatusChanged/processing2inTransit.js +74 -0
  208. package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +8 -30
  209. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +37 -348
  210. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.d.ts +6 -7
  211. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.d.ts +6 -5
  212. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.d.ts +7 -6
  213. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +1 -1
  214. package/lib/chevre/service/order/payOrder.d.ts +2 -2
  215. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.d.ts +2 -2
  216. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +1 -1
  217. package/lib/chevre/service/order/placeOrder.d.ts +13 -12
  218. package/lib/chevre/service/order/returnOrder.d.ts +2 -2
  219. package/lib/chevre/service/order/returnOrder.js +1 -1
  220. package/lib/chevre/service/order/sendOrder.d.ts +6 -6
  221. package/lib/chevre/service/order/sendOrder.js +9 -8
  222. package/lib/chevre/service/order.d.ts +3 -6
  223. package/lib/chevre/service/order.js +3 -9
  224. package/lib/chevre/service/payment/any/{fixOrderAsNeeded.d.ts → authorize/fixOrderAsNeeded.d.ts} +6 -6
  225. package/lib/chevre/service/payment/any/{fixOrderAsNeeded.js → authorize/fixOrderAsNeeded.js} +5 -8
  226. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.d.ts +8 -5
  227. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.d.ts +14 -10
  228. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +34 -17
  229. package/lib/chevre/service/payment/any/authorize.d.ts +98 -0
  230. package/lib/chevre/service/payment/any/authorize.js +239 -0
  231. package/lib/chevre/service/payment/any/findAcceptAction.d.ts +43 -0
  232. package/lib/chevre/service/payment/any/findAcceptAction.js +94 -0
  233. package/lib/chevre/service/payment/any/findAuthorizeAction.d.ts +42 -0
  234. package/lib/chevre/service/payment/any/findAuthorizeAction.js +83 -0
  235. package/lib/chevre/service/payment/any/findCheckAction.d.ts +45 -0
  236. package/lib/chevre/service/payment/any/findCheckAction.js +89 -0
  237. package/lib/chevre/service/payment/any/invalidatePaymentUrl.d.ts +29 -0
  238. package/lib/chevre/service/payment/any/invalidatePaymentUrl.js +187 -0
  239. package/lib/chevre/service/payment/any/onPayActionCompleted.d.ts +7 -3
  240. package/lib/chevre/service/payment/any/onPayActionCompleted.js +3 -0
  241. package/lib/chevre/service/payment/any/processVoidPayTransaction.d.ts +30 -0
  242. package/lib/chevre/service/payment/any/processVoidPayTransaction.js +125 -0
  243. package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.d.ts +2 -2
  244. package/lib/chevre/service/payment/any/publishPaymentUrl.d.ts +66 -0
  245. package/lib/chevre/service/payment/any/publishPaymentUrl.js +133 -0
  246. package/lib/chevre/service/payment/any/voidPayTransaction.d.ts +34 -0
  247. package/lib/chevre/service/payment/any/voidPayTransaction.js +38 -0
  248. package/lib/chevre/service/payment/any.d.ts +8 -305
  249. package/lib/chevre/service/payment/any.js +17 -857
  250. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.d.ts +8 -6
  251. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.js +3 -3
  252. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.d.ts +8 -6
  253. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.js +3 -3
  254. package/lib/chevre/service/payment/creditCard/authorize.d.ts +3 -2
  255. package/lib/chevre/service/payment/creditCard/authorize.js +2 -2
  256. package/lib/chevre/service/payment/creditCard/voidTransaction.d.ts +9 -8
  257. package/lib/chevre/service/payment/creditCard/voidTransaction.js +15 -7
  258. package/lib/chevre/service/payment/movieTicket/authorize.d.ts +2 -0
  259. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.d.ts +3 -3
  260. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +3 -3
  261. package/lib/chevre/service/payment/movieTicket/validation.d.ts +11 -10
  262. package/lib/chevre/service/payment/movieTicket/validation.js +25 -15
  263. package/lib/chevre/service/report/telemetry.d.ts +4 -0
  264. package/lib/chevre/service/report/telemetry.js +7 -12
  265. package/lib/chevre/service/task/acceptCOAOffer.js +11 -6
  266. package/lib/chevre/service/task/authorizePayment.js +16 -5
  267. package/lib/chevre/service/task/checkMovieTicket.js +3 -3
  268. package/lib/chevre/service/task/checkResource.js +2 -2
  269. package/lib/chevre/service/task/confirmPayTransaction.js +2 -2
  270. package/lib/chevre/service/task/deleteTransaction.js +7 -1
  271. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +4 -2
  272. package/lib/chevre/service/task/onOrderPaymentCompleted.js +2 -2
  273. package/lib/chevre/service/task/pay.js +3 -1
  274. package/lib/chevre/service/task/payment/payByTask.d.ts +15 -12
  275. package/lib/chevre/service/task/payment/payByTask.js +1 -1
  276. package/lib/chevre/service/task/payment/voidPaymentByTask.d.ts +2 -0
  277. package/lib/chevre/service/task/placeOrder.js +6 -4
  278. package/lib/chevre/service/task/publishPaymentUrl.js +11 -5
  279. package/lib/chevre/service/task/returnOrder.js +4 -4
  280. package/lib/chevre/service/task/returnPayTransaction.js +4 -3
  281. package/lib/chevre/service/task/sendOrder.js +4 -4
  282. package/lib/chevre/service/task/voidMoneyTransferTransaction.js +11 -6
  283. package/lib/chevre/service/task/voidPayTransaction.js +10 -4
  284. package/lib/chevre/service/task/voidPayment.js +2 -0
  285. package/lib/chevre/service/task/voidRegisterServiceTransaction.js +7 -6
  286. package/lib/chevre/service/task/voidReserveTransaction.js +6 -3
  287. package/lib/chevre/service/transaction/deleteTransaction.d.ts +6 -0
  288. package/lib/chevre/service/transaction/deleteTransaction.js +56 -14
  289. package/lib/chevre/service/transaction/moneyTransfer.d.ts +12 -9
  290. package/lib/chevre/service/transaction/moneyTransfer.js +11 -11
  291. package/lib/chevre/service/transaction/placeOrder/confirm.d.ts +2 -2
  292. package/lib/chevre/service/transaction/placeOrder/confirm.js +10 -9
  293. package/lib/chevre/service/transaction/placeOrder/exportTasksById.d.ts +7 -6
  294. package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +1 -1
  295. package/lib/chevre/service/transaction/placeOrder/{publishOrderNumberIfNotExist.d.ts → issueOrderNumberIfNotExist.d.ts} +4 -4
  296. package/lib/chevre/service/transaction/placeOrder/{publishOrderNumberIfNotExist.js → issueOrderNumberIfNotExist.js} +21 -13
  297. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.d.ts +2 -2
  298. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +3 -3
  299. package/lib/chevre/service/transaction/placeOrder/start.d.ts +3 -3
  300. package/lib/chevre/service/transaction/placeOrder/start.js +2 -2
  301. package/lib/chevre/service/transaction/placeOrder/updateAgent.d.ts +23 -0
  302. package/lib/chevre/service/transaction/placeOrder/updateAgent.js +126 -0
  303. package/lib/chevre/service/transaction/placeOrder.d.ts +2 -1
  304. package/lib/chevre/service/transaction/placeOrder.js +3 -1
  305. package/lib/chevre/service/transaction/returnOrder/preStart.d.ts +1 -1
  306. package/lib/chevre/service/transaction/returnOrder.d.ts +16 -14
  307. package/lib/chevre/service/transaction/returnOrder.js +4 -4
  308. package/lib/chevre/service/transaction.d.ts +9 -21
  309. package/lib/chevre/service/transaction.js +5 -111
  310. package/package.json +5 -10
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.invalidatePaymentUrl = invalidatePaymentUrl;
27
+ const factory = __importStar(require("../../../factory"));
28
+ /**
29
+ * 決済承認中止タスクから決済URLを無効化する
30
+ */
31
+ function invalidatePaymentUrl(params) {
32
+ return async (repos
33
+ // settings: Settings
34
+ ) => {
35
+ if (params.purpose.typeOf !== factory.transactionType.PlaceOrder) {
36
+ throw new factory.errors.Argument('purpose.typeOf', `must be ${factory.transactionType.PlaceOrder}`);
37
+ }
38
+ const transaction = await repos.placeOrder.findPlaceOrderById({
39
+ typeOf: params.purpose.typeOf,
40
+ id: params.purpose.id
41
+ }, ['typeOf', 'status', 'object', 'project', 'seller', 'agent']);
42
+ // const orderCancelled: boolean = params.purpose.result?.order?.orderStatus === factory.orderStatus.OrderCancelled;
43
+ // if (transaction.status === factory.transactionStatusType.Confirmed) {
44
+ // if (!orderCancelled) {
45
+ // // no op
46
+ // return;
47
+ // }
48
+ // }
49
+ // support multiple accept actions(2025-02-25~)
50
+ let acceptPayActions = await repos.acceptPayAction.findAcceptActionsByPurpose({
51
+ // project: { id: { $eq: transaction.project.id } },
52
+ // typeOf: { $eq: factory.actionType.AcceptAction },
53
+ // // actionStatus: { $in: [factory.actionStatusType.CompletedActionStatus] }, // all statuses(2025-02-26~)
54
+ // purpose: { id: { $in: [transaction.id] } },
55
+ // object: {
56
+ // // transactionNumber: { $eq: paymentMethodIdByPaymentUrl },
57
+ // typeOf: { $eq: factory.assetTransactionType.Pay }
58
+ // }
59
+ project: { id: transaction.project.id },
60
+ purpose: { id: transaction.id },
61
+ }, ['object']);
62
+ switch (transaction.status) {
63
+ case factory.transactionStatusType.InProgress:
64
+ throw new factory.errors.NotImplemented(`${transaction.status} not implemented`);
65
+ case factory.transactionStatusType.Confirmed:
66
+ // support OrderCanceled(2025-02-25~)
67
+ const orderCancelled = params.purpose.result?.order?.orderStatus === factory.orderStatus.OrderCancelled;
68
+ if (!orderCancelled) {
69
+ const paymentMethodIdByPaymentUrl = transaction.object.paymentMethods?.paymentMethodId;
70
+ if (typeof paymentMethodIdByPaymentUrl === 'string') {
71
+ acceptPayActions = acceptPayActions.filter(({ object }) => object.transactionNumber !== paymentMethodIdByPaymentUrl);
72
+ }
73
+ }
74
+ break;
75
+ default:
76
+ // no op
77
+ }
78
+ const invalidatePaymentUrlTasks = [];
79
+ const runsAt = new Date();
80
+ for (const acceptPayAction of acceptPayActions) {
81
+ const paymentMethodIdByPaymentUrl = acceptPayAction.object.transactionNumber;
82
+ const paymentMethodType = acceptPayAction.object.object.paymentMethod.identifier;
83
+ if (typeof paymentMethodType === 'string' && paymentMethodType.length > 0) {
84
+ // create task(2025-02-26~)
85
+ // await PayTransactionService.invalidatePaymentUrl({})(repos, settings);
86
+ const invalidatePaymentUrlData = {
87
+ project: transaction.project,
88
+ typeOf: factory.actionType.RefundAction,
89
+ agent: {
90
+ typeOf: transaction.seller.typeOf,
91
+ name: (typeof transaction.seller.name === 'string')
92
+ ? transaction.seller.name
93
+ : String(transaction.seller.name?.ja),
94
+ id: transaction.seller.id
95
+ },
96
+ recipient: {
97
+ typeOf: transaction.agent.typeOf,
98
+ id: transaction.agent.id,
99
+ name: transaction.agent.name
100
+ },
101
+ object: [{
102
+ typeOf: factory.service.paymentService.PaymentServiceType.CreditCard,
103
+ id: acceptPayAction.object.object.id,
104
+ paymentMethod: {
105
+ additionalProperty: [],
106
+ name: paymentMethodType,
107
+ typeOf: paymentMethodType,
108
+ paymentMethodId: paymentMethodIdByPaymentUrl
109
+ },
110
+ refundFee: 0
111
+ }],
112
+ purpose: { typeOf: transaction.typeOf, id: transaction.id },
113
+ instrument: []
114
+ // ...(typeof params.sameAs?.id === 'string') ? { sameAs: params.sameAs } : undefined
115
+ };
116
+ invalidatePaymentUrlTasks.push({
117
+ project: transaction.project,
118
+ name: factory.taskName.InvalidatePaymentUrl,
119
+ status: factory.taskStatus.Ready,
120
+ runsAt,
121
+ remainingNumberOfTries: 10,
122
+ numberOfTried: 0,
123
+ executionResults: [],
124
+ data: invalidatePaymentUrlData
125
+ });
126
+ }
127
+ }
128
+ if (invalidatePaymentUrlTasks.length > 0) {
129
+ await repos.task.saveMany(invalidatePaymentUrlTasks, { emitImmediately: true });
130
+ }
131
+ // const paymentMethodIdByPaymentUrl = transaction.object.paymentMethods?.paymentMethodId;
132
+ // if (typeof paymentMethodIdByPaymentUrl === 'string' && paymentMethodIdByPaymentUrl.length > 0) {
133
+ // const acceptPayAction = (<Pick<IAcceptPayAction, 'object'>[]>await repos.action.search(
134
+ // {
135
+ // limit: 1,
136
+ // page: 1,
137
+ // project: { id: { $eq: transaction.project.id } },
138
+ // typeOf: { $eq: factory.actionType.AcceptAction },
139
+ // actionStatus: { $in: [factory.actionStatusType.CompletedActionStatus] },
140
+ // purpose: { id: { $in: [transaction.id] } },
141
+ // object: {
142
+ // transactionNumber: { $eq: paymentMethodIdByPaymentUrl },
143
+ // typeOf: { $eq: factory.assetTransactionType.Pay }
144
+ // }
145
+ // },
146
+ // ['object']
147
+ // )).shift();
148
+ // if (acceptPayAction !== undefined) {
149
+ // // const paymentMethodType = transaction.object.paymentMethods?.typeOf;
150
+ // const paymentMethodType = acceptPayAction.object.object.paymentMethod.identifier;
151
+ // if (typeof paymentMethodType === 'string' && paymentMethodType.length > 0) {
152
+ // // chevreで決済URL無効化
153
+ // await PayTransactionService.invalidatePaymentUrl({
154
+ // project: transaction.project,
155
+ // typeOf: factory.actionType.RefundAction,
156
+ // agent: {
157
+ // typeOf: transaction.seller.typeOf,
158
+ // name: (typeof transaction.seller.name === 'string')
159
+ // ? transaction.seller.name
160
+ // : String(transaction.seller.name?.ja),
161
+ // id: transaction.seller.id
162
+ // },
163
+ // recipient: {
164
+ // typeOf: transaction.agent.typeOf,
165
+ // id: transaction.agent.id,
166
+ // name: transaction.agent.name
167
+ // },
168
+ // object: [{
169
+ // typeOf: factory.service.paymentService.PaymentServiceType.CreditCard,
170
+ // id: acceptPayAction.object.object.id,
171
+ // paymentMethod: {
172
+ // additionalProperty: [],
173
+ // name: paymentMethodType,
174
+ // typeOf: paymentMethodType,
175
+ // paymentMethodId: paymentMethodIdByPaymentUrl
176
+ // },
177
+ // refundFee: 0
178
+ // }],
179
+ // purpose: { typeOf: transaction.typeOf, id: transaction.id },
180
+ // instrument: [],
181
+ // ...(typeof params.sameAs?.id === 'string') ? { sameAs: params.sameAs } : undefined
182
+ // })(repos, settings);
183
+ // }
184
+ // }
185
+ // }
186
+ };
187
+ }
@@ -5,9 +5,13 @@ import * as factory from '../../../factory';
5
5
  import type { AccountingReportRepo } from '../../../repo/accountingReport';
6
6
  import type { ActionRepo } from '../../../repo/action';
7
7
  import type { TaskRepo } from '../../../repo/task';
8
- declare function onPayActionCompleted(payAction: Pick<factory.action.trade.pay.IAction, 'id' | 'object' | 'potentialActions' | 'project' | 'purpose' | 'typeOf'>): (repos: {
8
+ interface IOnPayActionCompletedRepos {
9
9
  action: ActionRepo;
10
10
  accountingReport: AccountingReportRepo;
11
11
  task: TaskRepo;
12
- }) => Promise<void>;
13
- export { onPayActionCompleted };
12
+ }
13
+ /**
14
+ * 決済アクション完了時処理
15
+ */
16
+ declare function onPayActionCompleted(payAction: Pick<factory.action.trade.pay.IAction, 'id' | 'object' | 'potentialActions' | 'project' | 'purpose' | 'typeOf'>): (repos: IOnPayActionCompletedRepos) => Promise<void>;
17
+ export { IOnPayActionCompletedRepos, onPayActionCompleted };
@@ -30,6 +30,9 @@ exports.onPayActionCompleted = onPayActionCompleted;
30
30
  const factory = __importStar(require("../../../factory"));
31
31
  const factory_1 = require("./factory");
32
32
  const onPaymentStatusChanged_1 = require("./onPaymentStatusChanged");
33
+ /**
34
+ * 決済アクション完了時処理
35
+ */
33
36
  function onPayActionCompleted(payAction) {
34
37
  return async (repos) => {
35
38
  const aciton4inform = (0, factory_1.optimizeAction4inform)(payAction);
@@ -0,0 +1,30 @@
1
+ import * as factory from '../../../factory';
2
+ import type { AccountingReportRepo } from '../../../repo/accountingReport';
3
+ import type { AuthorizePaymentMethodActionRepo } from '../../../repo/action/authorizePaymentMethod';
4
+ import type { AssetTransactionRepo } from '../../../repo/assetTransaction';
5
+ import type { TaskRepo } from '../../../repo/task';
6
+ import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
7
+ interface IProcessVoidPayTransactionRepos {
8
+ action?: never;
9
+ authorizePaymentMethodAction: AuthorizePaymentMethodActionRepo;
10
+ accountingReport: AccountingReportRepo;
11
+ assetTransaction: AssetTransactionRepo;
12
+ task: TaskRepo;
13
+ placeOrder: PlaceOrderRepo;
14
+ }
15
+ /**
16
+ * 決済承認中止
17
+ * apiもしくはタスクから決済承認を取り消す
18
+ */
19
+ declare function processVoidPayTransaction(params: factory.task.IData<factory.taskName.VoidPayTransaction> & {
20
+ project: {
21
+ id: string;
22
+ };
23
+ sameAs?: {
24
+ /**
25
+ * 実行元タスクID
26
+ */
27
+ id: string;
28
+ };
29
+ }): (repos: IProcessVoidPayTransactionRepos) => Promise<void>;
30
+ export { IProcessVoidPayTransactionRepos, processVoidPayTransaction, };
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.processVoidPayTransaction = processVoidPayTransaction;
27
+ const factory = __importStar(require("../../../factory"));
28
+ const PayTransactionService = __importStar(require("../../assetTransaction/pay"));
29
+ /**
30
+ * 決済承認中止
31
+ * apiもしくはタスクから決済承認を取り消す
32
+ */
33
+ function processVoidPayTransaction(params) {
34
+ return async (repos) => {
35
+ const cancelAction = {
36
+ startTime: new Date(),
37
+ agent: { id: params.project.id, typeOf: factory.organizationType.Project },
38
+ ...(typeof params.sameAs?.id === 'string') ? { sameAs: { id: params.sameAs.id, typeOf: 'Task' } } : undefined
39
+ };
40
+ let transaction;
41
+ // アクションID指定の場合、進行中取引検証(2023-02-24~)
42
+ if (typeof params.id === 'string') {
43
+ transaction = await repos.placeOrder.findPlaceOrderInProgressById({ typeOf: params.purpose.typeOf, id: params.purpose.id }, ['typeOf', 'status']);
44
+ }
45
+ else {
46
+ transaction = await repos.placeOrder.findPlaceOrderById({ typeOf: params.purpose.typeOf, id: params.purpose.id }, ['typeOf', 'status', 'result']);
47
+ }
48
+ // 承認アクションを取得
49
+ let authorizeActions;
50
+ if (typeof params.id === 'string') {
51
+ const authorizeAction = await repos.authorizePaymentMethodAction.findById({ typeOf: factory.actionType.AuthorizeAction, id: params.id });
52
+ // 取引内のアクションかどうか確認
53
+ if (authorizeAction.purpose.typeOf !== transaction.typeOf || authorizeAction.purpose.id !== transaction.id) {
54
+ throw new factory.errors.Argument('Transaction', 'Action not found in the transaction');
55
+ }
56
+ authorizeActions = [authorizeAction];
57
+ }
58
+ else {
59
+ authorizeActions = await repos.authorizePaymentMethodAction.findAuthorizePaymentMethodActionsByPurpose({
60
+ // typeOf: factory.actionType.AuthorizeAction,
61
+ purpose: { typeOf: transaction.typeOf, id: transaction.id },
62
+ // object: { typeOf: { $eq: factory.action.authorize.paymentMethod.any.ResultType.Payment } }
63
+ });
64
+ switch (transaction.status) {
65
+ case factory.transactionStatusType.InProgress:
66
+ throw new factory.errors.NotImplemented(`${transaction.status} not implemented`);
67
+ case factory.transactionStatusType.Confirmed:
68
+ // OrderCancelledを考慮(2023-08-30~)
69
+ const orderCancelled = params.purpose.result?.order?.orderStatus === factory.orderStatus.OrderCancelled;
70
+ if (!orderCancelled) {
71
+ // 取り消すべきアクションに絞る
72
+ authorizeActions = authorizeActions.filter(({ actionStatus }) => actionStatus !== factory.actionStatusType.CompletedActionStatus);
73
+ const actionIdsFromTransactionResult = transaction.result?.authorizeActions?.map(({ id }) => id);
74
+ if (!Array.isArray(actionIdsFromTransactionResult)) {
75
+ throw new factory.errors.Argument('Transaction', `${transaction.id} must have result.authorizeActions`);
76
+ }
77
+ authorizeActions = authorizeActions.filter(({ id }) => !actionIdsFromTransactionResult.includes(id));
78
+ // CreditCardIFでは、事前発行のpaymentMethodIdを承認時に指定するケースがある
79
+ // その場合、paymentMethodIdの重複がありうる
80
+ // exclude paymentMethodId in the order(2025-02-25~)
81
+ let authorizedPaymentMethodIds = [];
82
+ authorizedPaymentMethodIds = authorizeActions.filter(({ id }) => actionIdsFromTransactionResult.includes(id))
83
+ .map(({ object }) => object.paymentMethodId);
84
+ authorizedPaymentMethodIds = [...new Set(authorizedPaymentMethodIds)];
85
+ authorizeActions =
86
+ authorizeActions.filter(({ object }) => !authorizedPaymentMethodIds.includes(object.paymentMethodId));
87
+ }
88
+ break;
89
+ default:
90
+ // no op
91
+ }
92
+ }
93
+ const errors = [];
94
+ for (const action of authorizeActions) {
95
+ // 失敗するケースがあっても、残りが少なくとも処理されるようにエラーハンドリング
96
+ try {
97
+ await repos.authorizePaymentMethodAction.cancelWithVoid({ typeOf: action.typeOf, id: action.id, cancelAction });
98
+ // 取引が存在すれば中止
99
+ const transactionNumber = action.object.paymentMethodId;
100
+ if (typeof transactionNumber === 'string' && transactionNumber.length > 0) {
101
+ const payTransaction = (await repos.assetTransaction.search({
102
+ limit: 1,
103
+ page: 1,
104
+ project: { id: { $eq: action.project.id } },
105
+ typeOf: factory.assetTransactionType.Pay,
106
+ transactionNumber: { $eq: transactionNumber }
107
+ }, ['_id', 'status'])).shift();
108
+ if (payTransaction !== undefined) {
109
+ // ステータス検証(Expiredから実行される可能性がある)
110
+ if (payTransaction.status !== factory.transactionStatusType.Canceled
111
+ && payTransaction.status !== factory.transactionStatusType.Expired) {
112
+ await PayTransactionService.cancel({ transactionNumber })(repos);
113
+ }
114
+ }
115
+ }
116
+ }
117
+ catch (error) {
118
+ errors.push(error);
119
+ }
120
+ }
121
+ if (errors.length > 0) {
122
+ throw errors[0];
123
+ }
124
+ };
125
+ }
@@ -1,7 +1,7 @@
1
1
  import * as factory from '../../../../factory';
2
2
  import type { AuthorizationRepo } from '../../../../repo/authorization';
3
3
  import type { TicketRepo } from '../../../../repo/ticket';
4
- import type { ITransactionInProgress } from '../../../../repo/transaction';
4
+ import type { ITransactionInProgress } from '../../../../repo/transaction/placeOrder';
5
5
  import type { TransactionNumberRepo } from '../../../../repo/transactionNumber';
6
6
  interface IFixTransactionNumberRepos {
7
7
  authorization: AuthorizationRepo;
@@ -17,7 +17,7 @@ type IObjectWithoutDetail = factory.action.authorize.paymentMethod.any.IObjectWi
17
17
  */
18
18
  declare function fixTransactionNumberOnPublishPaymentUrl(params: {
19
19
  object: IObjectWithoutDetail;
20
- transaction: Pick<ITransactionInProgress<factory.transactionType.PlaceOrder>, 'id' | 'project'>;
20
+ transaction: Pick<ITransactionInProgress, 'id' | 'project'>;
21
21
  paymentServiceType: factory.service.paymentService.PaymentServiceType;
22
22
  }): IFixTransactionNumberOperation<{
23
23
  transactionNumber: string;
@@ -0,0 +1,66 @@
1
+ import * as factory from '../../../factory';
2
+ import { Settings } from '../../../settings';
3
+ import type { AcceptedPaymentMethodRepo } from '../../../repo/acceptedPaymentMethod';
4
+ import type { AcceptPayActionRepo } from '../../../repo/action/acceptPay';
5
+ import type { AuthorizeInvoiceActionRepo } from '../../../repo/action/authorizeInvoice';
6
+ import type { AssetTransactionRepo } from '../../../repo/assetTransaction';
7
+ import type { AuthorizationRepo } from '../../../repo/authorization';
8
+ import type { EventRepo } from '../../../repo/event';
9
+ import type { EventSeriesRepo } from '../../../repo/eventSeries';
10
+ import type { OrderNumberRepo } from '../../../repo/orderNumber';
11
+ import type { PaymentServiceRepo } from '../../../repo/paymentService';
12
+ import type { PaymentServiceProviderRepo } from '../../../repo/paymentServiceProvider';
13
+ import type { ProjectRepo } from '../../../repo/project';
14
+ import type { SellerPaymentAcceptedRepo } from '../../../repo/sellerPaymentAccepted';
15
+ import type { TicketRepo } from '../../../repo/ticket';
16
+ import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
17
+ import type { TransactionNumberRepo } from '../../../repo/transactionNumber';
18
+ import * as PayTransactionService from '../../assetTransaction/pay';
19
+ interface IPublishPaymentUrlRepos {
20
+ acceptedPaymentMethod: AcceptedPaymentMethodRepo;
21
+ acceptPayAction: AcceptPayActionRepo;
22
+ authorizeInvoiceAction: AuthorizeInvoiceActionRepo;
23
+ assetTransaction: AssetTransactionRepo;
24
+ authorization: AuthorizationRepo;
25
+ event: EventRepo;
26
+ eventSeries: EventSeriesRepo;
27
+ orderNumber: OrderNumberRepo;
28
+ paymentAccepted: SellerPaymentAcceptedRepo;
29
+ paymentService: PaymentServiceRepo;
30
+ paymentServiceProvider: PaymentServiceProviderRepo;
31
+ project: ProjectRepo;
32
+ ticket: TicketRepo;
33
+ placeOrder: PlaceOrderRepo;
34
+ transactionNumber: TransactionNumberRepo;
35
+ }
36
+ type IPublishPaymentUrlOperation<T> = (repos: IPublishPaymentUrlRepos, settings: Settings) => Promise<T>;
37
+ type IObjectWithoutDetail = factory.action.authorize.paymentMethod.any.IObjectWithoutDetail & {
38
+ ticketToken?: string;
39
+ };
40
+ /**
41
+ * 外部決済ロケーションを発行する
42
+ */
43
+ declare function publishPaymentUrl(params: {
44
+ project: {
45
+ id: string;
46
+ };
47
+ agent: {
48
+ id: string;
49
+ };
50
+ object: Pick<IObjectWithoutDetail, 'amount' | 'creditCard' | 'issuedThrough' | 'method' | 'paymentMethod' | 'referencesOrder'>;
51
+ purpose: factory.action.authorize.paymentMethod.any.IPurpose;
52
+ paymentServiceType: factory.service.paymentService.PaymentServiceType;
53
+ location: factory.action.trade.pay.ILocation;
54
+ sameAs?: {
55
+ /**
56
+ * 実行元タスクID
57
+ */
58
+ id: string;
59
+ };
60
+ /**
61
+ * add identifier for an unique index(2025-02-25~)
62
+ */
63
+ identifier?: string;
64
+ instrument: factory.action.trade.pay.IAcceptedPaymentMethodOfferAsInstrument[];
65
+ }): IPublishPaymentUrlOperation<Pick<PayTransactionService.IPublishPaymentUrlResult, 'paymentMethodId' | 'paymentUrl'>>;
66
+ export { IPublishPaymentUrlRepos, publishPaymentUrl };
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.publishPaymentUrl = publishPaymentUrl;
27
+ const factory = __importStar(require("../../../factory"));
28
+ // import type { TransactionProcessRepo } from '../../repo/transactionProcess';
29
+ const PayTransactionService = __importStar(require("../../assetTransaction/pay"));
30
+ const issueOrderNumberIfNotExist_1 = require("../../transaction/placeOrder/issueOrderNumberIfNotExist");
31
+ const fixTransactionNumberOnPublishPaymentUrl_1 = require("./publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl");
32
+ const factory_1 = require("./factory");
33
+ /**
34
+ * 外部決済ロケーションを発行する
35
+ */
36
+ function publishPaymentUrl(params) {
37
+ return async (repos, settings) => {
38
+ const { paymentServiceType, purpose, project } = params;
39
+ if (purpose.typeOf !== factory.transactionType.PlaceOrder) {
40
+ throw new factory.errors.NotImplemented(`purpose.typeOf '${purpose.typeOf} not implemented'`);
41
+ }
42
+ try {
43
+ const transaction = await repos.placeOrder.findPlaceOrderInProgressById({ typeOf: purpose.typeOf, id: purpose.id }, ['expires', 'seller', 'project']);
44
+ if (project.id !== transaction.project.id) {
45
+ throw new factory.errors.NotFound(factory.transactionType.PlaceOrder);
46
+ }
47
+ // issueOrderNumber(2025-03-11~)
48
+ await (0, issueOrderNumberIfNotExist_1.issueOrderNumberIfNotExist)({
49
+ project: { id: transaction.project.id },
50
+ id: transaction.id,
51
+ object: { orderDate: new Date() }
52
+ })(repos);
53
+ // 取引番号生成
54
+ const { transactionNumber, ticketToken } = await (0, fixTransactionNumberOnPublishPaymentUrl_1.fixTransactionNumberOnPublishPaymentUrl)({
55
+ object: params.object,
56
+ transaction,
57
+ paymentServiceType
58
+ })(repos);
59
+ // let transactionNumber: string | undefined;
60
+ // // support ticketToken(2024-08-21~)
61
+ // const { permitOrInvoice } =
62
+ // await verifyTicketTokenAsNeeded({ project, object: params.object, paymentServiceType, purpose })(repos);
63
+ // if (permitOrInvoice?.typeOf === factory.permit.PermitType.Permit) {
64
+ // const paymentMethodIdByPermit = permitOrInvoice?.identifier;
65
+ // if (typeof paymentMethodIdByPermit === 'string') {
66
+ // transactionNumber = paymentMethodIdByPermit;
67
+ // }
68
+ // }
69
+ // if (typeof transactionNumber !== 'string') {
70
+ // const publishTransactionNumberResult = await repos.transactionNumber.publishByTimestamp({ startDate: new Date() });
71
+ // transactionNumber = publishTransactionNumberResult.transactionNumber;
72
+ // }
73
+ // URL発行
74
+ const authorizeObject = {
75
+ ...params.object,
76
+ accountId: '',
77
+ paymentMethodId: transactionNumber,
78
+ typeOf: factory.action.authorize.paymentMethod.any.ResultType.Payment,
79
+ // support referencesOrder(2025-11-24~)
80
+ referencesOrder: (params.object.referencesOrder?.typeOf === factory.order.OrderType.Order)
81
+ ? params.object.referencesOrder
82
+ : { typeOf: factory.order.OrderType.Order }
83
+ };
84
+ const startParams = (0, factory_1.creatPublishPaymentUrlParams)({
85
+ object: authorizeObject,
86
+ paymentServiceType,
87
+ transaction: transaction,
88
+ transactionNumber: transactionNumber,
89
+ location: params.location,
90
+ instrument: params.instrument,
91
+ ...(typeof params.identifier === 'string') ? { identifier: params.identifier } : undefined,
92
+ ...(typeof ticketToken === 'string') ? { ticketToken } : undefined
93
+ });
94
+ const taskId = params.sameAs?.id;
95
+ const result = await PayTransactionService.publishPaymentUrl(startParams, {
96
+ purposeAsTransaction: { id: transaction.id },
97
+ executor: (typeof taskId === 'string') ? { id: taskId } : {} // タスク関連付け(2024-05-22~)
98
+ })(repos, settings);
99
+ // 取引に保管
100
+ const paymentMethodByPaymentUrl = {
101
+ // typeOf: params.object.paymentMethod, // discontinue(2024-06-05~)
102
+ paymentMethodId: result.paymentMethodId
103
+ // paymentUrl: result.paymentUrl, // migrate to recipe(2024-06-05~)
104
+ // issuedThrough: {
105
+ // id: (typeof startParams.object.id === 'string') ? startParams.object.id : ''
106
+ // } // migrate to acceptAction(2024-06-05~)
107
+ // GMO IFを保管(2024-01-01~)
108
+ // entryTranArgs: result.entryTranArgs, // migrate to recipe(2024-06-05~)
109
+ // entryTranResult: result.entryTranResult, // migrate to recipe(2024-06-05~)
110
+ // execTranArgs: result.execTranArgs, // migrate to recipe(2024-06-05~)
111
+ // execTranResult: result.execTranResult, // migrate to recipe(2024-06-05~)
112
+ // paymentMethod: startParams.object.paymentMethod // 拡張(2024-01-04~) // migrate to acceptAction(2024-06-05~)
113
+ };
114
+ await repos.placeOrder.findByIdAndUpdateInProgress({
115
+ id: transaction.id,
116
+ update: { $set: { 'object.paymentMethods': paymentMethodByPaymentUrl } }
117
+ });
118
+ return {
119
+ paymentMethodId: result.paymentMethodId,
120
+ paymentUrl: result.paymentUrl
121
+ };
122
+ }
123
+ catch (error) {
124
+ // 複数対応(2024-03-27~)
125
+ if (Array.isArray(error)) {
126
+ throw error[0];
127
+ }
128
+ else {
129
+ throw error;
130
+ }
131
+ }
132
+ };
133
+ }
@@ -0,0 +1,34 @@
1
+ import * as factory from '../../../factory';
2
+ import type { AccountingReportRepo } from '../../../repo/accountingReport';
3
+ import type { AcceptPayActionRepo } from '../../../repo/action/acceptPay';
4
+ import type { AuthorizePaymentMethodActionRepo } from '../../../repo/action/authorizePaymentMethod';
5
+ import type { AssetTransactionRepo } from '../../../repo/assetTransaction';
6
+ import type { PaymentServiceRepo } from '../../../repo/paymentService';
7
+ import type { PaymentServiceProviderRepo } from '../../../repo/paymentServiceProvider';
8
+ import type { SellerPaymentAcceptedRepo } from '../../../repo/sellerPaymentAccepted';
9
+ import type { TaskRepo } from '../../../repo/task';
10
+ import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
11
+ /**
12
+ * 決済承認中止
13
+ * タスクから決済承認を取り消す
14
+ */
15
+ declare function voidPayTransaction(params: factory.task.IData<factory.taskName.VoidPayTransaction> & {
16
+ project: {
17
+ id: string;
18
+ };
19
+ sameAs?: {
20
+ id: string;
21
+ };
22
+ }): (repos: {
23
+ accountingReport: AccountingReportRepo;
24
+ action?: never;
25
+ acceptPayAction: AcceptPayActionRepo;
26
+ authorizePaymentMethodAction: AuthorizePaymentMethodActionRepo;
27
+ assetTransaction: AssetTransactionRepo;
28
+ paymentAccepted: SellerPaymentAcceptedRepo;
29
+ paymentService: PaymentServiceRepo;
30
+ paymentServiceProvider: PaymentServiceProviderRepo;
31
+ task: TaskRepo;
32
+ placeOrder: PlaceOrderRepo;
33
+ }) => Promise<void>;
34
+ export { voidPayTransaction, };