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 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>;