@unchainedshop/plugins 4.3.5 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (768) hide show
  1. package/README.md +137 -0
  2. package/lib/delivery/post.d.ts +0 -1
  3. package/lib/delivery/post.js +0 -1
  4. package/lib/delivery/send-message.d.ts +0 -1
  5. package/lib/delivery/send-message.js +0 -1
  6. package/lib/delivery/stores.d.ts +0 -1
  7. package/lib/delivery/stores.js +0 -1
  8. package/lib/enrollments/licensed.d.ts +0 -1
  9. package/lib/enrollments/licensed.js +0 -1
  10. package/lib/events/aws-eventbridge.d.ts +0 -1
  11. package/lib/events/aws-eventbridge.js +0 -3
  12. package/lib/events/node-event-emitter.d.ts +0 -1
  13. package/lib/events/node-event-emitter.js +0 -1
  14. package/lib/events/redis.d.ts +0 -1
  15. package/lib/events/redis.js +0 -1
  16. package/lib/files/gridfs/adapter.d.ts +3 -4
  17. package/lib/files/gridfs/adapter.js +6 -6
  18. package/lib/files/gridfs/handler-express.d.ts +2 -3
  19. package/lib/files/gridfs/handler-express.js +6 -9
  20. package/lib/files/gridfs/handler-fastify.d.ts +1 -2
  21. package/lib/files/gridfs/handler-fastify.js +6 -9
  22. package/lib/files/gridfs/index.d.ts +2 -3
  23. package/lib/files/gridfs/index.js +2 -3
  24. package/lib/files/gridfs/module.d.ts +0 -1
  25. package/lib/files/gridfs/module.js +0 -4
  26. package/lib/files/gridfs/sign.d.ts +0 -1
  27. package/lib/files/gridfs/sign.js +0 -1
  28. package/lib/files/minio/handler-express.d.ts +0 -1
  29. package/lib/files/minio/handler-express.js +0 -1
  30. package/lib/files/minio/handler-fastify.d.ts +1 -2
  31. package/lib/files/minio/handler-fastify.js +2 -1
  32. package/lib/files/minio/index.d.ts +1 -2
  33. package/lib/files/minio/index.js +1 -5
  34. package/lib/filters/local-search.d.ts +1 -2
  35. package/lib/filters/local-search.js +3 -6
  36. package/lib/filters/strict-equal.d.ts +0 -1
  37. package/lib/filters/strict-equal.js +0 -1
  38. package/lib/payment/apple-iap/adapter.d.ts +0 -1
  39. package/lib/payment/apple-iap/adapter.js +3 -5
  40. package/lib/payment/apple-iap/db/AppleTransactionsCollection.d.ts +1 -2
  41. package/lib/payment/apple-iap/db/AppleTransactionsCollection.js +2 -1
  42. package/lib/payment/apple-iap/fix-periods.d.ts +1 -2
  43. package/lib/payment/apple-iap/fix-periods.js +1 -1
  44. package/lib/payment/apple-iap/handler-express.d.ts +0 -1
  45. package/lib/payment/apple-iap/handler-express.js +2 -5
  46. package/lib/payment/apple-iap/handler-fastify.d.ts +1 -2
  47. package/lib/payment/apple-iap/handler-fastify.js +4 -5
  48. package/lib/payment/apple-iap/index.d.ts +2 -3
  49. package/lib/payment/apple-iap/index.js +2 -3
  50. package/lib/payment/apple-iap/module.d.ts +1 -2
  51. package/lib/payment/apple-iap/module.js +1 -2
  52. package/lib/payment/apple-iap/verify-receipt.d.ts +0 -1
  53. package/lib/payment/apple-iap/verify-receipt.js +0 -4
  54. package/lib/payment/braintree.d.ts +0 -1
  55. package/lib/payment/braintree.js +0 -5
  56. package/lib/payment/cryptopay/db/CryptopayTransactions.d.ts +1 -2
  57. package/lib/payment/cryptopay/db/CryptopayTransactions.js +2 -1
  58. package/lib/payment/cryptopay/denote-amount.d.ts +0 -24
  59. package/lib/payment/cryptopay/denote-amount.js +2 -26
  60. package/lib/payment/cryptopay/derive-btc-address.d.ts +0 -1
  61. package/lib/payment/cryptopay/derive-btc-address.js +4 -14
  62. package/lib/payment/cryptopay/derive-eth-address.d.ts +0 -1
  63. package/lib/payment/cryptopay/derive-eth-address.js +1 -3
  64. package/lib/payment/cryptopay/handle-webhook.d.ts +2 -3
  65. package/lib/payment/cryptopay/handle-webhook.js +3 -3
  66. package/lib/payment/cryptopay/handler-express.d.ts +0 -1
  67. package/lib/payment/cryptopay/handler-express.js +1 -2
  68. package/lib/payment/cryptopay/handler-fastify.d.ts +1 -2
  69. package/lib/payment/cryptopay/handler-fastify.js +2 -2
  70. package/lib/payment/cryptopay/index.d.ts +2 -3
  71. package/lib/payment/cryptopay/index.js +2 -3
  72. package/lib/payment/cryptopay/module.d.ts +1 -2
  73. package/lib/payment/cryptopay/module.js +2 -3
  74. package/lib/payment/cryptopay/plugin.d.ts +1 -2
  75. package/lib/payment/cryptopay/plugin.js +8 -37
  76. package/lib/payment/datatrans-v2/api/authorize.d.ts +1 -2
  77. package/lib/payment/datatrans-v2/api/authorize.js +0 -2
  78. package/lib/payment/datatrans-v2/api/authorizeAuthenticated.d.ts +1 -2
  79. package/lib/payment/datatrans-v2/api/authorizeAuthenticated.js +0 -1
  80. package/lib/payment/datatrans-v2/api/cancel.d.ts +1 -2
  81. package/lib/payment/datatrans-v2/api/cancel.js +0 -1
  82. package/lib/payment/datatrans-v2/api/index.d.ts +8 -9
  83. package/lib/payment/datatrans-v2/api/index.js +9 -10
  84. package/lib/payment/datatrans-v2/api/init.d.ts +1 -2
  85. package/lib/payment/datatrans-v2/api/init.js +2 -4
  86. package/lib/payment/datatrans-v2/api/makeFetcher.d.ts +0 -1
  87. package/lib/payment/datatrans-v2/api/makeFetcher.js +0 -3
  88. package/lib/payment/datatrans-v2/api/secureFields.d.ts +1 -2
  89. package/lib/payment/datatrans-v2/api/secureFields.js +1 -3
  90. package/lib/payment/datatrans-v2/api/settle.d.ts +1 -2
  91. package/lib/payment/datatrans-v2/api/settle.js +0 -1
  92. package/lib/payment/datatrans-v2/api/status.d.ts +1 -2
  93. package/lib/payment/datatrans-v2/api/status.js +0 -1
  94. package/lib/payment/datatrans-v2/api/types.d.ts +0 -1
  95. package/lib/payment/datatrans-v2/api/types.js +0 -1
  96. package/lib/payment/datatrans-v2/api/validate.d.ts +1 -2
  97. package/lib/payment/datatrans-v2/api/validate.js +0 -1
  98. package/lib/payment/datatrans-v2/generateSignature.d.ts +0 -1
  99. package/lib/payment/datatrans-v2/generateSignature.js +0 -2
  100. package/lib/payment/datatrans-v2/getPaths.d.ts +0 -1
  101. package/lib/payment/datatrans-v2/getPaths.js +0 -1
  102. package/lib/payment/datatrans-v2/handler-express.d.ts +0 -1
  103. package/lib/payment/datatrans-v2/handler-express.js +1 -2
  104. package/lib/payment/datatrans-v2/handler-fastify.d.ts +1 -2
  105. package/lib/payment/datatrans-v2/handler-fastify.js +1 -2
  106. package/lib/payment/datatrans-v2/index.d.ts +0 -1
  107. package/lib/payment/datatrans-v2/index.js +3 -14
  108. package/lib/payment/datatrans-v2/parseRegistrationData.d.ts +4 -5
  109. package/lib/payment/datatrans-v2/parseRegistrationData.js +1 -2
  110. package/lib/payment/datatrans-v2/roundedAmountFromOrder.d.ts +1 -2
  111. package/lib/payment/datatrans-v2/roundedAmountFromOrder.js +0 -1
  112. package/lib/payment/datatrans-v2/splitProperties.d.ts +0 -1
  113. package/lib/payment/datatrans-v2/splitProperties.js +0 -2
  114. package/lib/payment/invoice-prepaid.d.ts +0 -1
  115. package/lib/payment/invoice-prepaid.js +0 -1
  116. package/lib/payment/invoice.d.ts +0 -1
  117. package/lib/payment/invoice.js +0 -1
  118. package/lib/payment/paypal-checkout.d.ts +0 -1
  119. package/lib/payment/paypal-checkout.js +0 -11
  120. package/lib/payment/payrexx/api/index.d.ts +15 -15
  121. package/lib/payment/payrexx/api/index.js +15 -27
  122. package/lib/payment/payrexx/api/makeFetcher.d.ts +0 -1
  123. package/lib/payment/payrexx/api/makeFetcher.js +0 -1
  124. package/lib/payment/payrexx/handler-express.d.ts +0 -1
  125. package/lib/payment/payrexx/handler-express.js +0 -4
  126. package/lib/payment/payrexx/handler-fastify.d.ts +1 -2
  127. package/lib/payment/payrexx/handler-fastify.js +0 -4
  128. package/lib/payment/payrexx/index.d.ts +0 -1
  129. package/lib/payment/payrexx/index.js +9 -35
  130. package/lib/payment/payrexx/payrexx.d.ts +0 -1
  131. package/lib/payment/payrexx/payrexx.js +0 -1
  132. package/lib/payment/postfinance-checkout/api-client.d.ts +0 -1
  133. package/lib/payment/postfinance-checkout/api-client.js +0 -6
  134. package/lib/payment/postfinance-checkout/api-types.d.ts +49 -44
  135. package/lib/payment/postfinance-checkout/api-types.js +43 -51
  136. package/lib/payment/postfinance-checkout/api.d.ts +1 -2
  137. package/lib/payment/postfinance-checkout/api.js +2 -3
  138. package/lib/payment/postfinance-checkout/handler-express.d.ts +0 -1
  139. package/lib/payment/postfinance-checkout/handler-express.js +1 -2
  140. package/lib/payment/postfinance-checkout/handler-fastify.d.ts +1 -2
  141. package/lib/payment/postfinance-checkout/handler-fastify.js +1 -2
  142. package/lib/payment/postfinance-checkout/index.d.ts +2 -3
  143. package/lib/payment/postfinance-checkout/index.js +7 -10
  144. package/lib/payment/postfinance-checkout/types.d.ts +11 -10
  145. package/lib/payment/postfinance-checkout/types.js +9 -12
  146. package/lib/payment/postfinance-checkout/utils.d.ts +2 -3
  147. package/lib/payment/postfinance-checkout/utils.js +1 -2
  148. package/lib/payment/saferpay/adapter.d.ts +1 -2
  149. package/lib/payment/saferpay/adapter.js +2 -5
  150. package/lib/payment/saferpay/api/api/SaferpayClient.d.ts +6 -7
  151. package/lib/payment/saferpay/api/api/SaferpayClient.js +2 -2
  152. package/lib/payment/saferpay/api/api/SaferpayConnection.d.ts +0 -1
  153. package/lib/payment/saferpay/api/api/SaferpayConnection.js +0 -1
  154. package/lib/payment/saferpay/api/index.d.ts +4 -5
  155. package/lib/payment/saferpay/api/index.js +1 -2
  156. package/lib/payment/saferpay/api/models/PaymentMethods.d.ts +0 -1
  157. package/lib/payment/saferpay/api/models/PaymentMethods.js +0 -1
  158. package/lib/payment/saferpay/api/models/PaymentPageAssert.d.ts +4 -5
  159. package/lib/payment/saferpay/api/models/PaymentPageAssert.js +0 -1
  160. package/lib/payment/saferpay/api/models/PaymentPageInitialize.d.ts +4 -5
  161. package/lib/payment/saferpay/api/models/PaymentPageInitialize.js +0 -1
  162. package/lib/payment/saferpay/api/models/Request.d.ts +0 -1
  163. package/lib/payment/saferpay/api/models/Request.js +0 -1
  164. package/lib/payment/saferpay/api/models/Response.d.ts +0 -1
  165. package/lib/payment/saferpay/api/models/Response.js +0 -1
  166. package/lib/payment/saferpay/api/models/Transaction.d.ts +0 -1
  167. package/lib/payment/saferpay/api/models/Transaction.js +0 -1
  168. package/lib/payment/saferpay/api/models/TransactionCancel.d.ts +2 -3
  169. package/lib/payment/saferpay/api/models/TransactionCancel.js +0 -1
  170. package/lib/payment/saferpay/api/models/TransactionCapture.d.ts +3 -4
  171. package/lib/payment/saferpay/api/models/TransactionCapture.js +0 -1
  172. package/lib/payment/saferpay/buildSignature.d.ts +0 -1
  173. package/lib/payment/saferpay/buildSignature.js +0 -1
  174. package/lib/payment/saferpay/db/SaferpayTransactionsCollection.d.ts +1 -2
  175. package/lib/payment/saferpay/db/SaferpayTransactionsCollection.js +1 -1
  176. package/lib/payment/saferpay/getReturnPath.d.ts +0 -1
  177. package/lib/payment/saferpay/getReturnPath.js +0 -1
  178. package/lib/payment/saferpay/handler-express.d.ts +0 -1
  179. package/lib/payment/saferpay/handler-express.js +1 -2
  180. package/lib/payment/saferpay/handler-fastify.d.ts +1 -2
  181. package/lib/payment/saferpay/handler-fastify.js +1 -2
  182. package/lib/payment/saferpay/index.d.ts +2 -3
  183. package/lib/payment/saferpay/index.js +2 -3
  184. package/lib/payment/saferpay/module.d.ts +2 -3
  185. package/lib/payment/saferpay/module.js +2 -2
  186. package/lib/payment/stripe/handler-express.d.ts +0 -1
  187. package/lib/payment/stripe/handler-express.js +1 -2
  188. package/lib/payment/stripe/handler-fastify.d.ts +1 -2
  189. package/lib/payment/stripe/handler-fastify.js +1 -2
  190. package/lib/payment/stripe/index.d.ts +0 -1
  191. package/lib/payment/stripe/index.js +1 -4
  192. package/lib/payment/stripe/stripe.d.ts +1 -2
  193. package/lib/payment/stripe/stripe.js +1 -2
  194. package/lib/presets/all-express.d.ts +1 -2
  195. package/lib/presets/all-express.js +9 -10
  196. package/lib/presets/all-fastify.d.ts +2 -3
  197. package/lib/presets/all-fastify.js +9 -10
  198. package/lib/presets/all.d.ts +23 -24
  199. package/lib/presets/all.js +20 -25
  200. package/lib/presets/base-express.d.ts +0 -1
  201. package/lib/presets/base-express.js +1 -2
  202. package/lib/presets/base-fastify.d.ts +1 -2
  203. package/lib/presets/base-fastify.js +1 -3
  204. package/lib/presets/base.d.ts +23 -24
  205. package/lib/presets/base.js +23 -33
  206. package/lib/presets/countries/ch.d.ts +2 -3
  207. package/lib/presets/countries/ch.js +2 -3
  208. package/lib/presets/crypto-express.d.ts +1 -2
  209. package/lib/presets/crypto-express.js +2 -3
  210. package/lib/presets/crypto-fastify.d.ts +1 -2
  211. package/lib/presets/crypto-fastify.js +2 -3
  212. package/lib/presets/crypto.d.ts +6 -7
  213. package/lib/presets/crypto.js +6 -8
  214. package/lib/pricing/delivery-swiss-tax.d.ts +1 -2
  215. package/lib/pricing/delivery-swiss-tax.js +2 -3
  216. package/lib/pricing/discount-100-off.d.ts +1 -2
  217. package/lib/pricing/discount-100-off.js +0 -4
  218. package/lib/pricing/discount-half-price-manual.d.ts +1 -2
  219. package/lib/pricing/discount-half-price-manual.js +0 -4
  220. package/lib/pricing/discount-half-price.d.ts +1 -2
  221. package/lib/pricing/discount-half-price.js +0 -4
  222. package/lib/pricing/free-delivery.d.ts +1 -2
  223. package/lib/pricing/free-delivery.js +0 -1
  224. package/lib/pricing/free-payment.d.ts +1 -2
  225. package/lib/pricing/free-payment.js +0 -1
  226. package/lib/pricing/order-delivery.d.ts +1 -2
  227. package/lib/pricing/order-delivery.js +0 -2
  228. package/lib/pricing/order-discount.d.ts +1 -2
  229. package/lib/pricing/order-discount.js +0 -4
  230. package/lib/pricing/order-items-discount.d.ts +0 -1
  231. package/lib/pricing/order-items-discount.js +0 -5
  232. package/lib/pricing/order-items.d.ts +0 -1
  233. package/lib/pricing/order-items.js +0 -2
  234. package/lib/pricing/order-payment.d.ts +0 -1
  235. package/lib/pricing/order-payment.js +0 -2
  236. package/lib/pricing/order-round.d.ts +1 -2
  237. package/lib/pricing/order-round.js +0 -6
  238. package/lib/pricing/product-catalog-price-options.d.ts +0 -1
  239. package/lib/pricing/product-catalog-price-options.js +0 -1
  240. package/lib/pricing/product-catalog-price.d.ts +1 -2
  241. package/lib/pricing/product-catalog-price.js +2 -3
  242. package/lib/pricing/product-discount.d.ts +0 -1
  243. package/lib/pricing/product-discount.js +0 -1
  244. package/lib/pricing/product-price-rateconversion.d.ts +1 -2
  245. package/lib/pricing/product-price-rateconversion.js +0 -4
  246. package/lib/pricing/product-round.d.ts +1 -2
  247. package/lib/pricing/product-round.js +0 -1
  248. package/lib/pricing/product-swiss-tax.d.ts +1 -2
  249. package/lib/pricing/product-swiss-tax.js +2 -5
  250. package/lib/pricing/tax/ch.d.ts +2 -3
  251. package/lib/pricing/tax/ch.js +0 -1
  252. package/lib/pricing/utils/isDeliveryAddressInCountry.d.ts +1 -2
  253. package/lib/pricing/utils/isDeliveryAddressInCountry.js +0 -1
  254. package/lib/quotations/manual.d.ts +0 -1
  255. package/lib/quotations/manual.js +0 -1
  256. package/lib/warehousing/eth-minter.d.ts +0 -1
  257. package/lib/warehousing/eth-minter.js +2 -11
  258. package/lib/warehousing/store.d.ts +0 -1
  259. package/lib/warehousing/store.js +0 -1
  260. package/lib/worker/budgetsms.d.ts +0 -1
  261. package/lib/worker/budgetsms.js +4 -52
  262. package/lib/worker/bulk-import.d.ts +1 -2
  263. package/lib/worker/bulk-import.js +1 -3
  264. package/lib/worker/bulkgate.d.ts +0 -1
  265. package/lib/worker/bulkgate.js +7 -20
  266. package/lib/worker/email.d.ts +0 -1
  267. package/lib/worker/email.js +0 -3
  268. package/lib/worker/enrollment-order-generator.d.ts +0 -1
  269. package/lib/worker/enrollment-order-generator.js +1 -2
  270. package/lib/worker/error-notifications.d.ts +1 -2
  271. package/lib/worker/error-notifications.js +0 -1
  272. package/lib/worker/export-token.d.ts +1 -2
  273. package/lib/worker/export-token.js +1 -2
  274. package/lib/worker/external.d.ts +1 -2
  275. package/lib/worker/external.js +0 -1
  276. package/lib/worker/heartbeat.d.ts +0 -1
  277. package/lib/worker/heartbeat.js +0 -1
  278. package/lib/worker/http-request.d.ts +1 -2
  279. package/lib/worker/http-request.js +0 -3
  280. package/lib/worker/message.d.ts +2 -3
  281. package/lib/worker/message.js +2 -3
  282. package/lib/worker/push-notification.d.ts +0 -1
  283. package/lib/worker/push-notification.js +0 -1
  284. package/lib/worker/twilio.d.ts +0 -1
  285. package/lib/worker/twilio.js +1 -2
  286. package/lib/worker/update-coinbase-rates.d.ts +0 -1
  287. package/lib/worker/update-coinbase-rates.js +1 -3
  288. package/lib/worker/update-ecb-rates.d.ts +0 -1
  289. package/lib/worker/update-ecb-rates.js +0 -3
  290. package/lib/worker/update-token-ownership.d.ts +1 -2
  291. package/lib/worker/update-token-ownership.js +0 -1
  292. package/lib/worker/zombie-killer.d.ts +1 -2
  293. package/lib/worker/zombie-killer.js +0 -7
  294. package/package.json +20 -19
  295. package/lib/delivery/post.d.ts.map +0 -1
  296. package/lib/delivery/post.js.map +0 -1
  297. package/lib/delivery/send-message.d.ts.map +0 -1
  298. package/lib/delivery/send-message.js.map +0 -1
  299. package/lib/delivery/stores.d.ts.map +0 -1
  300. package/lib/delivery/stores.js.map +0 -1
  301. package/lib/enrollments/licensed.d.ts.map +0 -1
  302. package/lib/enrollments/licensed.js.map +0 -1
  303. package/lib/events/aws-eventbridge.d.ts.map +0 -1
  304. package/lib/events/aws-eventbridge.js.map +0 -1
  305. package/lib/events/node-event-emitter.d.ts.map +0 -1
  306. package/lib/events/node-event-emitter.js.map +0 -1
  307. package/lib/events/redis.d.ts.map +0 -1
  308. package/lib/events/redis.js.map +0 -1
  309. package/lib/files/gridfs/adapter.d.ts.map +0 -1
  310. package/lib/files/gridfs/adapter.js.map +0 -1
  311. package/lib/files/gridfs/handler-express.d.ts.map +0 -1
  312. package/lib/files/gridfs/handler-express.js.map +0 -1
  313. package/lib/files/gridfs/handler-fastify.d.ts.map +0 -1
  314. package/lib/files/gridfs/handler-fastify.js.map +0 -1
  315. package/lib/files/gridfs/index.d.ts.map +0 -1
  316. package/lib/files/gridfs/index.js.map +0 -1
  317. package/lib/files/gridfs/module.d.ts.map +0 -1
  318. package/lib/files/gridfs/module.js.map +0 -1
  319. package/lib/files/gridfs/sign.d.ts.map +0 -1
  320. package/lib/files/gridfs/sign.js.map +0 -1
  321. package/lib/files/minio/handler-express.d.ts.map +0 -1
  322. package/lib/files/minio/handler-express.js.map +0 -1
  323. package/lib/files/minio/handler-fastify.d.ts.map +0 -1
  324. package/lib/files/minio/handler-fastify.js.map +0 -1
  325. package/lib/files/minio/index.d.ts.map +0 -1
  326. package/lib/files/minio/index.js.map +0 -1
  327. package/lib/filters/local-search.d.ts.map +0 -1
  328. package/lib/filters/local-search.js.map +0 -1
  329. package/lib/filters/strict-equal.d.ts.map +0 -1
  330. package/lib/filters/strict-equal.js.map +0 -1
  331. package/lib/payment/apple-iap/adapter.d.ts.map +0 -1
  332. package/lib/payment/apple-iap/adapter.js.map +0 -1
  333. package/lib/payment/apple-iap/db/AppleTransactionsCollection.d.ts.map +0 -1
  334. package/lib/payment/apple-iap/db/AppleTransactionsCollection.js.map +0 -1
  335. package/lib/payment/apple-iap/fix-periods.d.ts.map +0 -1
  336. package/lib/payment/apple-iap/fix-periods.js.map +0 -1
  337. package/lib/payment/apple-iap/handler-express.d.ts.map +0 -1
  338. package/lib/payment/apple-iap/handler-express.js.map +0 -1
  339. package/lib/payment/apple-iap/handler-fastify.d.ts.map +0 -1
  340. package/lib/payment/apple-iap/handler-fastify.js.map +0 -1
  341. package/lib/payment/apple-iap/index.d.ts.map +0 -1
  342. package/lib/payment/apple-iap/index.js.map +0 -1
  343. package/lib/payment/apple-iap/module.d.ts.map +0 -1
  344. package/lib/payment/apple-iap/module.js.map +0 -1
  345. package/lib/payment/apple-iap/verify-receipt.d.ts.map +0 -1
  346. package/lib/payment/apple-iap/verify-receipt.js.map +0 -1
  347. package/lib/payment/braintree.d.ts.map +0 -1
  348. package/lib/payment/braintree.js.map +0 -1
  349. package/lib/payment/cryptopay/db/CryptopayTransactions.d.ts.map +0 -1
  350. package/lib/payment/cryptopay/db/CryptopayTransactions.js.map +0 -1
  351. package/lib/payment/cryptopay/denote-amount.d.ts.map +0 -1
  352. package/lib/payment/cryptopay/denote-amount.js.map +0 -1
  353. package/lib/payment/cryptopay/derive-btc-address.d.ts.map +0 -1
  354. package/lib/payment/cryptopay/derive-btc-address.js.map +0 -1
  355. package/lib/payment/cryptopay/derive-eth-address.d.ts.map +0 -1
  356. package/lib/payment/cryptopay/derive-eth-address.js.map +0 -1
  357. package/lib/payment/cryptopay/handle-webhook.d.ts.map +0 -1
  358. package/lib/payment/cryptopay/handle-webhook.js.map +0 -1
  359. package/lib/payment/cryptopay/handler-express.d.ts.map +0 -1
  360. package/lib/payment/cryptopay/handler-express.js.map +0 -1
  361. package/lib/payment/cryptopay/handler-fastify.d.ts.map +0 -1
  362. package/lib/payment/cryptopay/handler-fastify.js.map +0 -1
  363. package/lib/payment/cryptopay/index.d.ts.map +0 -1
  364. package/lib/payment/cryptopay/index.js.map +0 -1
  365. package/lib/payment/cryptopay/module.d.ts.map +0 -1
  366. package/lib/payment/cryptopay/module.js.map +0 -1
  367. package/lib/payment/cryptopay/plugin.d.ts.map +0 -1
  368. package/lib/payment/cryptopay/plugin.js.map +0 -1
  369. package/lib/payment/datatrans-v2/api/authorize.d.ts.map +0 -1
  370. package/lib/payment/datatrans-v2/api/authorize.js.map +0 -1
  371. package/lib/payment/datatrans-v2/api/authorizeAuthenticated.d.ts.map +0 -1
  372. package/lib/payment/datatrans-v2/api/authorizeAuthenticated.js.map +0 -1
  373. package/lib/payment/datatrans-v2/api/cancel.d.ts.map +0 -1
  374. package/lib/payment/datatrans-v2/api/cancel.js.map +0 -1
  375. package/lib/payment/datatrans-v2/api/index.d.ts.map +0 -1
  376. package/lib/payment/datatrans-v2/api/index.js.map +0 -1
  377. package/lib/payment/datatrans-v2/api/init.d.ts.map +0 -1
  378. package/lib/payment/datatrans-v2/api/init.js.map +0 -1
  379. package/lib/payment/datatrans-v2/api/makeFetcher.d.ts.map +0 -1
  380. package/lib/payment/datatrans-v2/api/makeFetcher.js.map +0 -1
  381. package/lib/payment/datatrans-v2/api/secureFields.d.ts.map +0 -1
  382. package/lib/payment/datatrans-v2/api/secureFields.js.map +0 -1
  383. package/lib/payment/datatrans-v2/api/settle.d.ts.map +0 -1
  384. package/lib/payment/datatrans-v2/api/settle.js.map +0 -1
  385. package/lib/payment/datatrans-v2/api/status.d.ts.map +0 -1
  386. package/lib/payment/datatrans-v2/api/status.js.map +0 -1
  387. package/lib/payment/datatrans-v2/api/types.d.ts.map +0 -1
  388. package/lib/payment/datatrans-v2/api/types.js.map +0 -1
  389. package/lib/payment/datatrans-v2/api/validate.d.ts.map +0 -1
  390. package/lib/payment/datatrans-v2/api/validate.js.map +0 -1
  391. package/lib/payment/datatrans-v2/generateSignature.d.ts.map +0 -1
  392. package/lib/payment/datatrans-v2/generateSignature.js.map +0 -1
  393. package/lib/payment/datatrans-v2/getPaths.d.ts.map +0 -1
  394. package/lib/payment/datatrans-v2/getPaths.js.map +0 -1
  395. package/lib/payment/datatrans-v2/handler-express.d.ts.map +0 -1
  396. package/lib/payment/datatrans-v2/handler-express.js.map +0 -1
  397. package/lib/payment/datatrans-v2/handler-fastify.d.ts.map +0 -1
  398. package/lib/payment/datatrans-v2/handler-fastify.js.map +0 -1
  399. package/lib/payment/datatrans-v2/index.d.ts.map +0 -1
  400. package/lib/payment/datatrans-v2/index.js.map +0 -1
  401. package/lib/payment/datatrans-v2/parseRegistrationData.d.ts.map +0 -1
  402. package/lib/payment/datatrans-v2/parseRegistrationData.js.map +0 -1
  403. package/lib/payment/datatrans-v2/roundedAmountFromOrder.d.ts.map +0 -1
  404. package/lib/payment/datatrans-v2/roundedAmountFromOrder.js.map +0 -1
  405. package/lib/payment/datatrans-v2/splitProperties.d.ts.map +0 -1
  406. package/lib/payment/datatrans-v2/splitProperties.js.map +0 -1
  407. package/lib/payment/invoice-prepaid.d.ts.map +0 -1
  408. package/lib/payment/invoice-prepaid.js.map +0 -1
  409. package/lib/payment/invoice.d.ts.map +0 -1
  410. package/lib/payment/invoice.js.map +0 -1
  411. package/lib/payment/paypal-checkout.d.ts.map +0 -1
  412. package/lib/payment/paypal-checkout.js.map +0 -1
  413. package/lib/payment/payrexx/api/index.d.ts.map +0 -1
  414. package/lib/payment/payrexx/api/index.js.map +0 -1
  415. package/lib/payment/payrexx/api/makeFetcher.d.ts.map +0 -1
  416. package/lib/payment/payrexx/api/makeFetcher.js.map +0 -1
  417. package/lib/payment/payrexx/handler-express.d.ts.map +0 -1
  418. package/lib/payment/payrexx/handler-express.js.map +0 -1
  419. package/lib/payment/payrexx/handler-fastify.d.ts.map +0 -1
  420. package/lib/payment/payrexx/handler-fastify.js.map +0 -1
  421. package/lib/payment/payrexx/index.d.ts.map +0 -1
  422. package/lib/payment/payrexx/index.js.map +0 -1
  423. package/lib/payment/payrexx/payrexx.d.ts.map +0 -1
  424. package/lib/payment/payrexx/payrexx.js.map +0 -1
  425. package/lib/payment/postfinance-checkout/api-client.d.ts.map +0 -1
  426. package/lib/payment/postfinance-checkout/api-client.js.map +0 -1
  427. package/lib/payment/postfinance-checkout/api-types.d.ts.map +0 -1
  428. package/lib/payment/postfinance-checkout/api-types.js.map +0 -1
  429. package/lib/payment/postfinance-checkout/api.d.ts.map +0 -1
  430. package/lib/payment/postfinance-checkout/api.js.map +0 -1
  431. package/lib/payment/postfinance-checkout/handler-express.d.ts.map +0 -1
  432. package/lib/payment/postfinance-checkout/handler-express.js.map +0 -1
  433. package/lib/payment/postfinance-checkout/handler-fastify.d.ts.map +0 -1
  434. package/lib/payment/postfinance-checkout/handler-fastify.js.map +0 -1
  435. package/lib/payment/postfinance-checkout/index.d.ts.map +0 -1
  436. package/lib/payment/postfinance-checkout/index.js.map +0 -1
  437. package/lib/payment/postfinance-checkout/types.d.ts.map +0 -1
  438. package/lib/payment/postfinance-checkout/types.js.map +0 -1
  439. package/lib/payment/postfinance-checkout/utils.d.ts.map +0 -1
  440. package/lib/payment/postfinance-checkout/utils.js.map +0 -1
  441. package/lib/payment/saferpay/adapter.d.ts.map +0 -1
  442. package/lib/payment/saferpay/adapter.js.map +0 -1
  443. package/lib/payment/saferpay/api/api/SaferpayClient.d.ts.map +0 -1
  444. package/lib/payment/saferpay/api/api/SaferpayClient.js.map +0 -1
  445. package/lib/payment/saferpay/api/api/SaferpayConnection.d.ts.map +0 -1
  446. package/lib/payment/saferpay/api/api/SaferpayConnection.js.map +0 -1
  447. package/lib/payment/saferpay/api/index.d.ts.map +0 -1
  448. package/lib/payment/saferpay/api/index.js.map +0 -1
  449. package/lib/payment/saferpay/api/models/PaymentMethods.d.ts.map +0 -1
  450. package/lib/payment/saferpay/api/models/PaymentMethods.js.map +0 -1
  451. package/lib/payment/saferpay/api/models/PaymentPageAssert.d.ts.map +0 -1
  452. package/lib/payment/saferpay/api/models/PaymentPageAssert.js.map +0 -1
  453. package/lib/payment/saferpay/api/models/PaymentPageInitialize.d.ts.map +0 -1
  454. package/lib/payment/saferpay/api/models/PaymentPageInitialize.js.map +0 -1
  455. package/lib/payment/saferpay/api/models/Request.d.ts.map +0 -1
  456. package/lib/payment/saferpay/api/models/Request.js.map +0 -1
  457. package/lib/payment/saferpay/api/models/Response.d.ts.map +0 -1
  458. package/lib/payment/saferpay/api/models/Response.js.map +0 -1
  459. package/lib/payment/saferpay/api/models/Transaction.d.ts.map +0 -1
  460. package/lib/payment/saferpay/api/models/Transaction.js.map +0 -1
  461. package/lib/payment/saferpay/api/models/TransactionCancel.d.ts.map +0 -1
  462. package/lib/payment/saferpay/api/models/TransactionCancel.js.map +0 -1
  463. package/lib/payment/saferpay/api/models/TransactionCapture.d.ts.map +0 -1
  464. package/lib/payment/saferpay/api/models/TransactionCapture.js.map +0 -1
  465. package/lib/payment/saferpay/buildSignature.d.ts.map +0 -1
  466. package/lib/payment/saferpay/buildSignature.js.map +0 -1
  467. package/lib/payment/saferpay/db/SaferpayTransactionsCollection.d.ts.map +0 -1
  468. package/lib/payment/saferpay/db/SaferpayTransactionsCollection.js.map +0 -1
  469. package/lib/payment/saferpay/getReturnPath.d.ts.map +0 -1
  470. package/lib/payment/saferpay/getReturnPath.js.map +0 -1
  471. package/lib/payment/saferpay/handler-express.d.ts.map +0 -1
  472. package/lib/payment/saferpay/handler-express.js.map +0 -1
  473. package/lib/payment/saferpay/handler-fastify.d.ts.map +0 -1
  474. package/lib/payment/saferpay/handler-fastify.js.map +0 -1
  475. package/lib/payment/saferpay/index.d.ts.map +0 -1
  476. package/lib/payment/saferpay/index.js.map +0 -1
  477. package/lib/payment/saferpay/module.d.ts.map +0 -1
  478. package/lib/payment/saferpay/module.js.map +0 -1
  479. package/lib/payment/stripe/handler-express.d.ts.map +0 -1
  480. package/lib/payment/stripe/handler-express.js.map +0 -1
  481. package/lib/payment/stripe/handler-fastify.d.ts.map +0 -1
  482. package/lib/payment/stripe/handler-fastify.js.map +0 -1
  483. package/lib/payment/stripe/index.d.ts.map +0 -1
  484. package/lib/payment/stripe/index.js.map +0 -1
  485. package/lib/payment/stripe/stripe.d.ts.map +0 -1
  486. package/lib/payment/stripe/stripe.js.map +0 -1
  487. package/lib/presets/all-express.d.ts.map +0 -1
  488. package/lib/presets/all-express.js.map +0 -1
  489. package/lib/presets/all-fastify.d.ts.map +0 -1
  490. package/lib/presets/all-fastify.js.map +0 -1
  491. package/lib/presets/all.d.ts.map +0 -1
  492. package/lib/presets/all.js.map +0 -1
  493. package/lib/presets/base-express.d.ts.map +0 -1
  494. package/lib/presets/base-express.js.map +0 -1
  495. package/lib/presets/base-fastify.d.ts.map +0 -1
  496. package/lib/presets/base-fastify.js.map +0 -1
  497. package/lib/presets/base.d.ts.map +0 -1
  498. package/lib/presets/base.js.map +0 -1
  499. package/lib/presets/countries/ch.d.ts.map +0 -1
  500. package/lib/presets/countries/ch.js.map +0 -1
  501. package/lib/presets/crypto-express.d.ts.map +0 -1
  502. package/lib/presets/crypto-express.js.map +0 -1
  503. package/lib/presets/crypto-fastify.d.ts.map +0 -1
  504. package/lib/presets/crypto-fastify.js.map +0 -1
  505. package/lib/presets/crypto.d.ts.map +0 -1
  506. package/lib/presets/crypto.js.map +0 -1
  507. package/lib/pricing/delivery-swiss-tax.d.ts.map +0 -1
  508. package/lib/pricing/delivery-swiss-tax.js.map +0 -1
  509. package/lib/pricing/discount-100-off.d.ts.map +0 -1
  510. package/lib/pricing/discount-100-off.js.map +0 -1
  511. package/lib/pricing/discount-half-price-manual.d.ts.map +0 -1
  512. package/lib/pricing/discount-half-price-manual.js.map +0 -1
  513. package/lib/pricing/discount-half-price.d.ts.map +0 -1
  514. package/lib/pricing/discount-half-price.js.map +0 -1
  515. package/lib/pricing/free-delivery.d.ts.map +0 -1
  516. package/lib/pricing/free-delivery.js.map +0 -1
  517. package/lib/pricing/free-payment.d.ts.map +0 -1
  518. package/lib/pricing/free-payment.js.map +0 -1
  519. package/lib/pricing/order-delivery.d.ts.map +0 -1
  520. package/lib/pricing/order-delivery.js.map +0 -1
  521. package/lib/pricing/order-discount.d.ts.map +0 -1
  522. package/lib/pricing/order-discount.js.map +0 -1
  523. package/lib/pricing/order-items-discount.d.ts.map +0 -1
  524. package/lib/pricing/order-items-discount.js.map +0 -1
  525. package/lib/pricing/order-items.d.ts.map +0 -1
  526. package/lib/pricing/order-items.js.map +0 -1
  527. package/lib/pricing/order-payment.d.ts.map +0 -1
  528. package/lib/pricing/order-payment.js.map +0 -1
  529. package/lib/pricing/order-round.d.ts.map +0 -1
  530. package/lib/pricing/order-round.js.map +0 -1
  531. package/lib/pricing/product-catalog-price-options.d.ts.map +0 -1
  532. package/lib/pricing/product-catalog-price-options.js.map +0 -1
  533. package/lib/pricing/product-catalog-price.d.ts.map +0 -1
  534. package/lib/pricing/product-catalog-price.js.map +0 -1
  535. package/lib/pricing/product-discount.d.ts.map +0 -1
  536. package/lib/pricing/product-discount.js.map +0 -1
  537. package/lib/pricing/product-price-rateconversion.d.ts.map +0 -1
  538. package/lib/pricing/product-price-rateconversion.js.map +0 -1
  539. package/lib/pricing/product-round.d.ts.map +0 -1
  540. package/lib/pricing/product-round.js.map +0 -1
  541. package/lib/pricing/product-swiss-tax.d.ts.map +0 -1
  542. package/lib/pricing/product-swiss-tax.js.map +0 -1
  543. package/lib/pricing/tax/ch.d.ts.map +0 -1
  544. package/lib/pricing/tax/ch.js.map +0 -1
  545. package/lib/pricing/utils/isDeliveryAddressInCountry.d.ts.map +0 -1
  546. package/lib/pricing/utils/isDeliveryAddressInCountry.js.map +0 -1
  547. package/lib/quotations/manual.d.ts.map +0 -1
  548. package/lib/quotations/manual.js.map +0 -1
  549. package/lib/warehousing/eth-minter.d.ts.map +0 -1
  550. package/lib/warehousing/eth-minter.js.map +0 -1
  551. package/lib/warehousing/store.d.ts.map +0 -1
  552. package/lib/warehousing/store.js.map +0 -1
  553. package/lib/worker/budgetsms.d.ts.map +0 -1
  554. package/lib/worker/budgetsms.js.map +0 -1
  555. package/lib/worker/bulk-import.d.ts.map +0 -1
  556. package/lib/worker/bulk-import.js.map +0 -1
  557. package/lib/worker/bulkgate.d.ts.map +0 -1
  558. package/lib/worker/bulkgate.js.map +0 -1
  559. package/lib/worker/email.d.ts.map +0 -1
  560. package/lib/worker/email.js.map +0 -1
  561. package/lib/worker/enrollment-order-generator.d.ts.map +0 -1
  562. package/lib/worker/enrollment-order-generator.js.map +0 -1
  563. package/lib/worker/error-notifications.d.ts.map +0 -1
  564. package/lib/worker/error-notifications.js.map +0 -1
  565. package/lib/worker/export-token.d.ts.map +0 -1
  566. package/lib/worker/export-token.js.map +0 -1
  567. package/lib/worker/external.d.ts.map +0 -1
  568. package/lib/worker/external.js.map +0 -1
  569. package/lib/worker/heartbeat.d.ts.map +0 -1
  570. package/lib/worker/heartbeat.js.map +0 -1
  571. package/lib/worker/http-request.d.ts.map +0 -1
  572. package/lib/worker/http-request.js.map +0 -1
  573. package/lib/worker/message.d.ts.map +0 -1
  574. package/lib/worker/message.js.map +0 -1
  575. package/lib/worker/push-notification.d.ts.map +0 -1
  576. package/lib/worker/push-notification.js.map +0 -1
  577. package/lib/worker/twilio.d.ts.map +0 -1
  578. package/lib/worker/twilio.js.map +0 -1
  579. package/lib/worker/update-coinbase-rates.d.ts.map +0 -1
  580. package/lib/worker/update-coinbase-rates.js.map +0 -1
  581. package/lib/worker/update-ecb-rates.d.ts.map +0 -1
  582. package/lib/worker/update-ecb-rates.js.map +0 -1
  583. package/lib/worker/update-token-ownership.d.ts.map +0 -1
  584. package/lib/worker/update-token-ownership.js.map +0 -1
  585. package/lib/worker/zombie-killer.d.ts.map +0 -1
  586. package/lib/worker/zombie-killer.js.map +0 -1
  587. package/readme.md +0 -5
  588. package/src/delivery/post.ts +0 -30
  589. package/src/delivery/send-message.ts +0 -50
  590. package/src/delivery/stores.ts +0 -53
  591. package/src/enrollments/licensed.ts +0 -61
  592. package/src/events/aws-eventbridge.ts +0 -45
  593. package/src/events/node-event-emitter.ts +0 -18
  594. package/src/events/redis.ts +0 -34
  595. package/src/files/gridfs/adapter.ts +0 -176
  596. package/src/files/gridfs/handler-express.ts +0 -145
  597. package/src/files/gridfs/handler-fastify.ts +0 -177
  598. package/src/files/gridfs/index.ts +0 -6
  599. package/src/files/gridfs/module.ts +0 -54
  600. package/src/files/gridfs/sign.ts +0 -28
  601. package/src/files/minio/handler-express.ts +0 -35
  602. package/src/files/minio/handler-fastify.ts +0 -44
  603. package/src/files/minio/index.ts +0 -232
  604. package/src/filters/local-search.ts +0 -101
  605. package/src/filters/strict-equal.ts +0 -30
  606. package/src/payment/apple-iap/adapter.ts +0 -153
  607. package/src/payment/apple-iap/db/AppleTransactionsCollection.ts +0 -14
  608. package/src/payment/apple-iap/fix-periods.ts +0 -31
  609. package/src/payment/apple-iap/handler-express.ts +0 -140
  610. package/src/payment/apple-iap/handler-fastify.ts +0 -147
  611. package/src/payment/apple-iap/index.ts +0 -6
  612. package/src/payment/apple-iap/module.ts +0 -34
  613. package/src/payment/apple-iap/verify-receipt.ts +0 -27
  614. package/src/payment/braintree.ts +0 -167
  615. package/src/payment/cryptopay/db/CryptopayTransactions.ts +0 -16
  616. package/src/payment/cryptopay/denote-amount.test.ts +0 -28
  617. package/src/payment/cryptopay/denote-amount.ts +0 -29
  618. package/src/payment/cryptopay/derive-btc-address.test.ts +0 -22
  619. package/src/payment/cryptopay/derive-btc-address.ts +0 -46
  620. package/src/payment/cryptopay/derive-eth-address.test.ts +0 -22
  621. package/src/payment/cryptopay/derive-eth-address.ts +0 -40
  622. package/src/payment/cryptopay/handle-webhook.ts +0 -103
  623. package/src/payment/cryptopay/handler-express.ts +0 -21
  624. package/src/payment/cryptopay/handler-fastify.ts +0 -24
  625. package/src/payment/cryptopay/index.ts +0 -7
  626. package/src/payment/cryptopay/module.ts +0 -138
  627. package/src/payment/cryptopay/plugin.ts +0 -282
  628. package/src/payment/cryptopay/readme.md +0 -23
  629. package/src/payment/datatrans-v2/api/authorize.ts +0 -17
  630. package/src/payment/datatrans-v2/api/authorizeAuthenticated.ts +0 -20
  631. package/src/payment/datatrans-v2/api/cancel.ts +0 -13
  632. package/src/payment/datatrans-v2/api/index.ts +0 -24
  633. package/src/payment/datatrans-v2/api/init.ts +0 -43
  634. package/src/payment/datatrans-v2/api/makeFetcher.ts +0 -52
  635. package/src/payment/datatrans-v2/api/secureFields.ts +0 -19
  636. package/src/payment/datatrans-v2/api/settle.ts +0 -13
  637. package/src/payment/datatrans-v2/api/status.ts +0 -8
  638. package/src/payment/datatrans-v2/api/types.ts +0 -378
  639. package/src/payment/datatrans-v2/api/validate.ts +0 -13
  640. package/src/payment/datatrans-v2/generateSignature.test.ts +0 -18
  641. package/src/payment/datatrans-v2/generateSignature.ts +0 -36
  642. package/src/payment/datatrans-v2/getPaths.ts +0 -25
  643. package/src/payment/datatrans-v2/handler-express.ts +0 -91
  644. package/src/payment/datatrans-v2/handler-fastify.ts +0 -97
  645. package/src/payment/datatrans-v2/index.ts +0 -524
  646. package/src/payment/datatrans-v2/parseRegistrationData.ts +0 -34
  647. package/src/payment/datatrans-v2/roundedAmountFromOrder.ts +0 -16
  648. package/src/payment/datatrans-v2/splitProperties.ts +0 -58
  649. package/src/payment/invoice-prepaid.ts +0 -40
  650. package/src/payment/invoice.ts +0 -36
  651. package/src/payment/paypal-checkout.ts +0 -127
  652. package/src/payment/payrexx/api/index.ts +0 -84
  653. package/src/payment/payrexx/api/makeFetcher.ts +0 -83
  654. package/src/payment/payrexx/handler-express.ts +0 -93
  655. package/src/payment/payrexx/handler-fastify.ts +0 -105
  656. package/src/payment/payrexx/index.ts +0 -248
  657. package/src/payment/payrexx/payrexx.ts +0 -65
  658. package/src/payment/payrexx/readme.md +0 -4
  659. package/src/payment/postfinance-checkout/api-client.ts +0 -111
  660. package/src/payment/postfinance-checkout/api-types.ts +0 -111
  661. package/src/payment/postfinance-checkout/api.ts +0 -114
  662. package/src/payment/postfinance-checkout/handler-express.ts +0 -44
  663. package/src/payment/postfinance-checkout/handler-fastify.ts +0 -53
  664. package/src/payment/postfinance-checkout/index.ts +0 -271
  665. package/src/payment/postfinance-checkout/types.ts +0 -27
  666. package/src/payment/postfinance-checkout/utils.ts +0 -39
  667. package/src/payment/saferpay/adapter.ts +0 -273
  668. package/src/payment/saferpay/api/api/SaferpayClient.ts +0 -79
  669. package/src/payment/saferpay/api/api/SaferpayConnection.ts +0 -36
  670. package/src/payment/saferpay/api/index.ts +0 -8
  671. package/src/payment/saferpay/api/models/PaymentMethods.ts +0 -26
  672. package/src/payment/saferpay/api/models/PaymentPageAssert.ts +0 -75
  673. package/src/payment/saferpay/api/models/PaymentPageInitialize.ts +0 -58
  674. package/src/payment/saferpay/api/models/Request.ts +0 -14
  675. package/src/payment/saferpay/api/models/Response.ts +0 -9
  676. package/src/payment/saferpay/api/models/Transaction.ts +0 -6
  677. package/src/payment/saferpay/api/models/TransactionCancel.ts +0 -15
  678. package/src/payment/saferpay/api/models/TransactionCapture.ts +0 -20
  679. package/src/payment/saferpay/buildSignature.ts +0 -9
  680. package/src/payment/saferpay/db/SaferpayTransactionsCollection.ts +0 -13
  681. package/src/payment/saferpay/getReturnPath.ts +0 -10
  682. package/src/payment/saferpay/handler-express.ts +0 -71
  683. package/src/payment/saferpay/handler-fastify.ts +0 -80
  684. package/src/payment/saferpay/index.ts +0 -6
  685. package/src/payment/saferpay/module.ts +0 -41
  686. package/src/payment/stripe/handler-express.ts +0 -135
  687. package/src/payment/stripe/handler-fastify.ts +0 -151
  688. package/src/payment/stripe/index.ts +0 -163
  689. package/src/payment/stripe/readme.md +0 -12
  690. package/src/payment/stripe/stripe.ts +0 -137
  691. package/src/presets/all-express.ts +0 -51
  692. package/src/presets/all-fastify.ts +0 -72
  693. package/src/presets/all.ts +0 -37
  694. package/src/presets/base-express.ts +0 -7
  695. package/src/presets/base-fastify.ts +0 -20
  696. package/src/presets/base.ts +0 -42
  697. package/src/presets/countries/ch.ts +0 -2
  698. package/src/presets/crypto-express.ts +0 -12
  699. package/src/presets/crypto-fastify.ts +0 -15
  700. package/src/presets/crypto.ts +0 -11
  701. package/src/pricing/delivery-swiss-tax.ts +0 -78
  702. package/src/pricing/discount-100-off.test.ts +0 -41
  703. package/src/pricing/discount-100-off.ts +0 -48
  704. package/src/pricing/discount-half-price-manual.test.ts +0 -52
  705. package/src/pricing/discount-half-price-manual.ts +0 -47
  706. package/src/pricing/discount-half-price.test.ts +0 -52
  707. package/src/pricing/discount-half-price.ts +0 -50
  708. package/src/pricing/free-delivery.test.ts +0 -10
  709. package/src/pricing/free-delivery.ts +0 -36
  710. package/src/pricing/free-payment.ts +0 -37
  711. package/src/pricing/licenced-enrollment.test.ts +0 -38
  712. package/src/pricing/order-delivery.test.ts +0 -9
  713. package/src/pricing/order-delivery.ts +0 -47
  714. package/src/pricing/order-discount.test.ts +0 -10
  715. package/src/pricing/order-discount.ts +0 -123
  716. package/src/pricing/order-items-discount.ts +0 -86
  717. package/src/pricing/order-items.ts +0 -61
  718. package/src/pricing/order-payment.ts +0 -48
  719. package/src/pricing/order-round.ts +0 -174
  720. package/src/pricing/plugins-index.test.ts +0 -5
  721. package/src/pricing/product-catalog-price-options.ts +0 -67
  722. package/src/pricing/product-catalog-price.ts +0 -71
  723. package/src/pricing/product-discount.ts +0 -97
  724. package/src/pricing/product-price-rateconversion.ts +0 -74
  725. package/src/pricing/product-round.ts +0 -66
  726. package/src/pricing/product-swiss-tax.ts +0 -102
  727. package/src/pricing/tax/ch.test.ts +0 -20
  728. package/src/pricing/tax/ch.ts +0 -65
  729. package/src/pricing/utils/isDeliveryAddressInCountry.test.ts +0 -106
  730. package/src/pricing/utils/isDeliveryAddressInCountry.ts +0 -26
  731. package/src/quotations/manual.ts +0 -26
  732. package/src/warehousing/eth-minter.ts +0 -167
  733. package/src/warehousing/store.ts +0 -45
  734. package/src/worker/budgetsms.ts +0 -268
  735. package/src/worker/bulk-import.ts +0 -77
  736. package/src/worker/bulkgate.ts +0 -138
  737. package/src/worker/email.ts +0 -165
  738. package/src/worker/enrollment-order-generator.ts +0 -94
  739. package/src/worker/error-notifications.ts +0 -83
  740. package/src/worker/export-token.ts +0 -32
  741. package/src/worker/external.ts +0 -17
  742. package/src/worker/heartbeat.ts +0 -37
  743. package/src/worker/http-request.ts +0 -71
  744. package/src/worker/message.ts +0 -56
  745. package/src/worker/push-notification.ts +0 -121
  746. package/src/worker/twilio.ts +0 -78
  747. package/src/worker/update-coinbase-rates.ts +0 -76
  748. package/src/worker/update-ecb-rates.ts +0 -115
  749. package/src/worker/update-token-ownership.ts +0 -70
  750. package/src/worker/zombie-killer.ts +0 -139
  751. package/tests/mock/datatrans/v1/secure-fields.json +0 -4
  752. package/tests/mock/datatrans/v1/transactions/authorize.json +0 -48
  753. package/tests/mock/datatrans/v1/transactions/card_check_authorized.json +0 -47
  754. package/tests/mock/datatrans/v1/transactions/payment_alias_authorized/settle.json +0 -1
  755. package/tests/mock/datatrans/v1/transactions/payment_alias_authorized.json +0 -48
  756. package/tests/mock/datatrans/v1/transactions/payment_authorized/cancel.json +0 -1
  757. package/tests/mock/datatrans/v1/transactions/payment_authorized/settle.json +0 -1
  758. package/tests/mock/datatrans/v1/transactions/payment_authorized.json +0 -48
  759. package/tests/mock/datatrans/v1/transactions/payment_authorized_low_amount/cancel.json +0 -1
  760. package/tests/mock/datatrans/v1/transactions/payment_authorized_low_amount.json +0 -48
  761. package/tests/mock/datatrans/v1/transactions/validate.json +0 -1
  762. package/tests/mock/datatrans/v1/transactions.json +0 -4
  763. package/tests/mock/payrexx/Gateway/1000001.json +0 -106
  764. package/tests/mock/payrexx/Gateway.json +0 -24
  765. package/tests/mock/payrexx/transaction_example1.json +0 -65
  766. package/tests/mock/payrexx/transaction_example2.json +0 -65
  767. package/tests/mock/payrexx/transaction_example3.json +0 -94
  768. package/tsconfig.json +0 -9
@@ -1,232 +0,0 @@
1
- import { Readable } from 'node:stream';
2
- import type { ReadableStream } from 'node:stream/web';
3
- import { UploadFileData } from '@unchainedshop/file-upload';
4
- import {
5
- FileAdapter,
6
- FileDirector,
7
- buildHashedFilename,
8
- resolveExpirationDate,
9
- IFileAdapter,
10
- } from '@unchainedshop/file-upload';
11
- import mime from 'mime/lite';
12
- import { Client } from 'minio';
13
- import { AssumeRoleProvider } from 'minio/dist/esm/AssumeRoleProvider.mjs';
14
- import { expiryOffsetInMs } from '@unchainedshop/file-upload/lib/put-expiration.js';
15
- import { createLogger } from '@unchainedshop/logger';
16
-
17
- const logger = createLogger('unchained:minio');
18
-
19
- const {
20
- MINIO_ACCESS_KEY,
21
- MINIO_REGION,
22
- MINIO_STS_ENDPOINT,
23
- MINIO_SECRET_KEY,
24
- MINIO_ENDPOINT,
25
- MINIO_BUCKET_NAME,
26
- MINIO_UPLOAD_PREFIX,
27
- NODE_ENV,
28
- AMAZON_S3_SESSION_TOKEN,
29
- } = process.env;
30
-
31
- let client: Client | null = null;
32
-
33
- export async function connectToMinio() {
34
- if (!MINIO_ENDPOINT || !MINIO_BUCKET_NAME) {
35
- logger.error(
36
- 'Please configure Minio/S3 by providing MINIO_ENDPOINT & MINIO_BUCKET_NAME to use upload features',
37
- );
38
- return null;
39
- }
40
-
41
- try {
42
- const resolvedUrl = new URL(MINIO_ENDPOINT);
43
- const minioClient = new Client({
44
- endPoint: resolvedUrl.hostname,
45
- useSSL: resolvedUrl.protocol === 'https:',
46
- port: parseInt(resolvedUrl.port, 10) || undefined,
47
- region: MINIO_REGION,
48
- sessionToken: AMAZON_S3_SESSION_TOKEN,
49
- accessKey: MINIO_ACCESS_KEY,
50
- secretKey: MINIO_SECRET_KEY,
51
- });
52
-
53
- // eslint-disable-next-line
54
- // @ts-ignore
55
- if (NODE_ENV === 'development') minioClient?.traceOn(process.stdout);
56
- if (MINIO_STS_ENDPOINT) {
57
- const ap = new AssumeRoleProvider({
58
- stsEndpoint: MINIO_STS_ENDPOINT,
59
- accessKey: MINIO_ACCESS_KEY!,
60
- secretKey: MINIO_SECRET_KEY!,
61
- });
62
- // eslint-disable-next-line
63
- // @ts-ignore
64
- await minioClient.setCredentialsProvider(ap);
65
- }
66
- return minioClient;
67
- } catch (error) {
68
- logger.error(`Exception while creating Minio client: ${error.message}`);
69
- }
70
- return null;
71
- }
72
-
73
- const generateMinioPath = (directoryName: string, fileName: string) => {
74
- const prefix = MINIO_UPLOAD_PREFIX || '';
75
- return [prefix, directoryName, fileName].filter(Boolean).join('/');
76
- };
77
-
78
- const generateMinioUrl = (directoryName: string, hashedFilename: string) => {
79
- return `${MINIO_ENDPOINT}/${MINIO_BUCKET_NAME!}/${generateMinioPath(directoryName, hashedFilename)}`;
80
- };
81
-
82
- connectToMinio().then(function setClient(c) {
83
- client = c || client;
84
- });
85
-
86
- const getObjectStats = async (fileName: string) => {
87
- if (!client) throw new Error('Minio not connected, check env variables');
88
-
89
- return client.statObject(MINIO_BUCKET_NAME!, fileName);
90
- };
91
-
92
- const bufferToStream = (buffer: any) => {
93
- const stream = new Readable();
94
- stream.push(buffer);
95
- stream.push(null);
96
-
97
- return stream;
98
- };
99
-
100
- export const MinioAdapter: IFileAdapter = {
101
- key: 'shop.unchained.file-upload-plugin.minio',
102
- label: 'Uploads files into an S3 bucket using minio',
103
- version: '1.1.0',
104
-
105
- ...FileAdapter,
106
-
107
- async createDownloadURL(file) {
108
- if (file.meta?.isPrivate) throw new Error("Minio Plugin doesn't support private files yet");
109
- return generateMinioUrl(file.path, file._id);
110
- },
111
-
112
- async createSignedURL(directoryName, fileName) {
113
- if (!client) throw new Error('Minio not connected, check env variables');
114
-
115
- const expiryDate = resolveExpirationDate();
116
- const _id = await buildHashedFilename(directoryName, fileName, expiryDate);
117
-
118
- const url = await client.presignedPutObject(
119
- MINIO_BUCKET_NAME!,
120
- generateMinioPath(directoryName, _id),
121
- expiryOffsetInMs() / 1000,
122
- );
123
-
124
- return {
125
- _id,
126
- directoryName,
127
- expiryDate,
128
- fileName,
129
- type: mime.getType(fileName),
130
- putURL: url,
131
- url: generateMinioUrl(directoryName, _id),
132
- } as UploadFileData & { putURL: string };
133
- },
134
-
135
- async removeFiles(files) {
136
- if (!client) throw new Error('Minio not connected, check env variables');
137
-
138
- const fileIds = files.map(({ path, _id }) => {
139
- return `${path}/${_id}`;
140
- });
141
-
142
- await client.removeObjects(MINIO_BUCKET_NAME!, fileIds);
143
- },
144
-
145
- async uploadFileFromStream(directoryName: string, rawFile: any) {
146
- if (!client) throw new Error('Minio not connected, check env variables');
147
-
148
- let stream;
149
- let fileName;
150
- if (rawFile instanceof Promise) {
151
- const { filename: fname, createReadStream } = await rawFile;
152
- fileName = fname;
153
- stream = createReadStream();
154
- } else {
155
- fileName = rawFile.filename;
156
- stream = bufferToStream(Buffer.from(rawFile.buffer, 'base64'));
157
- }
158
-
159
- const _id = await buildHashedFilename(directoryName, fileName, new Date());
160
- const type = mime.getType(fileName) || (await Promise.resolve(rawFile)).mimetype;
161
-
162
- const metaData = {
163
- 'Content-Type': type,
164
- };
165
-
166
- await client.putObject(
167
- MINIO_BUCKET_NAME!,
168
- generateMinioPath(directoryName, _id),
169
- stream,
170
- undefined,
171
- metaData,
172
- );
173
-
174
- const { size } = await getObjectStats(generateMinioPath(directoryName, _id));
175
-
176
- return {
177
- _id,
178
- directoryName,
179
- expiryDate: null,
180
- fileName,
181
- size,
182
- type,
183
- url: generateMinioUrl(directoryName, _id),
184
- } as UploadFileData;
185
- },
186
-
187
- async uploadFileFromURL(directoryName: string, { fileLink, fileName: fname, fileId, headers }: any) {
188
- if (!client) throw new Error('Minio not connected, check env variables');
189
-
190
- const { href } = new URL(fileLink);
191
- const fileName = fname || href.split('/').pop();
192
- const hashedFilename = await buildHashedFilename(directoryName, fileName, new Date());
193
-
194
- const url = new URL(fileLink);
195
- const response = await fetch(url, { headers });
196
- const type = mime.getType(fileName) || response.headers['content-type'];
197
- const readable = Readable.fromWeb(response.body as ReadableStream<Uint8Array<ArrayBufferLike>>);
198
- const metaData = {
199
- 'Content-Type': type,
200
- };
201
-
202
- await client.putObject(
203
- MINIO_BUCKET_NAME!,
204
- generateMinioPath(directoryName, hashedFilename),
205
- readable,
206
- undefined,
207
- metaData,
208
- );
209
- const { size } = await getObjectStats(generateMinioPath(directoryName, hashedFilename));
210
-
211
- return {
212
- _id: fileId || hashedFilename,
213
- directoryName,
214
- expiryDate: null,
215
- fileName,
216
- size,
217
- type,
218
- url: generateMinioUrl(directoryName, hashedFilename),
219
- } as UploadFileData;
220
- },
221
-
222
- async createDownloadStream(file) {
223
- if (!client) throw new Error('Minio not connected, check env variables');
224
-
225
- const stream = await client.getObject(MINIO_BUCKET_NAME!, generateMinioPath(file.path, file._id));
226
- return stream;
227
- },
228
- };
229
-
230
- FileDirector.registerAdapter(MinioAdapter);
231
-
232
- export default MinioAdapter;
@@ -1,101 +0,0 @@
1
- import { mongodb } from '@unchainedshop/mongodb';
2
- import { ProductText } from '@unchainedshop/core-products';
3
- import { AssortmentText } from '@unchainedshop/core-assortments';
4
- import { FilterDirector, FilterAdapter, IFilterAdapter } from '@unchainedshop/core';
5
- import { createLogger } from '@unchainedshop/logger';
6
- import { isDocumentDBCompatModeEnabled } from '@unchainedshop/mongodb';
7
-
8
- const logger = createLogger('unchained:local-search');
9
-
10
- const LocalSearch: IFilterAdapter = {
11
- ...FilterAdapter,
12
-
13
- key: 'shop.unchained.filters.local-search',
14
- label: 'Simple Fulltext search with MongoDB',
15
- version: '1.0.0',
16
- orderIndex: 10,
17
-
18
- actions: (params) => {
19
- return {
20
- ...FilterAdapter.actions(params),
21
-
22
- searchProducts: async ({ productIds }) => {
23
- // Search Products
24
- const { queryString } = params.searchQuery;
25
-
26
- if (!queryString) return productIds;
27
-
28
- const selector: mongodb.Filter<ProductText> = {
29
- $text: { $search: queryString },
30
- };
31
-
32
- if (productIds) {
33
- selector.productId = { $in: [...new Set(productIds)] as any };
34
- }
35
-
36
- const products = await params.modules.products.texts.findTexts(selector, {
37
- projection: {
38
- productId: 1,
39
- },
40
- });
41
-
42
- return products.map(({ productId }) => productId);
43
- },
44
-
45
- searchAssortments: async ({ assortmentIds }) => {
46
- const { queryString } = params.searchQuery;
47
-
48
- if (!queryString) {
49
- return assortmentIds;
50
- }
51
-
52
- const selector: mongodb.Filter<AssortmentText> = {
53
- $text: { $search: queryString },
54
- };
55
-
56
- if (assortmentIds) {
57
- selector.assortmentId = { $in: assortmentIds };
58
- }
59
-
60
- const assortments = await params.modules.assortments.texts.findTexts(selector, {
61
- projection: {
62
- assortmentId: 1,
63
- },
64
- });
65
-
66
- return assortments.map(({ assortmentId }) => assortmentId);
67
- },
68
-
69
- async transformFilterSelector(last) {
70
- const { queryString, filterIds, includeInactive } = params.searchQuery;
71
-
72
- if (queryString && !filterIds) {
73
- // Global search without assortment scope:
74
- // Return all filters
75
- const selector = { ...last };
76
- if (selector?.key) {
77
- // Do not restrict to keys
78
- delete selector.key;
79
- }
80
- if (!includeInactive) {
81
- // Include only active filters
82
- selector.isActive = true;
83
- }
84
- return selector;
85
- }
86
-
87
- return last;
88
- },
89
- };
90
- },
91
- };
92
-
93
- export default LocalSearch;
94
-
95
- if (!isDocumentDBCompatModeEnabled()) {
96
- FilterDirector.registerAdapter(LocalSearch);
97
- } else {
98
- logger.warn(
99
- 'Free text search queries have been disabled due to DocumentDB compatibility mode (env UNCHAINED_DOCUMENTDB_COMPAT_MODE is trueish)',
100
- );
101
- }
@@ -1,30 +0,0 @@
1
- import { IFilterAdapter, FilterDirector, FilterAdapter } from '@unchainedshop/core';
2
-
3
- const StrictQualFilter: IFilterAdapter = {
4
- ...FilterAdapter,
5
-
6
- key: 'shop.unchained.filters.strict-qual',
7
- label: 'Simple Strict Equal DB Filter',
8
- version: '1.0.0',
9
- orderIndex: 0,
10
-
11
- actions: (params) => {
12
- return {
13
- ...FilterAdapter.actions(params),
14
-
15
- transformProductSelector: async (lastSelector, options) => {
16
- const { key, value } = options || {};
17
-
18
- if (key) {
19
- return {
20
- ...lastSelector,
21
- [key]: value !== undefined ? value : { $exists: true },
22
- };
23
- }
24
- return lastSelector;
25
- },
26
- };
27
- },
28
- };
29
-
30
- FilterDirector.registerAdapter(StrictQualFilter);
@@ -1,153 +0,0 @@
1
- import { IPaymentAdapter, PaymentAdapter, PaymentDirector, PaymentError } from '@unchainedshop/core';
2
- import { createLogger } from '@unchainedshop/logger';
3
- import { AppleTransactionsModule } from './module.js';
4
- import { verifyReceipt } from './verify-receipt.js';
5
-
6
- const logger = createLogger('unchained:apple-iap');
7
-
8
- const { APPLE_IAP_SHARED_SECRET } = process.env;
9
-
10
- const AppleIAP: IPaymentAdapter = {
11
- ...PaymentAdapter,
12
-
13
- key: 'shop.unchained.apple-iap',
14
- label: 'Apple In-App-Purchase',
15
- version: '1.0.0',
16
- initialConfiguration: [],
17
-
18
- typeSupported: (type) => {
19
- return type === 'GENERIC';
20
- },
21
-
22
- actions: (params, context) => {
23
- const { order, modules } = context as typeof context & { modules: AppleTransactionsModule };
24
-
25
- const adapterActions = {
26
- ...PaymentAdapter.actions(params, context),
27
-
28
- configurationError() {
29
- if (!APPLE_IAP_SHARED_SECRET) {
30
- return PaymentError.INCOMPLETE_CONFIGURATION;
31
- }
32
- return null;
33
- },
34
-
35
- isActive() {
36
- if (adapterActions.configurationError() === null) return true;
37
- return false;
38
- },
39
-
40
- isPayLaterAllowed() {
41
- return false;
42
- },
43
-
44
- async sign() {
45
- throw new Error('Payment signing not supported');
46
- },
47
-
48
- async validate() {
49
- // once registered receipt transactions are valid by default!
50
- return true;
51
- },
52
-
53
- async register(transactionContext) {
54
- const { receiptData } = transactionContext;
55
-
56
- const response = await verifyReceipt({
57
- receiptData,
58
- password: APPLE_IAP_SHARED_SECRET,
59
- });
60
- const { status, latest_receipt_info: latestReceiptInfo } = response;
61
-
62
- if (status === 0) {
63
- logger.debug('Receipt validated and updated for the user');
64
- const latestTransaction = latestReceiptInfo[latestReceiptInfo.length - 1];
65
- return {
66
- token: latestTransaction.web_order_line_item_id,
67
- latestReceiptInfo,
68
- };
69
- }
70
-
71
- logger.warn('Receipt invalid', {
72
- status: response.status,
73
- });
74
- return null;
75
- },
76
-
77
- async charge(transactionContext) {
78
- const { meta, paymentCredentials, receiptData } = transactionContext || {};
79
- const { transactionIdentifier } = meta || {};
80
-
81
- if (!transactionIdentifier) {
82
- throw new Error('You have to set the transaction id on the order payment');
83
- }
84
-
85
- if (!order) throw new Error('Order not found');
86
-
87
- const receiptResponse =
88
- receiptData &&
89
- (await verifyReceipt({
90
- receiptData,
91
- password: APPLE_IAP_SHARED_SECRET,
92
- }));
93
-
94
- if (receiptResponse && receiptResponse.status !== 0) {
95
- throw new Error('Receipt invalid');
96
- }
97
-
98
- const transactions =
99
- receiptResponse?.latest_receipt_info || paymentCredentials?.meta?.latestReceiptInfo;
100
- const matchedTransaction = transactions?.find(
101
- (transaction) => transaction?.transaction_id === transactionIdentifier,
102
- );
103
- if (!matchedTransaction) {
104
- throw new Error(`Cannot match transaction with identifier ${transactionIdentifier}`);
105
- }
106
-
107
- const orderPositions = await modules.orders.positions.findOrderPositions({
108
- orderId: order._id,
109
- });
110
- const items = Object.entries(
111
- orderPositions.reduce((acc, item) => {
112
- return {
113
- ...acc,
114
- [item.productId]: (acc[item.productId] || 0) + item.quantity,
115
- };
116
- }, {}),
117
- );
118
-
119
- if (items.length !== 1) {
120
- throw new Error('You can only checkout 1 unique product at once');
121
- }
122
-
123
- const [[productId, quantity]] = items;
124
-
125
- const isMatchesTransaction =
126
- parseInt(matchedTransaction.quantity, 10) === quantity &&
127
- matchedTransaction.product_id === productId;
128
-
129
- if (!isMatchesTransaction) throw new Error('Product in order does not match transaction');
130
-
131
- const alreadyProcessedTransaction =
132
- await modules.appleTransactions.findTransactionById(transactionIdentifier);
133
-
134
- if (alreadyProcessedTransaction) throw new Error('Transaction already processed');
135
-
136
- // All good
137
- await modules.appleTransactions.createTransaction({
138
- _id: transactionIdentifier,
139
- matchedTransaction,
140
- orderId: order._id,
141
- });
142
-
143
- return {
144
- transactionIdentifier,
145
- };
146
- },
147
- };
148
-
149
- return adapterActions;
150
- },
151
- };
152
-
153
- PaymentDirector.registerAdapter(AppleIAP);
@@ -1,14 +0,0 @@
1
- import { mongodb } from '@unchainedshop/mongodb';
2
- import { TimestampFields } from '@unchainedshop/mongodb';
3
-
4
- export type AppleTransaction = {
5
- _id: string;
6
- matchedTransaction: any;
7
- orderId: string;
8
- } & TimestampFields;
9
-
10
- export const AppleTransactionsCollection = async (db: mongodb.Db) => {
11
- const AppleTransactions = db.collection<AppleTransaction>('payment_apple_iap_processed_transactions');
12
-
13
- return AppleTransactions;
14
- };
@@ -1,31 +0,0 @@
1
- import { UnchainedCore } from '@unchainedshop/core';
2
-
3
- export const fixPeriods = async (
4
- { transactionId, enrollmentId, orderId, transactions },
5
- unchainedAPI: UnchainedCore,
6
- ) => {
7
- const relevantTransactions = transactions.filter(({ original_transaction_id }) => {
8
- return original_transaction_id === transactionId;
9
- });
10
-
11
- const adjustedEnrollmentPeriods = relevantTransactions
12
- .map((transaction) => {
13
- return {
14
- isTrial: transaction.is_trial_period === 'true',
15
- start: new Date(parseInt(transaction.purchase_date_ms, 10)),
16
- end: new Date(parseInt(transaction.expires_date_ms, 10)),
17
- orderId: transaction.transaction_id === transactionId ? orderId : null,
18
- };
19
- })
20
- .toSorted((left, right) => {
21
- return left.end.getTime() - right.end.getTime();
22
- });
23
-
24
- await unchainedAPI.modules.enrollments.removeEnrollmentPeriodByOrderId(enrollmentId, orderId);
25
-
26
- return Promise.all(
27
- adjustedEnrollmentPeriods.map((period) =>
28
- unchainedAPI.modules.enrollments.addEnrollmentPeriod(enrollmentId, period),
29
- ),
30
- );
31
- };
@@ -1,140 +0,0 @@
1
- import { Context } from '@unchainedshop/api';
2
- import { EnrollmentStatus } from '@unchainedshop/core-enrollments';
3
- import { createLogger } from '@unchainedshop/logger';
4
- import { fixPeriods } from './fix-periods.js';
5
-
6
- const logger = createLogger('unchained:apple-iap:handler');
7
-
8
- const { APPLE_IAP_SHARED_SECRET } = process.env;
9
-
10
- const AppleNotificationTypes = {
11
- INITIAL_BUY: 'INITIAL_BUY',
12
- DID_RECOVER: 'DID_RECOVER',
13
- DID_CHANGE_RENEWAL_STATUS: 'DID_CHANGE_RENEWAL_STATUS',
14
- DID_FAIL_TO_RENEW: 'DID_FAIL_TO_RENEW',
15
- DID_CHANGE_RENEWAL_PREF: 'DID_CHANGE_RENEWAL_PREF',
16
- };
17
-
18
- export const appleIAPHandler = async (req, res) => {
19
- if (req.method === 'POST') {
20
- try {
21
- const resolvedContext = req.unchainedContext as Context;
22
- const { modules, services } = resolvedContext;
23
- const responseBody = req.body || {};
24
- if (responseBody.password !== APPLE_IAP_SHARED_SECRET) {
25
- throw new Error('shared secret not valid');
26
- }
27
-
28
- const transactions = responseBody?.unified_receipt?.latest_receipt_info;
29
- const latestTransaction = transactions[0];
30
-
31
- if (responseBody.notification_type === AppleNotificationTypes.INITIAL_BUY) {
32
- // Find the cart to checkout
33
- const orderPayment = await modules.orders.payments.findOrderPaymentByContextData({
34
- context: {
35
- 'meta.transactionIdentifier': latestTransaction.transaction_id,
36
- },
37
- });
38
-
39
- if (!orderPayment) throw new Error('Could not find any matching order payment');
40
-
41
- const order = await services.orders.checkoutOrder(orderPayment.orderId, {
42
- paymentContext: {
43
- receiptData: responseBody?.unified_receipt?.latest_receipt,
44
- },
45
- });
46
-
47
- if (!order) throw new Error(`Order with id ${orderPayment.orderId} not found`);
48
-
49
- const orderId = order._id;
50
- const enrollment = await modules.enrollments.findEnrollment({
51
- orderId,
52
- });
53
-
54
- if (!enrollment) throw new Error('Could not find any matching enrollment');
55
-
56
- await fixPeriods(
57
- {
58
- transactionId: latestTransaction.original_transaction_id,
59
- transactions,
60
- enrollmentId: enrollment._id,
61
- orderId,
62
- },
63
- resolvedContext,
64
- );
65
-
66
- logger.info(`Apple IAP Webhook: Confirmed checkout for order ${order.orderNumber}`, {
67
- orderId: order._id,
68
- });
69
- } else {
70
- // Just store payment credentials, use the enrollments paymentProvider reference and
71
- // let the job do the rest
72
- const originalOrderPayment = await modules.orders.payments.findOrderPaymentByContextData({
73
- context: {
74
- 'meta.transactionIdentifier': latestTransaction.original_transaction_id,
75
- },
76
- });
77
- if (!originalOrderPayment) throw new Error('Could not find any matching order payment');
78
- const originalOrder = await modules.orders.findOrder({
79
- orderId: originalOrderPayment.orderId,
80
- });
81
- const enrollment =
82
- originalOrder &&
83
- (await modules.enrollments.findEnrollment({
84
- orderId: originalOrder._id,
85
- }));
86
- if (!enrollment?.payment) throw new Error('Could not find a valid enrollment payment method');
87
-
88
- await services.orders.registerPaymentCredentials(enrollment.payment.paymentProviderId, {
89
- transactionContext: {
90
- receiptData: responseBody?.unified_receipt?.latest_receipt,
91
- },
92
- userId: enrollment.userId,
93
- });
94
-
95
- await fixPeriods(
96
- {
97
- transactionId: latestTransaction.original_transaction_id,
98
- transactions,
99
- enrollmentId: enrollment._id,
100
- orderId: originalOrder!._id,
101
- },
102
- resolvedContext,
103
- );
104
-
105
- logger.info(
106
- `Apple IAP Webhook: Processed notification for ${latestTransaction.original_transaction_id} and type ${responseBody.notification_type}`,
107
- );
108
-
109
- if (responseBody.notification_type === AppleNotificationTypes.DID_RECOVER) {
110
- if (
111
- enrollment.status !== EnrollmentStatus.TERMINATED &&
112
- responseBody.auto_renew_status === 'false'
113
- ) {
114
- await services.enrollments.terminateEnrollment(enrollment);
115
- }
116
- }
117
-
118
- if (responseBody.notification_type === AppleNotificationTypes.DID_CHANGE_RENEWAL_STATUS) {
119
- if (
120
- enrollment.status !== EnrollmentStatus.TERMINATED &&
121
- responseBody.auto_renew_status === 'false'
122
- ) {
123
- await services.enrollments.terminateEnrollment(enrollment);
124
- }
125
- }
126
- logger.info(`Apple IAP Webhook: Updated enrollment from Apple`);
127
- }
128
-
129
- res.status(200).end();
130
- return;
131
- } catch (e) {
132
- logger.warn(`Apple IAP Webhook: ${e.message}`, e);
133
- res.status(503).send({ name: e.name, code: e.code, message: e.message });
134
- return;
135
- }
136
- }
137
- res.status(404).end();
138
- };
139
-
140
- export default appleIAPHandler;