choco-one-click-payment 1.1.16 → 1.1.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.
- package/README.md +26 -2
- package/index.d.ts +2 -14
- package/index.esm.js +1 -1
- package/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -83,10 +83,11 @@ const ChocoOneClickWidget = require('choco-one-click-payment');
|
|
|
83
83
|
| `backlink` | string | нет | URL для возврата после оплаты (Kaspi Pay, 3DS) |
|
|
84
84
|
| `locale` | string | нет | Язык: ru, en, kk (по умолчанию ru) |
|
|
85
85
|
| `preorderId` | number | нет | Preorder ID |
|
|
86
|
+
| `containerSelector` | string | нет | CSS-селектор элемента для embedded-режима. Если не передан или элемент не найден — виджет монтируется sticky поверх страницы |
|
|
86
87
|
| `color` | string | нет | Акцентный цвет (по умолчанию #2F2F2F) |
|
|
87
88
|
| `onlyKaspiAvailable` | boolean | нет | Только Kaspi в списке способов оплаты |
|
|
88
89
|
| `disableKaspi` | boolean | нет | Скрыть Kaspi среди способов оплаты |
|
|
89
|
-
| `bonuses` | { amount: number, percent: number } | нет |
|
|
90
|
+
| `bonuses` | { amount: number, percent: number } | нет | Бонусы: `amount` — сумма скидки в тиынах, `percent` — процент кэшбека. Виджет сам вычитает `amount` из итоговой суммы при включённом тоггле бонусов |
|
|
90
91
|
|
|
91
92
|
### Callbacks
|
|
92
93
|
|
|
@@ -98,7 +99,7 @@ const ChocoOneClickWidget = require('choco-one-click-payment');
|
|
|
98
99
|
| `onConfirmPay` | Callback перед оплатой; получает выбранный `method`, для подтверждения вызовите `widget.pay()` |
|
|
99
100
|
| `onPaymentMethodSelected` | Вызывается при выборе способа оплаты; получает выбранный `method` |
|
|
100
101
|
| `onKaspiLink` | Вызывается для `kaspi_pay` при получении `action_link`/`action_url`; позволяет клиенту самому открыть ссылку |
|
|
101
|
-
| `onAppliedBonus` | Вызывается при включении/выключении бонусов |
|
|
102
|
+
| `onAppliedBonus` | Вызывается при включении/выключении бонусов тоггл-переключателем |
|
|
102
103
|
| `onUserEvent` | Вызывается при пользовательских событиях виджета (`one_click_pay_cta_rendered`, `one_click_pay_method_resolved`, `one_click_pay_cta_tapped`) |
|
|
103
104
|
|
|
104
105
|
## Методы
|
|
@@ -125,6 +126,29 @@ const ChocoOneClickWidget = require('choco-one-click-payment');
|
|
|
125
126
|
| `onUserEvent(callback)` | Регистрирует callback для пользовательских событий виджета. |
|
|
126
127
|
| `pay()` | Подтверждает оплату и запускает создание заказа (после onConfirmPay). |
|
|
127
128
|
|
|
129
|
+
### Режим монтирования: embedded vs sticky
|
|
130
|
+
|
|
131
|
+
По умолчанию виджет монтируется как sticky-плашка поверх страницы (фиксированная снизу).
|
|
132
|
+
|
|
133
|
+
Если передать `containerSelector` и элемент с таким селектором существует в DOM — виджет монтируется внутрь этого элемента (embedded-режим). Если селектор не передан или элемент не найден — применяется fallback: sticky поверх страницы.
|
|
134
|
+
|
|
135
|
+
```javascript
|
|
136
|
+
new ChocoOneClickWidget({
|
|
137
|
+
// ...
|
|
138
|
+
containerSelector: "#checkout-widget-slot",
|
|
139
|
+
});
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
```html
|
|
143
|
+
<div id="checkout-widget-slot"></div>
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Отображение «вместо» для Apple Pay / Google Pay
|
|
147
|
+
|
|
148
|
+
Когда выбран Apple Pay или Google Pay, виджет показывает итоговую сумму к оплате и опциональную строку «вместо X» (зачёркнутая полная цена).
|
|
149
|
+
|
|
150
|
+
Строка появляется когда итоговая сумма к оплате меньше переданного `amount` — то есть когда активен тоггл баланса или тоггл бонусов. В строке «вместо» всегда отображается исходный `amount` (сумма до любых скидок).
|
|
151
|
+
|
|
128
152
|
### Обработка ссылки Kaspi Pay
|
|
129
153
|
|
|
130
154
|
Для способа оплаты `kaspi_pay` виджет больше не обязан делать редирект сам.
|
package/index.d.ts
CHANGED
|
@@ -42,13 +42,7 @@ export interface ChocoOneClickConfig {
|
|
|
42
42
|
*/
|
|
43
43
|
amount: number;
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
* Сумма без учёта бонусов (для отображения зачёркнутой суммы).
|
|
47
|
-
* Необязательное поле.
|
|
48
|
-
*/
|
|
49
|
-
amountWithoutBonuses?: number;
|
|
50
|
-
|
|
51
|
-
/**
|
|
45
|
+
/**
|
|
52
46
|
* Код валюты
|
|
53
47
|
* @default "KZT"
|
|
54
48
|
*/
|
|
@@ -316,13 +310,7 @@ export default class ChocoOneClickWidget {
|
|
|
316
310
|
*/
|
|
317
311
|
updateAmount(amount: number): Promise<void>;
|
|
318
312
|
|
|
319
|
-
|
|
320
|
-
* Обновляет сумму без бонусов (в тиынах) для зачёркнутого отображения.
|
|
321
|
-
* Передайте null/undefined, чтобы вернуть fallback к обычной сумме.
|
|
322
|
-
*/
|
|
323
|
-
setAmountWithoutBonuses(amountWithoutBonuses?: number | null): Promise<void>;
|
|
324
|
-
|
|
325
|
-
/**
|
|
313
|
+
/**
|
|
326
314
|
* Обновляет локаль интерфейса и перерисовывает виджет
|
|
327
315
|
*/
|
|
328
316
|
updateLocale(locale: string): Promise<void>;
|