@dintero/checkout-web-sdk 0.2.0 → 0.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 (28) hide show
  1. package/.github/workflows/release.yml +1 -2
  2. package/CHANGELOG.md +25 -1
  3. package/README.md +26 -4
  4. package/coverage/{Chrome Headless 80.0.3987.0 (Linux x86_64) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/base.css +0 -0
  5. package/coverage/{Chrome Headless 80.0.3987.0 (Linux x86_64) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/block-navigation.js +0 -0
  6. package/coverage/{Chrome Headless 80.0.3987.0 (Linux x86_64) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/checkout.ts.html +9 -3
  7. package/coverage/{Chrome Headless 80.0.3987.0 (Linux x86_64) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/createIframeAsync.ts.html +15 -15
  8. package/coverage/{Chrome Headless 80.0.3987.0 (Linux x86_64) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/favicon.png +0 -0
  9. package/coverage/{Chrome Headless 80.0.3987.0 (Linux x86_64) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/index.html +30 -30
  10. package/coverage/{Chrome Headless 80.0.3987.0 (Linux x86_64) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/index.ts.html +203 -38
  11. package/coverage/{Chrome Headless 80.0.3987.0 (Linux x86_64) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/prettify.css +0 -0
  12. package/coverage/{Chrome Headless 80.0.3987.0 (Linux x86_64) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/prettify.js +0 -0
  13. package/coverage/{Chrome Headless 80.0.3987.0 (Linux x86_64) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/sort-arrow-sprite.png +0 -0
  14. package/coverage/{Chrome Headless 80.0.3987.0 (Linux x86_64) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/sorter.js +0 -0
  15. package/coverage/{Chrome Headless 80.0.3987.0 (Linux x86_64) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/subscribe.ts.html +34 -34
  16. package/coverage/{Chrome Headless 80.0.3987.0 (Linux x86_64) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/url.ts.html +1 -1
  17. package/dist/declarations/src/checkout.d.ts +75 -73
  18. package/dist/declarations/src/createIframeAsync.d.ts +10 -10
  19. package/dist/declarations/src/index.d.ts +43 -43
  20. package/dist/declarations/src/subscribe.d.ts +41 -41
  21. package/dist/declarations/src/url.d.ts +16 -16
  22. package/dist/dintero-checkout-web-sdk.cjs.dev.js +57 -10
  23. package/dist/dintero-checkout-web-sdk.cjs.prod.js +57 -10
  24. package/dist/dintero-checkout-web-sdk.esm.js +57 -10
  25. package/dist/dintero-checkout-web-sdk.umd.min.js +1 -1
  26. package/dist/dintero-checkout-web-sdk.umd.min.js.map +1 -1
  27. package/package.json +6 -6
  28. package/dist/declarations/package.d.ts +0 -52
@@ -25,10 +25,9 @@ jobs:
25
25
  run: |
26
26
  npm install
27
27
  npm run test
28
- npm run build
29
28
 
30
29
  - name: Release
31
30
  env:
32
31
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
33
32
  NPM_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
34
- run: npx semantic-release
33
+ run: npm run semantic-release
package/CHANGELOG.md CHANGED
@@ -1,8 +1,32 @@
1
+ ## [0.4.0]
2
+
3
+ ### Changed
4
+
5
+ - Changes `lockSession` to return a promise that resolves when the following `SessionLocked` event is returned from the checkout.
6
+ - Changes `refreshSession` to return a promise that resolves when the following `SessionUpdated` event is returned from the checkout.
7
+
8
+ ## [0.3.1]
9
+
10
+ ### Bug Fixes
11
+ * Add correct package version to url
12
+
13
+ ## [0.3.0]
14
+
15
+ ### Features
16
+
17
+ * **lock:** Add callback function to `onSessionLocked`
18
+
19
+ ## [0.2.0]
20
+
21
+ ### Features
22
+
23
+ * Handling of session validation when embedded
24
+
1
25
  ## [0.0.17]
2
26
 
3
27
  ### Changed
4
28
 
5
- - Adds `onActivePaymentProductType` callback.
29
+ - Adds `onActivePaymentProductType` callback.
6
30
  - Adds `setActivePaymentProductType` function.
7
31
 
8
32
  ## [0.0.16]
package/README.md CHANGED
@@ -73,8 +73,9 @@ _The checkout sdk will add a polyfill for promises if the browser does not suppo
73
73
  console.log("href", event.href);
74
74
  checkout.destroy();
75
75
  },
76
- onSessionLocked: function(event, checkout) {
76
+ onSessionLocked: function(event, checkout, callback) {
77
77
  console.log("pay_lock_id", event.pay_lock_id);
78
+ callback(); // refresh session
78
79
  },
79
80
  onSessionLockFailed: function(event, checkout) {
80
81
  console.log("session lock failed");
@@ -130,8 +131,9 @@ const checkout = await embed({
130
131
  console.log("href", event.href);
131
132
  checkout.destroy();
132
133
  },
133
- onSessionLocked: (event, checkout) => {
134
+ onSessionLocked: (event, checkout, callback) => {
134
135
  console.log("pay_lock_id", event.pay_lock_id);
136
+ callback(); // refresh session
135
137
  },
136
138
  onSessionLockFailed: (event, checkout) => {
137
139
  console.log("session lock failed");
@@ -176,9 +178,16 @@ To update an existing Checkout Express-session, follow these steps:
176
178
  Call lockSession on the checkout object:
177
179
 
178
180
  ```js
179
- checkout.lockSession();
181
+ checkout.lockSession().then(function(sessionLockedEvent){
182
+ // initiate server side session update and then refresh the session
183
+ }).catch(function(sessionLockFailedEvent) {
184
+ // handle failure to lock
185
+ });;
180
186
  ```
181
187
 
188
+ `lockSession()` returns a promise that is resolved when the `SessionLocked` event is
189
+ received from the checkout or rejected if the SessionLockFailed event is received.
190
+
182
191
  When the session is successfully locked, you'll get a callback at `onSessionLocked`.
183
192
  If locking the session fails, there will be a callback at `onSessionLockFailed`.
184
193
 
@@ -196,7 +205,20 @@ After updating the session, call refreshSession on the checkout object:
196
205
  checkout.refreshSession();
197
206
  ```
198
207
 
199
- Editing and paying in the checkout is enabled again.
208
+ or use the callback in `onSessionLocked`:
209
+
210
+ ```js
211
+ onSessionLocked: (event, checkout, callback) => {
212
+ console.log("pay_lock_id", event.pay_lock_id);
213
+ callback(); // refresh session
214
+ }
215
+ ```
216
+
217
+ `refreshSession()` returns a promise that is resolved when the `SessionUpdated`
218
+ event is received from the checkout.
219
+
220
+ Editing and paying in the checkout is enabled again when a session without a `pay_lock`
221
+ is loaded by the checkout.
200
222
 
201
223
  ### Validating session before payment
202
224
 
@@ -156,7 +156,9 @@
156
156
  <a name='L97'></a><a href='#L97'>97</a>
157
157
  <a name='L98'></a><a href='#L98'>98</a>
158
158
  <a name='L99'></a><a href='#L99'>99</a>
159
- <a name='L100'></a><a href='#L100'>100</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
159
+ <a name='L100'></a><a href='#L100'>100</a>
160
+ <a name='L101'></a><a href='#L101'>101</a>
161
+ <a name='L102'></a><a href='#L102'>102</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
160
162
  <span class="cline-any cline-neutral">&nbsp;</span>
161
163
  <span class="cline-any cline-yes">1x</span>
162
164
  <span class="cline-any cline-yes">1x</span>
@@ -255,6 +257,8 @@
255
257
  <span class="cline-any cline-neutral">&nbsp;</span>
256
258
  <span class="cline-any cline-neutral">&nbsp;</span>
257
259
  <span class="cline-any cline-neutral">&nbsp;</span>
260
+ <span class="cline-any cline-neutral">&nbsp;</span>
261
+ <span class="cline-any cline-neutral">&nbsp;</span>
258
262
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Session } from "./session";
259
263
  &nbsp;
260
264
  export enum CheckoutEvents {
@@ -311,6 +315,7 @@ export type SessionPaymentAuthorized = {
311
315
  export type SessionLocked = {
312
316
  type: CheckoutEvents.SessionLocked;
313
317
  pay_lock_id: string;
318
+ callback: () =&gt; void;
314
319
  };
315
320
  &nbsp;
316
321
  export type SessionLockFailed = {
@@ -333,6 +338,7 @@ export interface SessionValidationCallback {
333
338
  }
334
339
  &nbsp;
335
340
  export type WrappedValidateSession = Pick&lt;ValidateSession, "type" | "session"&gt;;
341
+ export type WrappedSessionLocked = Pick&lt;SessionLocked, "type" | "pay_lock_id"&gt;;
336
342
  &nbsp;
337
343
  export type SessionPayment = SessionPaymentAuthorized | SessionPaymentOnHold;
338
344
  &nbsp;
@@ -350,7 +356,7 @@ export type SessionEvent =
350
356
  | SessionPaymentOnHold
351
357
  | SessionPaymentAuthorized
352
358
  | SessionPaymentError
353
- | SessionLocked
359
+ | WrappedSessionLocked
354
360
  | SessionLockFailed
355
361
  | ActivePaymentProductType
356
362
  | WrappedValidateSession;
@@ -361,7 +367,7 @@ export type SessionEvent =
361
367
  <div class='footer quiet pad2 space-top1 center small'>
362
368
  Code coverage generated by
363
369
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
364
- at Mon Feb 14 2022 14:16:49 GMT+0000 (Coordinated Universal Time)
370
+ at Mon Mar 21 2022 13:44:46 GMT+0000 (Coordinated Universal Time)
365
371
  </div>
366
372
  </div>
367
373
  <script src="prettify.js"></script>
@@ -126,15 +126,15 @@
126
126
  <span class="cline-any cline-neutral">&nbsp;</span>
127
127
  <span class="cline-any cline-neutral">&nbsp;</span>
128
128
  <span class="cline-any cline-neutral">&nbsp;</span>
129
- <span class="cline-any cline-yes">26x</span>
129
+ <span class="cline-any cline-yes">30x</span>
130
130
  <span class="cline-any cline-no">&nbsp;</span>
131
131
  <span class="cline-any cline-neutral">&nbsp;</span>
132
- <span class="cline-any cline-yes">26x</span>
132
+ <span class="cline-any cline-yes">30x</span>
133
133
  <span class="cline-any cline-neutral">&nbsp;</span>
134
134
  <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-yes">26x</span>
136
- <span class="cline-any cline-yes">26x</span>
137
- <span class="cline-any cline-yes">26x</span>
135
+ <span class="cline-any cline-yes">30x</span>
136
+ <span class="cline-any cline-yes">30x</span>
137
+ <span class="cline-any cline-yes">30x</span>
138
138
  <span class="cline-any cline-neutral">&nbsp;</span>
139
139
  <span class="cline-any cline-neutral">&nbsp;</span>
140
140
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -147,28 +147,28 @@
147
147
  <span class="cline-any cline-neutral">&nbsp;</span>
148
148
  <span class="cline-any cline-neutral">&nbsp;</span>
149
149
  <span class="cline-any cline-neutral">&nbsp;</span>
150
- <span class="cline-any cline-yes">26x</span>
150
+ <span class="cline-any cline-yes">30x</span>
151
151
  <span class="cline-any cline-neutral">&nbsp;</span>
152
152
  <span class="cline-any cline-neutral">&nbsp;</span>
153
153
  <span class="cline-any cline-neutral">&nbsp;</span>
154
154
  <span class="cline-any cline-neutral">&nbsp;</span>
155
155
  <span class="cline-any cline-neutral">&nbsp;</span>
156
- <span class="cline-any cline-yes">26x</span>
156
+ <span class="cline-any cline-yes">30x</span>
157
157
  <span class="cline-any cline-neutral">&nbsp;</span>
158
158
  <span class="cline-any cline-neutral">&nbsp;</span>
159
- <span class="cline-any cline-yes">26x</span>
159
+ <span class="cline-any cline-yes">30x</span>
160
160
  <span class="cline-any cline-neutral">&nbsp;</span>
161
161
  <span class="cline-any cline-neutral">&nbsp;</span>
162
162
  <span class="cline-any cline-neutral">&nbsp;</span>
163
163
  <span class="cline-any cline-neutral">&nbsp;</span>
164
164
  <span class="cline-any cline-neutral">&nbsp;</span>
165
- <span class="cline-any cline-yes">26x</span>
165
+ <span class="cline-any cline-yes">30x</span>
166
166
  <span class="cline-any cline-neutral">&nbsp;</span>
167
- <span class="cline-any cline-yes">26x</span>
168
- <span class="cline-any cline-yes">26x</span>
169
- <span class="cline-any cline-yes">32x</span>
170
- <span class="cline-any cline-yes">26x</span>
171
- <span class="cline-any cline-yes">26x</span>
167
+ <span class="cline-any cline-yes">30x</span>
168
+ <span class="cline-any cline-yes">30x</span>
169
+ <span class="cline-any cline-yes">36x</span>
170
+ <span class="cline-any cline-yes">30x</span>
171
+ <span class="cline-any cline-yes">30x</span>
172
172
  <span class="cline-any cline-neutral">&nbsp;</span>
173
173
  <span class="cline-any cline-neutral">&nbsp;</span>
174
174
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -238,7 +238,7 @@ export const createIframeAsync = (
238
238
  <div class='footer quiet pad2 space-top1 center small'>
239
239
  Code coverage generated by
240
240
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
241
- at Mon Feb 14 2022 14:16:49 GMT+0000 (Coordinated Universal Time)
241
+ at Mon Mar 21 2022 13:44:46 GMT+0000 (Coordinated Universal Time)
242
242
  </div>
243
243
  </div>
244
244
  <script src="prettify.js"></script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">89.54% </span>
26
+ <span class="strong">93.6% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>137/153</span>
28
+ <span class='fraction'>161/172</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">74.36% </span>
33
+ <span class="strong">76.83% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>58/78</span>
35
+ <span class='fraction'>63/82</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">72.97% </span>
40
+ <span class="strong">86.96% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>27/37</span>
42
+ <span class='fraction'>40/46</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">88.72% </span>
47
+ <span class="strong">93.33% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>118/133</span>
49
+ <span class='fraction'>140/150</span>
50
50
  </div>
51
51
 
52
52
 
@@ -104,32 +104,32 @@
104
104
 
105
105
  <tr>
106
106
  <td class="file high" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
107
- <td data-value="94.2" class="pic high">
108
- <div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
107
+ <td data-value="96.59" class="pic high">
108
+ <div class="chart"><div class="cover-fill" style="width: 96%"></div><div class="cover-empty" style="width: 4%"></div></div>
109
109
  </td>
110
- <td data-value="94.2" class="pct high">94.2%</td>
111
- <td data-value="69" class="abs high">65/69</td>
112
- <td data-value="83.33" class="pct high">83.33%</td>
113
- <td data-value="36" class="abs high">30/36</td>
114
- <td data-value="78.95" class="pct medium">78.95%</td>
115
- <td data-value="19" class="abs medium">15/19</td>
116
- <td data-value="93.33" class="pct high">93.33%</td>
117
- <td data-value="60" class="abs high">56/60</td>
110
+ <td data-value="96.59" class="pct high">96.59%</td>
111
+ <td data-value="88" class="abs high">85/88</td>
112
+ <td data-value="82.5" class="pct high">82.5%</td>
113
+ <td data-value="40" class="abs high">33/40</td>
114
+ <td data-value="92.86" class="pct high">92.86%</td>
115
+ <td data-value="28" class="abs high">26/28</td>
116
+ <td data-value="96.1" class="pct high">96.1%</td>
117
+ <td data-value="77" class="abs high">74/77</td>
118
118
  </tr>
119
119
 
120
120
  <tr>
121
- <td class="file medium" data-value="subscribe.ts"><a href="subscribe.ts.html">subscribe.ts</a></td>
122
- <td data-value="76.47" class="pic medium">
123
- <div class="chart"><div class="cover-fill" style="width: 76%"></div><div class="cover-empty" style="width: 24%"></div></div>
121
+ <td class="file high" data-value="subscribe.ts"><a href="subscribe.ts.html">subscribe.ts</a></td>
122
+ <td data-value="88.24" class="pic high">
123
+ <div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
124
124
  </td>
125
- <td data-value="76.47" class="pct medium">76.47%</td>
126
- <td data-value="34" class="abs medium">26/34</td>
127
- <td data-value="62.5" class="pct medium">62.5%</td>
128
- <td data-value="24" class="abs medium">15/24</td>
129
- <td data-value="50" class="pct medium">50%</td>
130
- <td data-value="8" class="abs medium">4/8</td>
131
- <td data-value="72.41" class="pct medium">72.41%</td>
132
- <td data-value="29" class="abs medium">21/29</td>
125
+ <td data-value="88.24" class="pct high">88.24%</td>
126
+ <td data-value="34" class="abs high">30/34</td>
127
+ <td data-value="70.83" class="pct medium">70.83%</td>
128
+ <td data-value="24" class="abs medium">17/24</td>
129
+ <td data-value="75" class="pct medium">75%</td>
130
+ <td data-value="8" class="abs medium">6/8</td>
131
+ <td data-value="86.21" class="pct high">86.21%</td>
132
+ <td data-value="29" class="abs high">25/29</td>
133
133
  </tr>
134
134
 
135
135
  <tr>
@@ -155,7 +155,7 @@
155
155
  <div class='footer quiet pad2 space-top1 center small'>
156
156
  Code coverage generated by
157
157
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
158
- at Mon Feb 14 2022 14:16:49 GMT+0000 (Coordinated Universal Time)
158
+ at Mon Mar 21 2022 13:44:46 GMT+0000 (Coordinated Universal Time)
159
159
  </div>
160
160
  </div>
161
161
  <script src="prettify.js"></script>