@unchainedshop/plugins 4.0.0-rc.16 → 4.0.0-rc.18

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 (303) hide show
  1. package/lib/accounts/google-oauth.d.ts +4 -0
  2. package/lib/accounts/google-oauth.d.ts.map +1 -0
  3. package/lib/accounts/google-oauth.js +145 -0
  4. package/lib/accounts/google-oauth.js.map +1 -0
  5. package/lib/accounts/linkedin-oauth.d.ts +4 -0
  6. package/lib/accounts/linkedin-oauth.d.ts.map +1 -0
  7. package/lib/accounts/linkedin-oauth.js +82 -0
  8. package/lib/accounts/linkedin-oauth.js.map +1 -0
  9. package/lib/delivery/send-message.js.map +1 -1
  10. package/lib/enrollments/licensed.js +15 -2
  11. package/lib/enrollments/licensed.js.map +1 -1
  12. package/lib/files/gridfs/adapter.js +1 -1
  13. package/lib/files/gridfs/adapter.js.map +1 -1
  14. package/lib/files/gridfs/gridfs-adapter.d.ts +3 -0
  15. package/lib/files/gridfs/gridfs-adapter.d.ts.map +1 -0
  16. package/lib/files/gridfs/gridfs-adapter.js +97 -0
  17. package/lib/files/gridfs/gridfs-adapter.js.map +1 -0
  18. package/lib/files/gridfs/gridfs-webhook.d.ts +11 -0
  19. package/lib/files/gridfs/gridfs-webhook.d.ts.map +1 -0
  20. package/lib/files/gridfs/gridfs-webhook.js +84 -0
  21. package/lib/files/gridfs/gridfs-webhook.js.map +1 -0
  22. package/lib/files/gridfs/handler-express.d.ts.map +1 -1
  23. package/lib/files/gridfs/handler-express.js +6 -2
  24. package/lib/files/gridfs/handler-express.js.map +1 -1
  25. package/lib/files/gridfs/handler-fastify.d.ts.map +1 -1
  26. package/lib/files/gridfs/handler-fastify.js +11 -2
  27. package/lib/files/gridfs/handler-fastify.js.map +1 -1
  28. package/lib/files/gridfs/module.d.ts +2 -2
  29. package/lib/files/minio/handler-express.js +1 -1
  30. package/lib/files/minio/handler-express.js.map +1 -1
  31. package/lib/files/minio/handler-fastify.js +1 -1
  32. package/lib/files/minio/handler-fastify.js.map +1 -1
  33. package/lib/files/minio/index.d.ts +1 -1
  34. package/lib/files/minio/index.d.ts.map +1 -1
  35. package/lib/files/minio/index.js +3 -3
  36. package/lib/files/minio/index.js.map +1 -1
  37. package/lib/files/minio/minio-adapter.d.ts +6 -0
  38. package/lib/files/minio/minio-adapter.d.ts.map +1 -0
  39. package/lib/files/minio/minio-adapter.js +181 -0
  40. package/lib/files/minio/minio-adapter.js.map +1 -0
  41. package/lib/files/minio/minio-webhook.d.ts +2 -0
  42. package/lib/files/minio/minio-webhook.d.ts.map +1 -0
  43. package/lib/files/minio/minio-webhook.js +33 -0
  44. package/lib/files/minio/minio-webhook.js.map +1 -0
  45. package/lib/filters/local-search.js +1 -1
  46. package/lib/filters/local-search.js.map +1 -1
  47. package/lib/payment/apple-iap/adapter.js +12 -10
  48. package/lib/payment/apple-iap/adapter.js.map +1 -1
  49. package/lib/payment/apple-iap/db/AppleTransactionsCollection.d.ts +1 -1
  50. package/lib/payment/apple-iap/db/AppleTransactionsCollection.d.ts.map +1 -1
  51. package/lib/payment/apple-iap/handler-express.d.ts.map +1 -1
  52. package/lib/payment/apple-iap/handler-express.js +11 -4
  53. package/lib/payment/apple-iap/handler-express.js.map +1 -1
  54. package/lib/payment/apple-iap/handler-fastify.d.ts.map +1 -1
  55. package/lib/payment/apple-iap/handler-fastify.js +13 -6
  56. package/lib/payment/apple-iap/handler-fastify.js.map +1 -1
  57. package/lib/payment/apple-iap/module/configureAppleTransactionsModule.d.ts +9 -0
  58. package/lib/payment/apple-iap/module/configureAppleTransactionsModule.d.ts.map +1 -0
  59. package/lib/payment/apple-iap/module/configureAppleTransactionsModule.js +17 -0
  60. package/lib/payment/apple-iap/module/configureAppleTransactionsModule.js.map +1 -0
  61. package/lib/payment/apple-iap/module.d.ts +4 -4
  62. package/lib/payment/apple-iap/module.d.ts.map +1 -1
  63. package/lib/payment/apple-iap/module.js +4 -2
  64. package/lib/payment/apple-iap/module.js.map +1 -1
  65. package/lib/payment/braintree.js +3 -1
  66. package/lib/payment/braintree.js.map +1 -1
  67. package/lib/payment/cryptopay/db/CryptopayTransactions.d.ts +1 -1
  68. package/lib/payment/cryptopay/db/CryptopayTransactions.d.ts.map +1 -1
  69. package/lib/payment/cryptopay/derive-btc-address.d.ts.map +1 -1
  70. package/lib/payment/cryptopay/derive-btc-address.js +2 -3
  71. package/lib/payment/cryptopay/derive-btc-address.js.map +1 -1
  72. package/lib/payment/cryptopay/derive-eth-address.d.ts.map +1 -1
  73. package/lib/payment/cryptopay/derive-eth-address.js +2 -0
  74. package/lib/payment/cryptopay/derive-eth-address.js.map +1 -1
  75. package/lib/payment/cryptopay/handle-webhook.js +2 -2
  76. package/lib/payment/cryptopay/handle-webhook.js.map +1 -1
  77. package/lib/payment/cryptopay/handler-express.js +1 -1
  78. package/lib/payment/cryptopay/handler-express.js.map +1 -1
  79. package/lib/payment/cryptopay/handler-fastify.js +1 -1
  80. package/lib/payment/cryptopay/handler-fastify.js.map +1 -1
  81. package/lib/payment/cryptopay/middleware.d.ts +2 -0
  82. package/lib/payment/cryptopay/middleware.d.ts.map +1 -0
  83. package/lib/payment/cryptopay/middleware.js +75 -0
  84. package/lib/payment/cryptopay/middleware.js.map +1 -0
  85. package/lib/payment/cryptopay/module/configureCryptopayModule.d.ts +25 -0
  86. package/lib/payment/cryptopay/module/configureCryptopayModule.d.ts.map +1 -0
  87. package/lib/payment/cryptopay/module/configureCryptopayModule.js +75 -0
  88. package/lib/payment/cryptopay/module/configureCryptopayModule.js.map +1 -0
  89. package/lib/payment/cryptopay/module.d.ts +2 -2
  90. package/lib/payment/cryptopay/module.d.ts.map +1 -1
  91. package/lib/payment/cryptopay/module.js +4 -4
  92. package/lib/payment/cryptopay/module.js.map +1 -1
  93. package/lib/payment/cryptopay/plugin.d.ts.map +1 -1
  94. package/lib/payment/cryptopay/plugin.js +18 -4
  95. package/lib/payment/cryptopay/plugin.js.map +1 -1
  96. package/lib/payment/datatrans-v2/handler-express.d.ts.map +1 -1
  97. package/lib/payment/datatrans-v2/handler-express.js +8 -1
  98. package/lib/payment/datatrans-v2/handler-express.js.map +1 -1
  99. package/lib/payment/datatrans-v2/handler-fastify.d.ts.map +1 -1
  100. package/lib/payment/datatrans-v2/handler-fastify.js +7 -1
  101. package/lib/payment/datatrans-v2/handler-fastify.js.map +1 -1
  102. package/lib/payment/datatrans-v2/index.js +63 -37
  103. package/lib/payment/datatrans-v2/index.js.map +1 -1
  104. package/lib/payment/datatrans-v2/middleware.d.ts +2 -0
  105. package/lib/payment/datatrans-v2/middleware.d.ts.map +1 -0
  106. package/lib/payment/datatrans-v2/middleware.js +68 -0
  107. package/lib/payment/datatrans-v2/middleware.js.map +1 -0
  108. package/lib/payment/datatrans-v2/parseRegistrationData.d.ts +1 -1
  109. package/lib/payment/datatrans-v2/parseRegistrationData.d.ts.map +1 -1
  110. package/lib/payment/paypal-checkout.js +4 -2
  111. package/lib/payment/paypal-checkout.js.map +1 -1
  112. package/lib/payment/payrexx/api/index.d.ts +1 -1
  113. package/lib/payment/payrexx/api/index.d.ts.map +1 -1
  114. package/lib/payment/payrexx/api/makeFetcher.d.ts +1 -1
  115. package/lib/payment/payrexx/api/makeFetcher.d.ts.map +1 -1
  116. package/lib/payment/payrexx/api/makeFetcher.js +1 -1
  117. package/lib/payment/payrexx/api/makeFetcher.js.map +1 -1
  118. package/lib/payment/payrexx/handler-express.d.ts.map +1 -1
  119. package/lib/payment/payrexx/handler-express.js +3 -1
  120. package/lib/payment/payrexx/handler-express.js.map +1 -1
  121. package/lib/payment/payrexx/handler-fastify.d.ts.map +1 -1
  122. package/lib/payment/payrexx/handler-fastify.js +3 -1
  123. package/lib/payment/payrexx/handler-fastify.js.map +1 -1
  124. package/lib/payment/payrexx/index.js +21 -15
  125. package/lib/payment/payrexx/index.js.map +1 -1
  126. package/lib/payment/payrexx/middleware.d.ts +2 -0
  127. package/lib/payment/payrexx/middleware.d.ts.map +1 -0
  128. package/lib/payment/payrexx/middleware.js +86 -0
  129. package/lib/payment/payrexx/middleware.js.map +1 -0
  130. package/lib/payment/postfinance-checkout/handler-express.d.ts.map +1 -1
  131. package/lib/payment/postfinance-checkout/handler-express.js +4 -2
  132. package/lib/payment/postfinance-checkout/handler-express.js.map +1 -1
  133. package/lib/payment/postfinance-checkout/handler-fastify.d.ts.map +1 -1
  134. package/lib/payment/postfinance-checkout/handler-fastify.js +4 -2
  135. package/lib/payment/postfinance-checkout/handler-fastify.js.map +1 -1
  136. package/lib/payment/postfinance-checkout/index.d.ts.map +1 -1
  137. package/lib/payment/postfinance-checkout/index.js +20 -7
  138. package/lib/payment/postfinance-checkout/index.js.map +1 -1
  139. package/lib/payment/postfinance-checkout/middleware.d.ts +2 -0
  140. package/lib/payment/postfinance-checkout/middleware.d.ts.map +1 -0
  141. package/lib/payment/postfinance-checkout/middleware.js +38 -0
  142. package/lib/payment/postfinance-checkout/middleware.js.map +1 -0
  143. package/lib/payment/saferpay/adapter.d.ts.map +1 -1
  144. package/lib/payment/saferpay/adapter.js +9 -0
  145. package/lib/payment/saferpay/adapter.js.map +1 -1
  146. package/lib/payment/saferpay/handler-express.d.ts.map +1 -1
  147. package/lib/payment/saferpay/handler-express.js +3 -1
  148. package/lib/payment/saferpay/handler-express.js.map +1 -1
  149. package/lib/payment/saferpay/handler-fastify.d.ts.map +1 -1
  150. package/lib/payment/saferpay/handler-fastify.js +3 -1
  151. package/lib/payment/saferpay/handler-fastify.js.map +1 -1
  152. package/lib/payment/saferpay/middleware.d.ts +2 -0
  153. package/lib/payment/saferpay/middleware.d.ts.map +1 -0
  154. package/lib/payment/saferpay/middleware.js +57 -0
  155. package/lib/payment/saferpay/middleware.js.map +1 -0
  156. package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.d.ts +10 -0
  157. package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.d.ts.map +1 -0
  158. package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.js +24 -0
  159. package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.js.map +1 -0
  160. package/lib/payment/saferpay/module.d.ts +2 -2
  161. package/lib/payment/stripe/handler-express.d.ts.map +1 -1
  162. package/lib/payment/stripe/handler-express.js +9 -1
  163. package/lib/payment/stripe/handler-express.js.map +1 -1
  164. package/lib/payment/stripe/handler-fastify.d.ts.map +1 -1
  165. package/lib/payment/stripe/handler-fastify.js +9 -1
  166. package/lib/payment/stripe/handler-fastify.js.map +1 -1
  167. package/lib/payment/stripe/index.js +19 -13
  168. package/lib/payment/stripe/index.js.map +1 -1
  169. package/lib/payment/stripe/middleware.d.ts +6 -0
  170. package/lib/payment/stripe/middleware.d.ts.map +1 -0
  171. package/lib/payment/stripe/middleware.js +114 -0
  172. package/lib/payment/stripe/middleware.js.map +1 -0
  173. package/lib/payment/stripe/stripe.d.ts +2 -2
  174. package/lib/payment/stripe/stripe.d.ts.map +1 -1
  175. package/lib/payment/stripe/stripe.js +14 -11
  176. package/lib/payment/stripe/stripe.js.map +1 -1
  177. package/lib/plugins-index.d.ts +48 -0
  178. package/lib/plugins-index.d.ts.map +1 -0
  179. package/lib/plugins-index.js +107 -0
  180. package/lib/plugins-index.js.map +1 -0
  181. package/lib/presets/all.d.ts +5 -5
  182. package/lib/presets/all.d.ts.map +1 -1
  183. package/lib/pricing/delivery-swiss-tax.d.ts.map +1 -1
  184. package/lib/pricing/delivery-swiss-tax.js +13 -11
  185. package/lib/pricing/delivery-swiss-tax.js.map +1 -1
  186. package/lib/pricing/order-discount.d.ts.map +1 -1
  187. package/lib/pricing/order-discount.js +5 -3
  188. package/lib/pricing/order-discount.js.map +1 -1
  189. package/lib/pricing/order-round.d.ts.map +1 -1
  190. package/lib/pricing/order-round.js +4 -3
  191. package/lib/pricing/order-round.js.map +1 -1
  192. package/lib/pricing/product-catalog-price.js +4 -4
  193. package/lib/pricing/product-catalog-price.js.map +1 -1
  194. package/lib/pricing/product-price-rateconversion.js +3 -3
  195. package/lib/pricing/product-price-rateconversion.js.map +1 -1
  196. package/lib/pricing/product-swiss-tax.d.ts +1 -4
  197. package/lib/pricing/product-swiss-tax.d.ts.map +1 -1
  198. package/lib/pricing/product-swiss-tax.js +9 -15
  199. package/lib/pricing/product-swiss-tax.js.map +1 -1
  200. package/lib/pricing/tax/ch.d.ts +6 -0
  201. package/lib/pricing/tax/ch.d.ts.map +1 -1
  202. package/lib/pricing/tax/ch.js +10 -0
  203. package/lib/pricing/tax/ch.js.map +1 -1
  204. package/lib/warehousing/eth-minter.js +23 -11
  205. package/lib/warehousing/eth-minter.js.map +1 -1
  206. package/lib/worker/BaseWorker.d.ts +30 -0
  207. package/lib/worker/BaseWorker.d.ts.map +1 -0
  208. package/lib/worker/BaseWorker.js +79 -0
  209. package/lib/worker/BaseWorker.js.map +1 -0
  210. package/lib/worker/EventListenerWorker.d.ts +6 -0
  211. package/lib/worker/EventListenerWorker.d.ts.map +1 -0
  212. package/lib/worker/EventListenerWorker.js +46 -0
  213. package/lib/worker/EventListenerWorker.js.map +1 -0
  214. package/lib/worker/FailedRescheduler.d.ts +15 -0
  215. package/lib/worker/FailedRescheduler.d.ts.map +1 -0
  216. package/lib/worker/FailedRescheduler.js +45 -0
  217. package/lib/worker/FailedRescheduler.js.map +1 -0
  218. package/lib/worker/IntervalWorker.d.ts +10 -0
  219. package/lib/worker/IntervalWorker.d.ts.map +1 -0
  220. package/lib/worker/IntervalWorker.js +37 -0
  221. package/lib/worker/IntervalWorker.js.map +1 -0
  222. package/lib/worker/bulk-import.d.ts +1 -1
  223. package/lib/worker/bulk-import.d.ts.map +1 -1
  224. package/lib/worker/bulk-import.js +5 -4
  225. package/lib/worker/bulk-import.js.map +1 -1
  226. package/lib/worker/enrollment-order-generator.d.ts.map +1 -1
  227. package/lib/worker/enrollment-order-generator.js +7 -49
  228. package/lib/worker/enrollment-order-generator.js.map +1 -1
  229. package/lib/worker/error-notifications.js +1 -1
  230. package/lib/worker/error-notifications.js.map +1 -1
  231. package/lib/worker/export-token.d.ts.map +1 -1
  232. package/lib/worker/export-token.js +0 -1
  233. package/lib/worker/export-token.js.map +1 -1
  234. package/lib/worker/message.d.ts +1 -1
  235. package/lib/worker/message.d.ts.map +1 -1
  236. package/lib/worker/message.js +4 -2
  237. package/lib/worker/message.js.map +1 -1
  238. package/lib/worker/sms.d.ts +2 -0
  239. package/lib/worker/sms.d.ts.map +1 -0
  240. package/lib/worker/sms.js +73 -0
  241. package/lib/worker/sms.js.map +1 -0
  242. package/lib/worker/twilio.js +4 -0
  243. package/lib/worker/twilio.js.map +1 -1
  244. package/package.json +15 -15
  245. package/src/delivery/send-message.ts +1 -1
  246. package/src/enrollments/licensed.ts +15 -2
  247. package/src/files/gridfs/adapter.ts +1 -1
  248. package/src/files/gridfs/handler-express.ts +8 -2
  249. package/src/files/gridfs/handler-fastify.ts +13 -2
  250. package/src/files/minio/handler-express.ts +1 -1
  251. package/src/files/minio/handler-fastify.ts +1 -1
  252. package/src/files/minio/index.ts +12 -12
  253. package/src/filters/local-search.ts +1 -1
  254. package/src/payment/apple-iap/adapter.ts +12 -14
  255. package/src/payment/apple-iap/db/AppleTransactionsCollection.ts +1 -1
  256. package/src/payment/apple-iap/handler-express.ts +14 -5
  257. package/src/payment/apple-iap/handler-fastify.ts +17 -7
  258. package/src/payment/apple-iap/module.ts +9 -4
  259. package/src/payment/braintree.ts +4 -1
  260. package/src/payment/cryptopay/db/CryptopayTransactions.ts +1 -1
  261. package/src/payment/cryptopay/derive-btc-address.ts +1 -3
  262. package/src/payment/cryptopay/derive-eth-address.ts +2 -0
  263. package/src/payment/cryptopay/handle-webhook.ts +6 -6
  264. package/src/payment/cryptopay/handler-express.ts +1 -1
  265. package/src/payment/cryptopay/handler-fastify.ts +1 -1
  266. package/src/payment/cryptopay/module.ts +8 -5
  267. package/src/payment/cryptopay/plugin.ts +21 -4
  268. package/src/payment/datatrans-v2/handler-express.ts +12 -2
  269. package/src/payment/datatrans-v2/handler-fastify.ts +11 -2
  270. package/src/payment/datatrans-v2/index.ts +82 -50
  271. package/src/payment/paypal-checkout.ts +4 -2
  272. package/src/payment/payrexx/api/index.ts +1 -1
  273. package/src/payment/payrexx/api/makeFetcher.ts +2 -2
  274. package/src/payment/payrexx/handler-express.ts +3 -1
  275. package/src/payment/payrexx/handler-fastify.ts +5 -4
  276. package/src/payment/payrexx/index.ts +26 -16
  277. package/src/payment/postfinance-checkout/handler-express.ts +5 -2
  278. package/src/payment/postfinance-checkout/handler-fastify.ts +5 -2
  279. package/src/payment/postfinance-checkout/index.ts +20 -8
  280. package/src/payment/saferpay/adapter.ts +14 -2
  281. package/src/payment/saferpay/handler-express.ts +4 -1
  282. package/src/payment/saferpay/handler-fastify.ts +4 -1
  283. package/src/payment/stripe/handler-express.ts +9 -1
  284. package/src/payment/stripe/handler-fastify.ts +9 -1
  285. package/src/payment/stripe/index.ts +17 -13
  286. package/src/payment/stripe/stripe.ts +17 -12
  287. package/src/pricing/delivery-swiss-tax.ts +11 -19
  288. package/src/pricing/order-discount.ts +6 -4
  289. package/src/pricing/order-round.ts +5 -4
  290. package/src/pricing/product-catalog-price.ts +4 -4
  291. package/src/pricing/product-price-rateconversion.ts +3 -3
  292. package/src/pricing/product-swiss-tax.test.ts +1 -86
  293. package/src/pricing/product-swiss-tax.ts +11 -24
  294. package/src/pricing/tax/ch.test.ts +86 -1
  295. package/src/pricing/tax/ch.ts +23 -0
  296. package/src/warehousing/eth-minter.ts +30 -11
  297. package/src/worker/budgetsms.ts +1 -1
  298. package/src/worker/bulk-import.ts +6 -7
  299. package/src/worker/enrollment-order-generator.ts +14 -72
  300. package/src/worker/error-notifications.ts +2 -2
  301. package/src/worker/export-token.ts +0 -1
  302. package/src/worker/message.ts +5 -3
  303. package/src/worker/twilio.ts +10 -3
@@ -1 +1 @@
1
- {"version":3,"file":"handler-express.d.ts","sourceRoot":"","sources":["../../../src/payment/apple-iap/handler-express.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,eAAe,GAAU,QAAG,EAAE,QAAG,kBA+G7C,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"handler-express.d.ts","sourceRoot":"","sources":["../../../src/payment/apple-iap/handler-express.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,eAAe,GAAU,QAAG,EAAE,QAAG,kBAwH7C,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { EnrollmentStatus } from '@unchainedshop/core-enrollments';
2
2
  import { createLogger } from '@unchainedshop/logger';
3
3
  import { fixPeriods } from './fix-periods.js';
4
- const logger = createLogger('unchained:core-payment:apple-iap:handler');
4
+ const logger = createLogger('unchained:apple-iap:handler');
5
5
  const { APPLE_IAP_SHARED_SECRET } = process.env;
6
6
  const AppleNotificationTypes = {
7
7
  INITIAL_BUY: 'INITIAL_BUY',
@@ -35,10 +35,14 @@ export const appleIAPHandler = async (req, res) => {
35
35
  receiptData: responseBody?.unified_receipt?.latest_receipt,
36
36
  },
37
37
  });
38
+ if (!order)
39
+ throw new Error(`Order with id ${orderPayment.orderId} not found`);
38
40
  const orderId = order._id;
39
41
  const enrollment = await modules.enrollments.findEnrollment({
40
42
  orderId,
41
43
  });
44
+ if (!enrollment)
45
+ throw new Error('Could not find any matching enrollment');
42
46
  await fixPeriods({
43
47
  transactionId: latestTransaction.original_transaction_id,
44
48
  transactions,
@@ -62,9 +66,12 @@ export const appleIAPHandler = async (req, res) => {
62
66
  const originalOrder = await modules.orders.findOrder({
63
67
  orderId: originalOrderPayment.orderId,
64
68
  });
65
- const enrollment = await modules.enrollments.findEnrollment({
66
- orderId: originalOrder._id,
67
- });
69
+ const enrollment = originalOrder &&
70
+ (await modules.enrollments.findEnrollment({
71
+ orderId: originalOrder._id,
72
+ }));
73
+ if (!enrollment?.payment)
74
+ throw new Error('Could not find a valid enrollment payment method');
68
75
  await services.orders.registerPaymentCredentials(enrollment.payment.paymentProviderId, {
69
76
  transactionContext: {
70
77
  receiptData: responseBody?.unified_receipt?.latest_receipt,
@@ -1 +1 @@
1
- {"version":3,"file":"handler-express.js","sourceRoot":"","sources":["../../../src/payment/apple-iap/handler-express.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler-express.js","sourceRoot":"","sources":["../../../src/payment/apple-iap/handler-express.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler-fastify.d.ts","sourceRoot":"","sources":["../../../src/payment/apple-iap/handler-fastify.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAe7D,eAAO,MAAM,eAAe,EAAE,kBAmH7B,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"handler-fastify.d.ts","sourceRoot":"","sources":["../../../src/payment/apple-iap/handler-fastify.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAe7D,eAAO,MAAM,eAAe,EAAE,kBA6H7B,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { EnrollmentStatus } from '@unchainedshop/core-enrollments';
2
2
  import { createLogger } from '@unchainedshop/logger';
3
3
  import { fixPeriods } from './fix-periods.js';
4
- const logger = createLogger('unchained:core-payment:apple-iap:handler');
4
+ const logger = createLogger('unchained:apple-iap:handler');
5
5
  const { APPLE_IAP_SHARED_SECRET } = process.env;
6
6
  const AppleNotificationTypes = {
7
7
  INITIAL_BUY: 'INITIAL_BUY',
@@ -34,17 +34,21 @@ export const appleIAPHandler = async (req, reply) => {
34
34
  receiptData: responseBody?.unified_receipt?.latest_receipt,
35
35
  },
36
36
  });
37
+ if (!order)
38
+ throw new Error(`Order with id ${orderPayment.orderId} not found`);
37
39
  const orderId = order._id;
38
40
  const enrollment = await modules.enrollments.findEnrollment({
39
41
  orderId,
40
42
  });
43
+ if (!enrollment)
44
+ throw new Error('Enrollent not found');
41
45
  await fixPeriods({
42
46
  transactionId: latestTransaction.original_transaction_id,
43
47
  transactions,
44
48
  enrollmentId: enrollment._id,
45
49
  orderId,
46
50
  }, resolvedContext);
47
- logger.info(`Apple IAP Webhook: Confirmed checkout for order ${order.orderNumber}`, {
51
+ logger.info(`Webhook confirmed checkout for order ${order.orderNumber}`, {
48
52
  orderId: order._id,
49
53
  });
50
54
  }
@@ -61,9 +65,12 @@ export const appleIAPHandler = async (req, reply) => {
61
65
  const originalOrder = await modules.orders.findOrder({
62
66
  orderId: originalOrderPayment.orderId,
63
67
  });
64
- const enrollment = await modules.enrollments.findEnrollment({
65
- orderId: originalOrder._id,
66
- });
68
+ const enrollment = originalOrder &&
69
+ (await modules.enrollments.findEnrollment({
70
+ orderId: originalOrder._id,
71
+ }));
72
+ if (!enrollment?.payment)
73
+ throw new Error('Could not find a valid enrollment payment method');
67
74
  await services.orders.registerPaymentCredentials(enrollment.payment.paymentProviderId, {
68
75
  transactionContext: {
69
76
  receiptData: responseBody?.unified_receipt?.latest_receipt,
@@ -76,7 +83,7 @@ export const appleIAPHandler = async (req, reply) => {
76
83
  enrollmentId: enrollment._id,
77
84
  orderId: originalOrder._id,
78
85
  }, resolvedContext);
79
- logger.info(`Apple IAP Webhook: Processed notification for ${latestTransaction.original_transaction_id} and type ${responseBody.notification_type}`);
86
+ logger.info(`Webhook rocessed notification for ${latestTransaction.original_transaction_id} and type ${responseBody.notification_type}`);
80
87
  if (responseBody.notification_type === AppleNotificationTypes.DID_RECOVER) {
81
88
  if (enrollment.status !== EnrollmentStatus.TERMINATED &&
82
89
  responseBody.auto_renew_status === 'false') {
@@ -1 +1 @@
1
- {"version":3,"file":"handler-fastify.js","sourceRoot":"","sources":["../../../src/payment/apple-iap/handler-fastify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler-fastify.js","sourceRoot":"","sources":["../../../src/payment/apple-iap/handler-fastify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,MAAM,MAAM,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAE3D,MAAM,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAEhD,MAAM,sBAAsB,GAAG;IAC7B,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,yBAAyB,EAAE,2BAA2B;IACtD,iBAAiB,EAAE,mBAAmB;IACtC,uBAAuB,EAAE,yBAAyB;CACnD,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAuB,KAAK,EACtD,GAIC,EACD,KAAK,EACL,EAAE;IACF,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,GAAG,CAAC,gBAA2B,CAAC;QACxD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC;QAC9C,MAAM,YAAY,GAAwB,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACzD,IAAI,YAAY,CAAC,QAAQ,KAAK,uBAAuB,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,YAAY,GAAG,YAAY,EAAE,eAAe,EAAE,mBAAmB,CAAC;QACxE,MAAM,iBAAiB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAE1C,IAAI,YAAY,CAAC,iBAAiB,KAAK,sBAAsB,CAAC,WAAW,EAAE,CAAC;YAC1E,4BAA4B;YAC5B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC;gBAC/E,OAAO,EAAE;oBACP,4BAA4B,EAAE,iBAAiB,CAAC,cAAc;iBAC/D;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAEhF,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE;gBACtE,cAAc,EAAE;oBACd,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc;iBAC3D;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC;YAE/E,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;YAC1B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC;gBAC1D,OAAO;aACR,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAExD,MAAM,UAAU,CACd;gBACE,aAAa,EAAE,iBAAiB,CAAC,uBAAuB;gBACxD,YAAY;gBACZ,YAAY,EAAE,UAAU,CAAC,GAAG;gBAC5B,OAAO;aACR,EACD,eAAe,CAChB,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,wCAAwC,KAAK,CAAC,WAAW,EAAE,EAAE;gBACvE,OAAO,EAAE,KAAK,CAAC,GAAG;aACnB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,oFAAoF;YACpF,0BAA0B;YAC1B,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC;gBACvF,OAAO,EAAE;oBACP,4BAA4B,EAAE,iBAAiB,CAAC,uBAAuB;iBACxE;aACF,CAAC,CAAC;YACH,IAAI,CAAC,oBAAoB;gBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YACxF,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;gBACnD,OAAO,EAAE,oBAAoB,CAAC,OAAO;aACtC,CAAC,CAAC;YACH,MAAM,UAAU,GACd,aAAa;gBACb,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC;oBACxC,OAAO,EAAE,aAAa,CAAC,GAAG;iBAC3B,CAAC,CAAC,CAAC;YAEN,IAAI,CAAC,UAAU,EAAE,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAE9F,MAAM,QAAQ,CAAC,MAAM,CAAC,0BAA0B,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE;gBACrF,kBAAkB,EAAE;oBAClB,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc;iBAC3D;gBACD,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,MAAM,UAAU,CACd;gBACE,aAAa,EAAE,iBAAiB,CAAC,uBAAuB;gBACxD,YAAY;gBACZ,YAAY,EAAE,UAAU,CAAC,GAAG;gBAC5B,OAAO,EAAE,aAAc,CAAC,GAAG;aAC5B,EACD,eAAe,CAChB,CAAC;YAEF,MAAM,CAAC,IAAI,CACT,qCAAqC,iBAAiB,CAAC,uBAAuB,aAAa,YAAY,CAAC,iBAAiB,EAAE,CAC5H,CAAC;YAEF,IAAI,YAAY,CAAC,iBAAiB,KAAK,sBAAsB,CAAC,WAAW,EAAE,CAAC;gBAC1E,IACE,UAAU,CAAC,MAAM,KAAK,gBAAgB,CAAC,UAAU;oBACjD,YAAY,CAAC,iBAAiB,KAAK,OAAO,EAC1C,CAAC;oBACD,MAAM,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;YAED,IAAI,YAAY,CAAC,iBAAiB,KAAK,sBAAsB,CAAC,yBAAyB,EAAE,CAAC;gBACxF,IACE,UAAU,CAAC,MAAM,KAAK,gBAAgB,CAAC,UAAU;oBACjD,YAAY,CAAC,iBAAiB,KAAK,OAAO,EAC1C,CAAC;oBACD,MAAM,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAClE,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { AppleTransaction } from '../db/AppleTransactionsCollection.js';
2
+ export interface AppleTransactionsModule {
3
+ findTransactionById: (transactionIdentifier: string) => Promise<AppleTransaction>;
4
+ createTransaction: (doc: AppleTransaction) => Promise<string | null>;
5
+ }
6
+ export declare const configureAppleTransactionsModule: ({ db }: {
7
+ db: any;
8
+ }) => Promise<AppleTransactionsModule>;
9
+ //# sourceMappingURL=configureAppleTransactionsModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configureAppleTransactionsModule.d.ts","sourceRoot":"","sources":["../../../../src/payment/apple-iap/module/configureAppleTransactionsModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA+B,MAAM,sCAAsC,CAAC;AAErG,MAAM,WAAW,uBAAuB;IACtC,mBAAmB,EAAE,CAAC,qBAAqB,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAElF,iBAAiB,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACtE;AAED,eAAO,MAAM,gCAAgC;;MAAmB,OAAO,CAAC,uBAAuB,CAgB9F,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { AppleTransactionsCollection } from '../db/AppleTransactionsCollection.js';
2
+ export const configureAppleTransactionsModule = async ({ db }) => {
3
+ const AppleTransactions = await AppleTransactionsCollection(db);
4
+ return {
5
+ findTransactionById: async (transactionIdentifier) => {
6
+ return AppleTransactions.findOne({ _id: transactionIdentifier });
7
+ },
8
+ createTransaction: async (doc) => {
9
+ await AppleTransactions.insertOne({
10
+ ...doc,
11
+ created: new Date(),
12
+ });
13
+ return doc._id;
14
+ },
15
+ };
16
+ };
17
+ //# sourceMappingURL=configureAppleTransactionsModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configureAppleTransactionsModule.js","sourceRoot":"","sources":["../../../../src/payment/apple-iap/module/configureAppleTransactionsModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAQrG,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,EAAoC,EAAE;IACjG,MAAM,iBAAiB,GAAG,MAAM,2BAA2B,CAAC,EAAE,CAAC,CAAC;IAEhE,OAAO;QACL,mBAAmB,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE;YACnD,OAAO,iBAAiB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC/B,MAAM,iBAAiB,CAAC,SAAS,CAAC;gBAChC,GAAG,GAAG;gBACN,OAAO,EAAE,IAAI,IAAI,EAAE;aACpB,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,GAAG,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -2,16 +2,16 @@ import { AppleTransaction } from './db/AppleTransactionsCollection.js';
2
2
  export declare const configureAppleTransactionsModule: ({ db }: {
3
3
  db: any;
4
4
  }) => Promise<{
5
- findTransactionById: (transactionIdentifier: string) => Promise<AppleTransaction>;
6
- createTransaction: (doc: AppleTransaction) => Promise<string>;
5
+ findTransactionById: (transactionIdentifier: string) => Promise<AppleTransaction | null>;
6
+ createTransaction: (doc: Omit<AppleTransaction, "_id" | "created"> & Pick<Partial<AppleTransaction>, "_id" | "created">) => Promise<string>;
7
7
  }>;
8
8
  declare const _default: {
9
9
  appleTransactions: {
10
10
  configure: ({ db }: {
11
11
  db: any;
12
12
  }) => Promise<{
13
- findTransactionById: (transactionIdentifier: string) => Promise<AppleTransaction>;
14
- createTransaction: (doc: AppleTransaction) => Promise<string>;
13
+ findTransactionById: (transactionIdentifier: string) => Promise<AppleTransaction | null>;
14
+ createTransaction: (doc: Omit<AppleTransaction, "_id" | "created"> & Pick<Partial<AppleTransaction>, "_id" | "created">) => Promise<string>;
15
15
  }>;
16
16
  };
17
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/payment/apple-iap/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA+B,MAAM,qCAAqC,CAAC;AAEpG,eAAO,MAAM,gCAAgC,GAAU;;CAAM;iDAIN,MAAM,KAAG,OAAO,CAAC,gBAAgB,CAAC;6BAItD,gBAAgB;EAQlD,CAAC;;;;;;yDAZqD,MAAM,KAAG,OAAO,CAAC,gBAAgB,CAAC;qCAItD,gBAAgB;;;;AAUnD,wBAIE;AAEF,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,gCAAgC,CAAC,CAAC,CAAC;CACjF"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/payment/apple-iap/module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAA+B,MAAM,qCAAqC,CAAC;AAEpG,eAAO,MAAM,gCAAgC,GAAU;;CAAM;iDAIN,MAAM,KAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;6BAKrF,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,SAAS,CAAC,GAC5C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;EAUzD,CAAC;;;;;;yDAhBqD,MAAM,KAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;qCAKrF,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,SAAS,CAAC,GAC5C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;;;;AAY1D,wBAIE;AAEF,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,gCAAgC,CAAC,CAAC,CAAC;CACjF"}
@@ -1,3 +1,4 @@
1
+ import { generateDbObjectId } from '@unchainedshop/mongodb';
1
2
  import { AppleTransactionsCollection } from './db/AppleTransactionsCollection.js';
2
3
  export const configureAppleTransactionsModule = async ({ db }) => {
3
4
  const AppleTransactions = await AppleTransactionsCollection(db);
@@ -6,11 +7,12 @@ export const configureAppleTransactionsModule = async ({ db }) => {
6
7
  return AppleTransactions.findOne({ _id: transactionIdentifier });
7
8
  },
8
9
  createTransaction: async (doc) => {
9
- await AppleTransactions.insertOne({
10
+ const { insertedId } = await AppleTransactions.insertOne({
11
+ _id: generateDbObjectId(),
10
12
  ...doc,
11
13
  created: new Date(),
12
14
  });
13
- return doc._id;
15
+ return insertedId;
14
16
  },
15
17
  };
16
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/payment/apple-iap/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAEpG,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAC/D,MAAM,iBAAiB,GAAG,MAAM,2BAA2B,CAAC,EAAE,CAAC,CAAC;IAEhE,OAAO;QACL,mBAAmB,EAAE,KAAK,EAAE,qBAA6B,EAA6B,EAAE;YACtF,OAAO,iBAAiB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,iBAAiB,EAAE,KAAK,EAAE,GAAqB,EAAE,EAAE;YACjD,MAAM,iBAAiB,CAAC,SAAS,CAAC;gBAChC,GAAG,GAAG;gBACN,OAAO,EAAE,IAAI,IAAI,EAAE;aACpB,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,GAAG,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe;IACb,iBAAiB,EAAE;QACjB,SAAS,EAAE,gCAAgC;KAC5C;CACF,CAAC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/payment/apple-iap/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAoB,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAEpG,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAC/D,MAAM,iBAAiB,GAAG,MAAM,2BAA2B,CAAC,EAAE,CAAC,CAAC;IAEhE,OAAO;QACL,mBAAmB,EAAE,KAAK,EAAE,qBAA6B,EAAoC,EAAE;YAC7F,OAAO,iBAAiB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,iBAAiB,EAAE,KAAK,EACtB,GACoD,EACpD,EAAE;YACF,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC;gBACvD,GAAG,EAAE,kBAAkB,EAAE;gBACzB,GAAG,GAAG;gBACN,OAAO,EAAE,IAAI,IAAI,EAAE;aACpB,CAAC,CAAC;YACH,OAAO,UAAU,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe;IACb,iBAAiB,EAAE;QACjB,SAAS,EAAE,gCAAgC;KAC5C;CACF,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { createLogger } from '@unchainedshop/logger';
2
2
  import { PaymentAdapter, PaymentDirector, PaymentError, OrderPricingSheet, } from '@unchainedshop/core';
3
- const logger = createLogger('unchained:core-payment:braintree');
3
+ const logger = createLogger('unchained:braintree');
4
4
  const { BRAINTREE_SANDBOX_TOKEN, BRAINTREE_PRIVATE_KEY } = process.env;
5
5
  const BraintreeDirect = {
6
6
  ...PaymentAdapter,
@@ -86,6 +86,8 @@ const BraintreeDirect = {
86
86
  },
87
87
  charge: async ({ paypalPaymentMethodNonce }) => {
88
88
  const { order } = context;
89
+ if (!order)
90
+ throw new Error('Order is missing in payment context');
89
91
  if (!paypalPaymentMethodNonce)
90
92
  throw new Error('You have to provide paypalPaymentMethodNonce in paymentContext');
91
93
  // eslint-disable-next-line
@@ -1 +1 @@
1
- {"version":3,"file":"braintree.js","sourceRoot":"","sources":["../../src/payment/braintree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"braintree.js","sourceRoot":"","sources":["../../src/payment/braintree.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { mongodb } from '@unchainedshop/mongodb';
2
2
  import { TimestampFields } from '@unchainedshop/mongodb';
3
3
  export type CryptopayTransaction = {
4
- _id?: string;
4
+ _id: string;
5
5
  blockHeight: number;
6
6
  mostRecentBlockHeight: number;
7
7
  amount: mongodb.Decimal128;
@@ -1 +1 @@
1
- {"version":3,"file":"CryptopayTransactions.d.ts","sourceRoot":"","sources":["../../../../src/payment/cryptopay/db/CryptopayTransactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,eAAe,CAAC;AAEpB,eAAO,MAAM,+BAA+B,GAAI,IAAI,OAAO,CAAC,EAAE,6CAE7D,CAAC"}
1
+ {"version":3,"file":"CryptopayTransactions.d.ts","sourceRoot":"","sources":["../../../../src/payment/cryptopay/db/CryptopayTransactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,eAAe,CAAC;AAEpB,eAAO,MAAM,+BAA+B,GAAI,IAAI,OAAO,CAAC,EAAE,6CAE7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"derive-btc-address.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/derive-btc-address.ts"],"names":[],"mappings":"yBAkBgB,SAAI,EAAE,UAAK;AAA3B,wBA6BE"}
1
+ {"version":3,"file":"derive-btc-address.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/derive-btc-address.ts"],"names":[],"mappings":"yBAkBgB,SAAI,EAAE,UAAK;AAA3B,wBA2BE"}
@@ -29,9 +29,8 @@ export default (xpub, index) => {
29
29
  });
30
30
  hardenedMaster.wipePrivateData(); // Neuter
31
31
  const child = hardenedMaster.deriveChild(0).deriveChild(index);
32
- // We don't need this AFAIK:
33
- // const derivationPath = resolvePath(prefix);
34
- // const child = hardenedMaster.derive(`${derivationPath}/0/${btcDerivationNumber}`);
32
+ if (!child.publicKey)
33
+ throw new Error('Cannot derive public key from extended public key');
35
34
  const network = resolveNetwork(prefix);
36
35
  const pubKey = p2wpkh(child.publicKey /* hex.decode( as string)*/, network);
37
36
  return pubKey.address;
@@ -1 +1 @@
1
- {"version":3,"file":"derive-btc-address.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/derive-btc-address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAElE,oCAAoC;AACpC,2CAA2C;AAC3C,2CAA2C;AAC3C,2CAA2C;AAC3C,2CAA2C;AAC3C,2CAA2C;AAC3C,2CAA2C;AAC3C,gBAAgB;AAChB,KAAK;AAEL,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,EAAE;IAChC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,CAAC;IACrD,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAClC,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IAEnG,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,CAC1C,IAAI,EACJ,MAAM,KAAK,GAAG;QACZ,CAAC,CAAC;YACE,MAAM,EAAE,UAAU,EAAE,cAAc;YAClC,OAAO,EAAE,UAAU,EAAE,gBAAgB;SACtC;QACH,CAAC,CAAC;YACE,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,UAAU;SACpB,CACN,CAAC;IACF,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS;IAE3C,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE/D,4BAA4B;IAC5B,8CAA8C;IAC9C,qFAAqF;IAErF,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;IAE5E,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC,CAAC"}
1
+ {"version":3,"file":"derive-btc-address.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/derive-btc-address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAElE,oCAAoC;AACpC,2CAA2C;AAC3C,2CAA2C;AAC3C,2CAA2C;AAC3C,2CAA2C;AAC3C,2CAA2C;AAC3C,2CAA2C;AAC3C,gBAAgB;AAChB,KAAK;AAEL,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,EAAE;IAChC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,CAAC;IACrD,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAClC,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IAEnG,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,CAC1C,IAAI,EACJ,MAAM,KAAK,GAAG;QACZ,CAAC,CAAC;YACE,MAAM,EAAE,UAAU,EAAE,cAAc;YAClC,OAAO,EAAE,UAAU,EAAE,gBAAgB;SACtC;QACH,CAAC,CAAC;YACE,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,UAAU;SACpB,CACN,CAAC;IACF,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS;IAE3C,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE/D,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAE3F,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;IAE5E,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"derive-eth-address.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/derive-eth-address.ts"],"names":[],"mappings":"yBAwBgB,SAAI,EAAE,UAAK;AAA3B,wBAaE"}
1
+ {"version":3,"file":"derive-eth-address.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/derive-eth-address.ts"],"names":[],"mappings":"yBAwBgB,SAAI,EAAE,UAAK;AAA3B,wBAeE"}
@@ -22,6 +22,8 @@ export default (xpub, index) => {
22
22
  const hardenedMaster = HDKey.fromExtendedKey(xpub);
23
23
  hardenedMaster.wipePrivateData(); // Neuter
24
24
  const child = hardenedMaster.deriveChild(0).deriveChild(index);
25
+ if (!child.publicKey)
26
+ throw new Error('Could not derive child key from extended public key');
25
27
  // ETH Address (secp256k1 + keccak_256 + checksum)
26
28
  const childSigningKey = secp256k1.Point.fromBytes(child.publicKey).toBytes(false);
27
29
  const address = Buffer.from(keccak_256(childSigningKey.slice(1)))
@@ -1 +1 @@
1
- {"version":3,"file":"derive-eth-address.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/derive-eth-address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,SAAS,kBAAkB,CAAC,OAAO;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;IAC7B,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACnD,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS;IAE3C,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE/D,kDAAkD;IAClD,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9D,QAAQ,CAAC,KAAK,CAAC;SACf,SAAS,CAAC,EAAE,CAAC,CAAC;IAEjB,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC,CAAC"}
1
+ {"version":3,"file":"derive-eth-address.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/derive-eth-address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,SAAS,kBAAkB,CAAC,OAAO;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;IAC7B,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACnD,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS;IAE3C,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE/D,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAE7F,kDAAkD;IAClD,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9D,QAAQ,CAAC,KAAK,CAAC;SACf,SAAS,CAAC,EAAE,CAAC,CAAC;IAEjB,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { createLogger } from '@unchainedshop/logger';
2
2
  import { OrderStatus } from '@unchainedshop/core-orders';
3
3
  const { CRYPTOPAY_SECRET, CRYPTOPAY_MAX_RATE_AGE = '360' } = process.env;
4
- const logger = createLogger('unchained:core-payment:cryptopay:handler');
4
+ const logger = createLogger('unchained:cryptopay:handler');
5
5
  export default async function handleWebhook({ secret, wallet, price, ping, }, context) {
6
6
  const { modules, services } = context;
7
7
  if (secret !== CRYPTOPAY_SECRET) {
@@ -16,7 +16,7 @@ export default async function handleWebhook({ secret, wallet, price, ping, }, co
16
16
  blockHeight,
17
17
  amount,
18
18
  contract,
19
- decimals,
19
+ decimals: decimals ?? 0,
20
20
  currencyCode,
21
21
  });
22
22
  const orderPayment = orderPaymentId &&
@@ -1 +1 @@
1
- {"version":3,"file":"handle-webhook.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handle-webhook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handle-webhook.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handle-webhook.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { createLogger } from '@unchainedshop/logger';
2
2
  import handleWebhook from './handle-webhook.js';
3
- const logger = createLogger('unchained:core-payment:cryptopay:handler');
3
+ const logger = createLogger('unchained:cryptopay:handler');
4
4
  const cryptopayHandler = async (req, res) => {
5
5
  if (req.method === 'POST') {
6
6
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"handler-express.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handler-express.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAEhD,MAAM,MAAM,GAAG,YAAY,CAAC,0CAA0C,CAAC,CAAC;AAExE,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACpD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;IACH,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"handler-express.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handler-express.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAEhD,MAAM,MAAM,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAE3D,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACpD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;IACH,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { createLogger } from '@unchainedshop/logger';
2
2
  import handleWebhook from './handle-webhook.js';
3
- const logger = createLogger('unchained:core-payment:cryptopay:handler');
3
+ const logger = createLogger('unchained:cryptopay:handler');
4
4
  const cryptopayHandler = async (req, reply) => {
5
5
  try {
6
6
  await handleWebhook(req.body, req.unchainedContext);
@@ -1 +1 @@
1
- {"version":3,"file":"handler-fastify.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handler-fastify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAGhD,MAAM,MAAM,GAAG,YAAY,CAAC,0CAA0C,CAAC,CAAC;AAExE,MAAM,gBAAgB,GAAuB,KAAK,EAChD,GAEC,EACD,KAAK,EACL,EAAE;IACF,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,GAAG,CAAC,IAAW,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC3D,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"handler-fastify.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handler-fastify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAGhD,MAAM,MAAM,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAE3D,MAAM,gBAAgB,GAAuB,KAAK,EAChD,GAEC,EACD,KAAK,EACL,EAAE;IACF,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,GAAG,CAAC,IAAW,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC3D,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const cryptopayHandler: (req: any, res: any) => Promise<void>;
2
+ //# sourceMappingURL=middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/middleware.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,gBAAgB,uCA0E5B,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { createLogger } from '@unchainedshop/logger';
2
+ import { OrderStatus } from '@unchainedshop/core-orders';
3
+ const { CRYPTOPAY_SECRET, CRYPTOPAY_MAX_RATE_AGE = '360' } = process.env;
4
+ const logger = createLogger('unchained:core-payment:cryptopay');
5
+ export const cryptopayHandler = async (req, res) => {
6
+ const resolvedContext = req.unchainedContext;
7
+ const modules = resolvedContext.modules;
8
+ if (req.method === 'POST') {
9
+ try {
10
+ const { secret, price, wallet, ping } = req.body;
11
+ if (secret !== CRYPTOPAY_SECRET) {
12
+ logger.warn(`Cryptopay Plugin: Invalid Cryptopay Secret provided`);
13
+ throw new Error('Secret invalid');
14
+ }
15
+ if (wallet) {
16
+ const { address, blockHeight, amount, contract, decimals, currency } = wallet;
17
+ const { orderPaymentId } = await modules.cryptopay.updateWalletAddress({
18
+ addressId: address,
19
+ blockHeight,
20
+ amount,
21
+ contract,
22
+ decimals,
23
+ currency,
24
+ });
25
+ const orderPayment = orderPaymentId &&
26
+ (await modules.orders.payments.findOrderPayment({
27
+ orderPaymentId,
28
+ }));
29
+ if (orderPayment) {
30
+ // Try to process order to next status
31
+ // TODO: Not sure if it's correct to use processOrder here if status is PENDING!
32
+ const order = await modules.orders.findOrder({ orderId: orderPayment.orderId });
33
+ if (order.status === null) {
34
+ await modules.orders.checkout(order._id, {}, resolvedContext);
35
+ }
36
+ else if (order.status === OrderStatus.PENDING) {
37
+ await modules.orders.processOrder(order, {}, resolvedContext);
38
+ }
39
+ else {
40
+ throw new Error('Already processed');
41
+ }
42
+ }
43
+ }
44
+ if (price) {
45
+ const { baseCurrency, token, rate, timestamp } = price;
46
+ const timestampDate = new Date(timestamp);
47
+ const expiresAt = new Date(new Date().getTime() + parseInt(CRYPTOPAY_MAX_RATE_AGE, 10) * 1000);
48
+ const rateData = {
49
+ baseCurrency,
50
+ quoteCurrency: token,
51
+ rate,
52
+ expiresAt,
53
+ timestamp: timestampDate,
54
+ };
55
+ logger.verbose(`update rate ${JSON.stringify(price)}, ${JSON.stringify(rateData)}`);
56
+ await resolvedContext.modules.products.prices.rates.updateRates([rateData]);
57
+ }
58
+ if (ping) {
59
+ const { blockHeight, currency } = ping;
60
+ await modules.cryptopay.updateMostRecentBlock(currency, blockHeight);
61
+ }
62
+ res.writeHead(200);
63
+ res.end(JSON.stringify({ success: true }));
64
+ return;
65
+ }
66
+ catch (e) {
67
+ res.writeHead(500);
68
+ res.end(JSON.stringify({ success: false, error: e.message }));
69
+ return;
70
+ }
71
+ }
72
+ res.writeHead(404);
73
+ res.end(JSON.stringify({ success: false }));
74
+ };
75
+ //# sourceMappingURL=middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/middleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { CryptopayTransaction } from '../db/CryptopayTransactions.js';
2
+ export interface CryptopayModule {
3
+ getWalletAddress: (addressId: string) => Promise<CryptopayTransaction>;
4
+ getWalletAddressesByOrderPaymentId: (orderPaymentId: string) => Promise<CryptopayTransaction[]>;
5
+ updateMostRecentBlock: (currency: string, blockHeight: number) => Promise<void>;
6
+ updateWalletAddress: (walletData: {
7
+ addressId: string;
8
+ blockHeight: number;
9
+ amount: string;
10
+ contract: string;
11
+ currency: string;
12
+ decimals: number;
13
+ }) => Promise<CryptopayTransaction>;
14
+ mapOrderPaymentToWalletAddress: (walletData: {
15
+ addressId: string;
16
+ contract: string;
17
+ currency: string;
18
+ orderPaymentId: string;
19
+ }) => Promise<CryptopayTransaction>;
20
+ getNextDerivationNumber: (currency: string) => Promise<number>;
21
+ }
22
+ export declare const configureCryptopayModule: ({ db }: {
23
+ db: any;
24
+ }) => CryptopayModule;
25
+ //# sourceMappingURL=configureCryptopayModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configureCryptopayModule.d.ts","sourceRoot":"","sources":["../../../../src/payment/cryptopay/module/configureCryptopayModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAmC,MAAM,gCAAgC,CAAC;AAEvG,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACvE,kCAAkC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAChG,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,mBAAmB,EAAE,CAAC,UAAU,EAAE;QAChC,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACpC,8BAA8B,EAAE,CAAC,UAAU,EAAE;QAC3C,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;KACxB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACpC,uBAAuB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAChE;AAED,eAAO,MAAM,wBAAwB;;MAAa,eA2GjD,CAAC"}