@unchainedshop/core-payment 1.1.3

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 (93) hide show
  1. package/.npm/package/README +7 -0
  2. package/.npm/package/npm-shrinkwrap.json +205 -0
  3. package/.versions +54 -0
  4. package/README.md +3 -0
  5. package/lib/db/PaymentCredentialsCollection.d.ts +3 -0
  6. package/lib/db/PaymentCredentialsCollection.js +10 -0
  7. package/lib/db/PaymentCredentialsCollection.js.map +1 -0
  8. package/lib/db/PaymentCredentialsSchema.d.ts +1 -0
  9. package/lib/db/PaymentCredentialsSchema.js +11 -0
  10. package/lib/db/PaymentCredentialsSchema.js.map +1 -0
  11. package/lib/db/PaymentProvidersCollection.d.ts +3 -0
  12. package/lib/db/PaymentProvidersCollection.js +7 -0
  13. package/lib/db/PaymentProvidersCollection.js.map +1 -0
  14. package/lib/db/PaymentProvidersSchema.d.ts +1 -0
  15. package/lib/db/PaymentProvidersSchema.js +13 -0
  16. package/lib/db/PaymentProvidersSchema.js.map +1 -0
  17. package/lib/director/PaymentAdapter.d.ts +2 -0
  18. package/lib/director/PaymentAdapter.js +49 -0
  19. package/lib/director/PaymentAdapter.js.map +1 -0
  20. package/lib/director/PaymentDirector.d.ts +2 -0
  21. package/lib/director/PaymentDirector.js +84 -0
  22. package/lib/director/PaymentDirector.js.map +1 -0
  23. package/lib/director/PaymentError.d.ts +6 -0
  24. package/lib/director/PaymentError.js +8 -0
  25. package/lib/director/PaymentError.js.map +1 -0
  26. package/lib/director/PaymentPricingAdapter.d.ts +3 -0
  27. package/lib/director/PaymentPricingAdapter.js +25 -0
  28. package/lib/director/PaymentPricingAdapter.js.map +1 -0
  29. package/lib/director/PaymentPricingDirector.d.ts +2 -0
  30. package/lib/director/PaymentPricingDirector.js +49 -0
  31. package/lib/director/PaymentPricingDirector.js.map +1 -0
  32. package/lib/director/PaymentPricingSheet.d.ts +3 -0
  33. package/lib/director/PaymentPricingSheet.js +92 -0
  34. package/lib/director/PaymentPricingSheet.js.map +1 -0
  35. package/lib/director/PaymentProviderType.d.ts +5 -0
  36. package/lib/director/PaymentProviderType.js +7 -0
  37. package/lib/director/PaymentProviderType.js.map +1 -0
  38. package/lib/module/configurePaymentCredentialsModule.d.ts +3 -0
  39. package/lib/module/configurePaymentCredentialsModule.js +80 -0
  40. package/lib/module/configurePaymentCredentialsModule.js.map +1 -0
  41. package/lib/module/configurePaymentModule.d.ts +3 -0
  42. package/lib/module/configurePaymentModule.js +15 -0
  43. package/lib/module/configurePaymentModule.js.map +1 -0
  44. package/lib/module/configurePaymentProvidersModule.d.ts +3 -0
  45. package/lib/module/configurePaymentProvidersModule.js +161 -0
  46. package/lib/module/configurePaymentProvidersModule.js.map +1 -0
  47. package/lib/payment-index.d.ts +9 -0
  48. package/lib/payment-index.js +10 -0
  49. package/lib/payment-index.js.map +1 -0
  50. package/lib/payment-settings.d.ts +2 -0
  51. package/lib/payment-settings.js +36 -0
  52. package/lib/payment-settings.js.map +1 -0
  53. package/lib/service/cancelService.d.ts +2 -0
  54. package/lib/service/cancelService.js +13 -0
  55. package/lib/service/cancelService.js.map +1 -0
  56. package/lib/service/chargeService.d.ts +2 -0
  57. package/lib/service/chargeService.js +33 -0
  58. package/lib/service/chargeService.js.map +1 -0
  59. package/lib/service/confirmService.d.ts +2 -0
  60. package/lib/service/confirmService.js +13 -0
  61. package/lib/service/confirmService.js.map +1 -0
  62. package/lib/service/paymentServices.d.ts +2 -0
  63. package/lib/service/paymentServices.js +11 -0
  64. package/lib/service/paymentServices.js.map +1 -0
  65. package/lib/service/registerPaymentCredentialsService.d.ts +2 -0
  66. package/lib/service/registerPaymentCredentialsService.js +17 -0
  67. package/lib/service/registerPaymentCredentialsService.js.map +1 -0
  68. package/package.js +33 -0
  69. package/package.json +43 -0
  70. package/src/db/PaymentCredentialsCollection.ts +14 -0
  71. package/src/db/PaymentCredentialsSchema.js +14 -0
  72. package/src/db/PaymentProvidersCollection.ts +11 -0
  73. package/src/db/PaymentProvidersSchema.js +16 -0
  74. package/src/director/PaymentAdapter.ts +63 -0
  75. package/src/director/PaymentDirector.ts +99 -0
  76. package/src/director/PaymentError.ts +6 -0
  77. package/src/director/PaymentPricingAdapter.ts +41 -0
  78. package/src/director/PaymentPricingDirector.ts +66 -0
  79. package/src/director/PaymentPricingSheet.ts +112 -0
  80. package/src/director/PaymentProviderType.ts +5 -0
  81. package/src/module/configurePaymentCredentialsModule.ts +110 -0
  82. package/src/module/configurePaymentModule.ts +22 -0
  83. package/src/module/configurePaymentProvidersModule.ts +230 -0
  84. package/src/payment-index.ts +12 -0
  85. package/src/payment-settings.ts +52 -0
  86. package/src/service/cancelService.ts +24 -0
  87. package/src/service/chargeService.ts +47 -0
  88. package/src/service/confirmService.ts +24 -0
  89. package/src/service/paymentServices.ts +12 -0
  90. package/src/service/registerPaymentCredentialsService.ts +28 -0
  91. package/tests/payment-index.test.ts +47 -0
  92. package/tsconfig.build.json +26 -0
  93. package/tsconfig.json +8 -0
@@ -0,0 +1,7 @@
1
+ This directory and the files immediately inside it are automatically generated
2
+ when you change this package's NPM dependencies. Commit the files in this
3
+ directory (npm-shrinkwrap.json, .gitignore, and this README) to source control
4
+ so that others run the same versions of sub-dependencies.
5
+
6
+ You should NOT check in the node_modules directory that Meteor automatically
7
+ creates; if you are using git, the .gitignore file tells git to ignore it.
@@ -0,0 +1,205 @@
1
+ {
2
+ "lockfileVersion": 1,
3
+ "dependencies": {
4
+ "@colors/colors": {
5
+ "version": "1.5.0",
6
+ "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
7
+ "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ=="
8
+ },
9
+ "@dabh/diagnostics": {
10
+ "version": "2.0.3",
11
+ "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz",
12
+ "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA=="
13
+ },
14
+ "@unchainedshop/logger": {
15
+ "version": "1.1.0",
16
+ "resolved": "https://registry.npmjs.org/@unchainedshop/logger/-/logger-1.1.0.tgz",
17
+ "integrity": "sha512-PwS2wtlwzRo1RlfRbKQN6cLCz7XEp2dGmVbXCQ1E49O9VvAYNh5mdTg2BNoWYZ1Sl7KWpLkANNYispb+X/Y4jw=="
18
+ },
19
+ "async": {
20
+ "version": "3.2.4",
21
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
22
+ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
23
+ },
24
+ "clone": {
25
+ "version": "2.1.2",
26
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
27
+ "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w=="
28
+ },
29
+ "color": {
30
+ "version": "3.2.1",
31
+ "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz",
32
+ "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA=="
33
+ },
34
+ "color-convert": {
35
+ "version": "1.9.3",
36
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
37
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="
38
+ },
39
+ "color-name": {
40
+ "version": "1.1.3",
41
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
42
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
43
+ },
44
+ "color-string": {
45
+ "version": "1.9.1",
46
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
47
+ "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg=="
48
+ },
49
+ "colorspace": {
50
+ "version": "1.1.4",
51
+ "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz",
52
+ "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w=="
53
+ },
54
+ "enabled": {
55
+ "version": "2.0.0",
56
+ "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz",
57
+ "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ=="
58
+ },
59
+ "fecha": {
60
+ "version": "4.2.3",
61
+ "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz",
62
+ "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw=="
63
+ },
64
+ "fn.name": {
65
+ "version": "1.1.0",
66
+ "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz",
67
+ "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="
68
+ },
69
+ "inherits": {
70
+ "version": "2.0.4",
71
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
72
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
73
+ },
74
+ "is-arrayish": {
75
+ "version": "0.3.2",
76
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
77
+ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
78
+ },
79
+ "is-stream": {
80
+ "version": "2.0.1",
81
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
82
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
83
+ },
84
+ "kuler": {
85
+ "version": "2.0.0",
86
+ "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
87
+ "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A=="
88
+ },
89
+ "lodash._reinterpolate": {
90
+ "version": "3.0.0",
91
+ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
92
+ "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA=="
93
+ },
94
+ "lodash.template": {
95
+ "version": "4.5.0",
96
+ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
97
+ "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A=="
98
+ },
99
+ "lodash.templatesettings": {
100
+ "version": "4.2.0",
101
+ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
102
+ "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ=="
103
+ },
104
+ "logform": {
105
+ "version": "2.4.0",
106
+ "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.0.tgz",
107
+ "integrity": "sha512-CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw=="
108
+ },
109
+ "message-box": {
110
+ "version": "0.2.7",
111
+ "resolved": "https://registry.npmjs.org/message-box/-/message-box-0.2.7.tgz",
112
+ "integrity": "sha512-C4ccA5nHb58kTS+pLrgF/JWtr7fAIkHxRDceH7tdy5fMA783nUfbYwZ7H2XLvSeYfcnWIYCig5dWW+icK9X/Ag=="
113
+ },
114
+ "mongo-object": {
115
+ "version": "0.1.4",
116
+ "resolved": "https://registry.npmjs.org/mongo-object/-/mongo-object-0.1.4.tgz",
117
+ "integrity": "sha512-QtYk0gupWEn2+iB+DDRt1L+WbcNYvJRaHdih/dcqthOa1DbnREUGSs2WGcW478GNYpElflo/yybZXu0sTiRXHg=="
118
+ },
119
+ "ms": {
120
+ "version": "2.1.3",
121
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
122
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
123
+ },
124
+ "one-time": {
125
+ "version": "1.0.0",
126
+ "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz",
127
+ "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g=="
128
+ },
129
+ "readable-stream": {
130
+ "version": "3.6.0",
131
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
132
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA=="
133
+ },
134
+ "safe-buffer": {
135
+ "version": "5.2.1",
136
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
137
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
138
+ },
139
+ "safe-stable-stringify": {
140
+ "version": "2.3.1",
141
+ "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz",
142
+ "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg=="
143
+ },
144
+ "sax": {
145
+ "version": "1.2.4",
146
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
147
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
148
+ },
149
+ "simpl-schema": {
150
+ "version": "1.12.0",
151
+ "resolved": "https://registry.npmjs.org/simpl-schema/-/simpl-schema-1.12.0.tgz",
152
+ "integrity": "sha512-lzXC3L8jJbPhNXGR3cjlyIauqqrC5WUJS4O34Ym/wLIvb8K3ZieK+1OfTzs4mBpDc3Y8u53gQFAr1X37DmTcEg=="
153
+ },
154
+ "simple-swizzle": {
155
+ "version": "0.2.2",
156
+ "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
157
+ "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg=="
158
+ },
159
+ "stack-trace": {
160
+ "version": "0.0.10",
161
+ "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
162
+ "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg=="
163
+ },
164
+ "string_decoder": {
165
+ "version": "1.3.0",
166
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
167
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="
168
+ },
169
+ "text-hex": {
170
+ "version": "1.0.0",
171
+ "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
172
+ "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg=="
173
+ },
174
+ "triple-beam": {
175
+ "version": "1.3.0",
176
+ "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz",
177
+ "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw=="
178
+ },
179
+ "util-deprecate": {
180
+ "version": "1.0.2",
181
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
182
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
183
+ },
184
+ "winston": {
185
+ "version": "3.7.2",
186
+ "resolved": "https://registry.npmjs.org/winston/-/winston-3.7.2.tgz",
187
+ "integrity": "sha512-QziIqtojHBoyzUOdQvQiar1DH0Xp9nF1A1y7NVy2DGEsz82SBDtOalS0ulTRGVT14xPX3WRWkCsdcJKqNflKng=="
188
+ },
189
+ "winston-transport": {
190
+ "version": "4.5.0",
191
+ "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz",
192
+ "integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q=="
193
+ },
194
+ "xml2js": {
195
+ "version": "0.4.23",
196
+ "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
197
+ "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug=="
198
+ },
199
+ "xmlbuilder": {
200
+ "version": "11.0.1",
201
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
202
+ "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="
203
+ }
204
+ }
205
+ }
package/.versions ADDED
@@ -0,0 +1,54 @@
1
+ allow-deny@1.1.1
2
+ babel-compiler@7.9.0
3
+ babel-runtime@1.5.1
4
+ base64@1.0.12
5
+ binary-heap@1.0.11
6
+ boilerplate-generator@1.7.1
7
+ callback-hook@1.4.0
8
+ check@1.3.1
9
+ ddp@1.4.0
10
+ ddp-client@2.5.0
11
+ ddp-common@1.4.0
12
+ ddp-server@2.5.0
13
+ diff-sequence@1.1.1
14
+ dynamic-import@0.7.2
15
+ ecmascript@0.16.2
16
+ ecmascript-runtime@0.8.0
17
+ ecmascript-runtime-client@0.12.1
18
+ ecmascript-runtime-server@0.11.0
19
+ ejson@1.1.2
20
+ fetch@0.1.1
21
+ geojson-utils@1.0.10
22
+ id-map@1.1.1
23
+ inter-process-messaging@0.1.1
24
+ local-test:unchained:core-payment@1.1.2
25
+ logging@1.3.1
26
+ meteor@1.10.0
27
+ meteortesting:browser-tests@0.1.2
28
+ meteortesting:mocha@0.4.4
29
+ minimongo@1.8.0
30
+ modern-browsers@0.1.8
31
+ modules@0.18.0
32
+ modules-runtime@0.13.0
33
+ mongo@1.15.0
34
+ mongo-decimal@0.1.3
35
+ mongo-dev-server@1.1.0
36
+ mongo-id@1.0.8
37
+ npm-mongo@4.3.1
38
+ ordered-dict@1.1.0
39
+ practicalmeteor:mocha-core@1.0.1
40
+ promise@0.12.0
41
+ random@1.2.0
42
+ react-fast-refresh@0.2.3
43
+ reload@1.3.1
44
+ retry@1.1.0
45
+ routepolicy@1.1.1
46
+ socket-stream-client@0.5.0
47
+ tracker@1.2.0
48
+ typescript@4.5.4
49
+ unchained:core-payment@1.1.2
50
+
51
+ unchained:mongodb@1.0.0
52
+ underscore@1.0.10
53
+ webapp@1.13.1
54
+ webapp-hashing@1.1.0
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # Payment (Unchained Engine)
2
+
3
+ This package contains business logic and database abstraction for payment in Unchained.
@@ -0,0 +1,3 @@
1
+ import { Db } from '@unchainedshop/types/common';
2
+ import { PaymentCredentials as PaymentCredentialsType } from '@unchainedshop/types/payments';
3
+ export declare const PaymentCredentialsCollection: (db: Db) => Promise<import("mongodb").Collection<PaymentCredentialsType>>;
@@ -0,0 +1,10 @@
1
+ import { buildDbIndexes } from '@unchainedshop/utils';
2
+ export const PaymentCredentialsCollection = async (db) => {
3
+ const PaymentCredentials = db.collection('payment_credentials');
4
+ await buildDbIndexes(PaymentCredentials, [
5
+ { index: { paymentProviderId: 1 } },
6
+ { index: { userId: 1 } },
7
+ ]);
8
+ return PaymentCredentials;
9
+ };
10
+ //# sourceMappingURL=PaymentCredentialsCollection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentCredentialsCollection.js","sourceRoot":"","sources":["../../src/db/PaymentCredentialsCollection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAAE,EAAM,EAAE,EAAE;IAC3D,MAAM,kBAAkB,GAAG,EAAE,CAAC,UAAU,CAAyB,qBAAqB,CAAC,CAAC;IAExF,MAAM,cAAc,CAAyB,kBAAkB,EAAE;QAC/D,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,CAAC,EAAE,EAAE;QACnC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;KACzB,CAAC,CAAC;IAEH,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export const PaymentCredentialsSchema: any;
@@ -0,0 +1,11 @@
1
+ import { Schemas } from '@unchainedshop/utils';
2
+ import SimpleSchema from 'simpl-schema';
3
+ export const PaymentCredentialsSchema = new SimpleSchema({
4
+ paymentProviderId: { type: String, required: true },
5
+ userId: { type: String, required: true },
6
+ token: String,
7
+ isPreferred: Boolean,
8
+ meta: { type: Object, blackbox: true },
9
+ ...Schemas.timestampFields,
10
+ }, { requiredByDefault: false });
11
+ //# sourceMappingURL=PaymentCredentialsSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentCredentialsSchema.js","sourceRoot":"","sources":["../../src/db/PaymentCredentialsSchema.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,YAAY,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,YAAY,CACtD;IACE,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACnD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACxC,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,OAAO;IACpB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtC,GAAG,OAAO,CAAC,eAAe;CAC3B,EACD,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAC7B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Db } from '@unchainedshop/types/common';
2
+ import { PaymentProvider } from '@unchainedshop/types/payments';
3
+ export declare const PaymentProvidersCollection: (db: Db) => Promise<import("mongodb").Collection<PaymentProvider>>;
@@ -0,0 +1,7 @@
1
+ import { buildDbIndexes } from '@unchainedshop/utils';
2
+ export const PaymentProvidersCollection = async (db) => {
3
+ const PaymentProviders = db.collection('payment-providers');
4
+ await buildDbIndexes(PaymentProviders, [{ index: { type: 1 } }]);
5
+ return PaymentProviders;
6
+ };
7
+ //# sourceMappingURL=PaymentProvidersCollection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentProvidersCollection.js","sourceRoot":"","sources":["../../src/db/PaymentProvidersCollection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAAE,EAAM,EAAE,EAAE;IACzD,MAAM,gBAAgB,GAAG,EAAE,CAAC,UAAU,CAAkB,mBAAmB,CAAC,CAAC;IAE7E,MAAM,cAAc,CAAkB,gBAAgB,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAElF,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export const PaymentProvidersSchema: any;
@@ -0,0 +1,13 @@
1
+ import { Schemas } from '@unchainedshop/utils';
2
+ import SimpleSchema from 'simpl-schema';
3
+ export const PaymentProvidersSchema = new SimpleSchema({
4
+ type: { type: String, required: true },
5
+ adapterKey: { type: String, required: true },
6
+ authorId: { type: String, required: true },
7
+ configuration: { type: Array },
8
+ 'configuration.$': { type: Object },
9
+ 'configuration.$.key': { type: String },
10
+ 'configuration.$.value': { type: String },
11
+ ...Schemas.timestampFields,
12
+ }, { requiredByDefault: false });
13
+ //# sourceMappingURL=PaymentProvidersSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentProvidersSchema.js","sourceRoot":"","sources":["../../src/db/PaymentProvidersSchema.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,YAAY,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,YAAY,CACpD;IACE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtC,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC5C,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1C,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC9B,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACnC,qBAAqB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACvC,uBAAuB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACzC,GAAG,OAAO,CAAC,eAAe;CAC3B,EACD,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAC7B,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { IPaymentAdapter } from '@unchainedshop/types/payments';
2
+ export declare const PaymentAdapter: Omit<IPaymentAdapter, 'key' | 'label' | 'version'>;
@@ -0,0 +1,49 @@
1
+ import { log, LogLevel } from '@unchainedshop/logger';
2
+ import { PaymentError } from './PaymentError';
3
+ export const PaymentAdapter = {
4
+ initialConfiguration: [],
5
+ typeSupported: () => {
6
+ return false;
7
+ },
8
+ actions: () => {
9
+ return {
10
+ configurationError: () => {
11
+ return PaymentError.NOT_IMPLEMENTED;
12
+ },
13
+ isActive: () => {
14
+ return false;
15
+ },
16
+ isPayLaterAllowed: () => {
17
+ return false;
18
+ },
19
+ charge: async () => {
20
+ // if you return true, the status will be changed to PAID
21
+ // if you return false, the order payment status stays the
22
+ // same but the order status might change
23
+ // if you throw an error, you cancel the checkout process
24
+ return false;
25
+ },
26
+ register: async () => {
27
+ return {
28
+ token: '',
29
+ };
30
+ },
31
+ sign: async () => {
32
+ return null;
33
+ },
34
+ validate: async () => {
35
+ return false;
36
+ },
37
+ cancel: async () => {
38
+ return false;
39
+ },
40
+ confirm: async () => {
41
+ return false;
42
+ },
43
+ };
44
+ },
45
+ log(message, { level = LogLevel.Debug, ...options } = {}) {
46
+ return log(message, { level, ...options });
47
+ },
48
+ };
49
+ //# sourceMappingURL=PaymentAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentAdapter.js","sourceRoot":"","sources":["../../src/director/PaymentAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,MAAM,cAAc,GAAuD;IAChF,oBAAoB,EAAE,EAAE;IAExB,aAAa,EAAE,GAAG,EAAE;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,EAAE,GAAG,EAAE;QACZ,OAAO;YACL,kBAAkB,EAAE,GAAG,EAAE;gBACvB,OAAO,YAAY,CAAC,eAAe,CAAC;YACtC,CAAC;YAED,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,KAAK,CAAC;YACf,CAAC;YAED,iBAAiB,EAAE,GAAG,EAAE;gBACtB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,EAAE,KAAK,IAAI,EAAE;gBACjB,yDAAyD;gBAEzD,0DAA0D;gBAC1D,yCAAyC;gBAEzC,yDAAyD;gBACzD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACnB,OAAO;oBACL,KAAK,EAAE,EAAE;iBACV,CAAC;YACJ,CAAC;YAED,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,OAAO,IAAI,CAAC;YACd,CAAC;YAED,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACnB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,EAAE,KAAK,IAAI,EAAE;gBACjB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,OAAO,KAAK,CAAC;YACf,CAAC;SACF,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,OAAe,EAAE,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE;QAC9D,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { IPaymentDirector } from '@unchainedshop/types/payments';
2
+ export declare const PaymentDirector: IPaymentDirector;
@@ -0,0 +1,84 @@
1
+ import { BaseDirector } from '@unchainedshop/utils';
2
+ import { createLogger } from '@unchainedshop/logger';
3
+ import { PaymentError } from './PaymentError';
4
+ const logger = createLogger('unchained:core-payment');
5
+ const baseDirector = BaseDirector('PaymentDirector');
6
+ export const PaymentDirector = {
7
+ ...baseDirector,
8
+ actions: async (paymentProvider, paymentContext, requestContext) => {
9
+ const Adapter = baseDirector.getAdapter(paymentProvider.adapterKey);
10
+ if (!Adapter) {
11
+ throw new Error(`Payment Plugin ${paymentProvider.adapterKey} not available`);
12
+ }
13
+ const newPaymentContext = {
14
+ ...paymentContext,
15
+ };
16
+ if (paymentContext?.orderPayment) {
17
+ const { modules } = requestContext;
18
+ const { orderId } = paymentContext.orderPayment;
19
+ const order = paymentContext?.order ||
20
+ (await modules.orders.findOrder({
21
+ orderId,
22
+ }));
23
+ newPaymentContext.order = order;
24
+ }
25
+ const adapter = Adapter.actions({
26
+ config: paymentProvider.configuration,
27
+ paymentContext: {
28
+ paymentProvider,
29
+ paymentProviderId: paymentProvider._id,
30
+ ...newPaymentContext,
31
+ },
32
+ context: requestContext,
33
+ });
34
+ return {
35
+ configurationError: () => {
36
+ try {
37
+ const error = adapter.configurationError();
38
+ return error;
39
+ }
40
+ catch (error) {
41
+ return PaymentError.ADAPTER_NOT_FOUND;
42
+ }
43
+ },
44
+ isActive: () => {
45
+ try {
46
+ return adapter.isActive(paymentContext.transactionContext);
47
+ }
48
+ catch (error) {
49
+ logger.error(error.message);
50
+ return false;
51
+ }
52
+ },
53
+ isPayLaterAllowed: () => {
54
+ try {
55
+ return adapter.isPayLaterAllowed(paymentContext.transactionContext);
56
+ }
57
+ catch (error) {
58
+ logger.error(error.message);
59
+ return false;
60
+ }
61
+ },
62
+ charge: async () => {
63
+ return adapter.charge(paymentContext.transactionContext);
64
+ },
65
+ register: async () => {
66
+ return adapter.register(paymentContext.transactionContext);
67
+ },
68
+ sign: async () => {
69
+ return adapter.sign(paymentContext.transactionContext);
70
+ },
71
+ validate: async () => {
72
+ const validated = await adapter.validate(paymentContext.token);
73
+ return !!validated;
74
+ },
75
+ cancel: async () => {
76
+ return adapter.cancel(paymentContext.transactionContext);
77
+ },
78
+ confirm: async () => {
79
+ return adapter.confirm(paymentContext.transactionContext);
80
+ },
81
+ };
82
+ },
83
+ };
84
+ //# sourceMappingURL=PaymentDirector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentDirector.js","sourceRoot":"","sources":["../../src/director/PaymentDirector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare enum PaymentError {
2
+ ADAPTER_NOT_FOUND = "ADAPTER_NOT_FOUND",
3
+ NOT_IMPLEMENTED = "NOT_IMPLEMENTED",
4
+ INCOMPLETE_CONFIGURATION = "INCOMPLETE_CONFIGURATION",
5
+ WRONG_CREDENTIALS = "WRONG_CREDENTIALS"
6
+ }
@@ -0,0 +1,8 @@
1
+ export var PaymentError;
2
+ (function (PaymentError) {
3
+ PaymentError["ADAPTER_NOT_FOUND"] = "ADAPTER_NOT_FOUND";
4
+ PaymentError["NOT_IMPLEMENTED"] = "NOT_IMPLEMENTED";
5
+ PaymentError["INCOMPLETE_CONFIGURATION"] = "INCOMPLETE_CONFIGURATION";
6
+ PaymentError["WRONG_CREDENTIALS"] = "WRONG_CREDENTIALS";
7
+ })(PaymentError || (PaymentError = {}));
8
+ //# sourceMappingURL=PaymentError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentError.js","sourceRoot":"","sources":["../../src/director/PaymentError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,uDAAuC,CAAA;IACvC,mDAAmC,CAAA;IACnC,qEAAqD,CAAA;IACrD,uDAAuC,CAAA;AACzC,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB"}
@@ -0,0 +1,3 @@
1
+ import { IPaymentPricingSheet, PaymentPricingAdapterContext, PaymentPricingCalculation } from '@unchainedshop/types/payments.pricing';
2
+ import { IPricingAdapter } from '@unchainedshop/types/pricing';
3
+ export declare const PaymentPricingAdapter: IPricingAdapter<PaymentPricingAdapterContext, PaymentPricingCalculation, IPaymentPricingSheet>;
@@ -0,0 +1,25 @@
1
+ import { BasePricingAdapter } from '@unchainedshop/utils';
2
+ import { PaymentPricingSheet } from './PaymentPricingSheet';
3
+ const basePricingAdapter = BasePricingAdapter();
4
+ export const PaymentPricingAdapter = {
5
+ ...basePricingAdapter,
6
+ isActivatedFor: () => {
7
+ return false;
8
+ },
9
+ actions: (params) => {
10
+ const { context } = params;
11
+ const { currency } = context.order;
12
+ const baseActions = basePricingAdapter.actions(params);
13
+ const resultSheet = PaymentPricingSheet({ currency });
14
+ return {
15
+ ...baseActions,
16
+ calculate: async () => {
17
+ const resultRaw = resultSheet.getRawPricingSheet();
18
+ resultRaw.forEach(({ amount, category }) => basePricingAdapter.log(`Payment Calculation -> ${category} ${amount}`));
19
+ return resultRaw;
20
+ },
21
+ resultSheet: () => resultSheet,
22
+ };
23
+ },
24
+ };
25
+ //# sourceMappingURL=PaymentPricingAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentPricingAdapter.js","sourceRoot":"","sources":["../../src/director/PaymentPricingAdapter.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,kBAAkB,GAAG,kBAAkB,EAA2D,CAAC;AAEzG,MAAM,CAAC,MAAM,qBAAqB,GAI9B;IACF,GAAG,kBAAkB;IAErB,cAAc,EAAE,GAAG,EAAE;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAC3B,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;QACnC,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,mBAAmB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEtD,OAAO;YACL,GAAG,WAAW;YACd,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,SAAS,GAAG,WAAW,CAAC,kBAAkB,EAAE,CAAC;gBACnD,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CACzC,kBAAkB,CAAC,GAAG,CAAC,0BAA0B,QAAQ,IAAI,MAAM,EAAE,CAAC,CACvE,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW;SAC/B,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { IPaymentPricingDirector } from '@unchainedshop/types/payments.pricing';
2
+ export declare const PaymentPricingDirector: IPaymentPricingDirector;
@@ -0,0 +1,49 @@
1
+ import { BasePricingDirector } from '@unchainedshop/utils';
2
+ import { PaymentPricingSheet } from './PaymentPricingSheet';
3
+ const baseDirector = BasePricingDirector('PaymentPricingDirector');
4
+ export const PaymentPricingDirector = {
5
+ ...baseDirector,
6
+ async buildPricingContext({ item, ...context }, requestContext) {
7
+ if (!item)
8
+ return {
9
+ discounts: [],
10
+ ...context,
11
+ ...requestContext,
12
+ };
13
+ const order = await requestContext.modules.orders.findOrder({
14
+ orderId: item.orderId,
15
+ });
16
+ const provider = await requestContext.modules.payment.paymentProviders.findProvider({
17
+ paymentProviderId: item.paymentProviderId,
18
+ });
19
+ const user = await requestContext.modules.users.findUserById(order.userId);
20
+ const discounts = await requestContext.modules.orders.discounts.findOrderDiscounts({
21
+ orderId: item.orderId,
22
+ });
23
+ return {
24
+ country: order.countryCode,
25
+ currency: order.currency,
26
+ ...context,
27
+ ...requestContext,
28
+ order,
29
+ orderPayment: item,
30
+ provider,
31
+ user,
32
+ discounts,
33
+ };
34
+ },
35
+ async actions(pricingContext, requestContext) {
36
+ const actions = await baseDirector.actions(pricingContext, requestContext, this.buildPricingContext);
37
+ return {
38
+ ...actions,
39
+ calculationSheet() {
40
+ const context = actions.getContext();
41
+ return PaymentPricingSheet({
42
+ calculation: actions.getCalculation(),
43
+ currency: context.currency,
44
+ });
45
+ },
46
+ };
47
+ },
48
+ };
49
+ //# sourceMappingURL=PaymentPricingDirector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentPricingDirector.js","sourceRoot":"","sources":["../../src/director/PaymentPricingDirector.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,YAAY,GAAG,mBAAmB,CAKtC,wBAAwB,CAAC,CAAC;AAE5B,MAAM,CAAC,MAAM,sBAAsB,GAA4B;IAC7D,GAAG,YAAY;IAEf,KAAK,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,EAAE,cAAc;QAC5D,IAAI,CAAC,IAAI;YACP,OAAO;gBACL,SAAS,EAAE,EAAE;gBACb,GAAG,OAAO;gBACV,GAAG,cAAc;aAClB,CAAC;QAEJ,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;YAC1D,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC;YAClF,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC;YACjF,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,WAAW;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,GAAG,OAAO;YACV,GAAG,cAAc;YACjB,KAAK;YACL,YAAY,EAAE,IAAI;YAClB,QAAQ;YACR,IAAI;YACJ,SAAS;SACV,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,cAAc;QAC1C,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACrG,OAAO;YACL,GAAG,OAAO;YACV,gBAAgB;gBACd,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;gBACrC,OAAO,mBAAmB,CAAC;oBACzB,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE;oBACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ;iBAC3B,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { PaymentPricingCalculation, IPaymentPricingSheet } from '@unchainedshop/types/payments.pricing';
2
+ import { PricingSheetParams } from '@unchainedshop/types/pricing';
3
+ export declare const PaymentPricingSheet: (params: PricingSheetParams<PaymentPricingCalculation>) => IPaymentPricingSheet;