choco-one-click-payment 1.0.4 → 1.0.6

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
@@ -48,17 +48,24 @@ const ChocoOneClickWidget = require('choco-one-click-widget');
48
48
  - `backlink` - URL для возврата (опционально)
49
49
  - `locale` - ru, en, kk (по умолчанию ru, опционально)
50
50
  - `preorderId` - preorder_id заказа (опционально)
51
- - `disabled` - блокирует UI (опционально)
52
- - `loading` - загрузка и блокировка UI (опционально)
53
51
  - `color` - цвет background-а элементов (по умолчанию #2F2F2F, опционально)
54
52
  - `onlyKaspiAvailable` - отключает все способы оплат и оставляет только Kaspi (опционально)
55
53
  - `disableKaspi` - отключает оплату по kaspi (опционально)
54
+ - `bonuses: { amount: number, percent: numbrr }` - для ЗПЛ (опционально)
56
55
 
57
56
  ## Методы
58
57
 
59
58
  - `onSuccess` - вызывается после успешной оплаты (опционально)
60
59
  - `onError` - вызывается в случае ошибки оплаты, резолвит текст ошибки (опционально)
61
60
  - `onCancel` - вызывается при timeout (опционально)
61
+ - `onConfirmPay` - callback перед оплатой; должен вызвать `widget.pay()` для подтверждения
62
+ - `updateAmount(amount)` - обновляет сумму оплаты и текст кнопки
63
+ - `updateLocale(locale)` - обновляет язык интерфейса
64
+ - `setLoading(boolean)` - включает/выключает loading-состояние
65
+ - `setDisabled(boolean)` - включает/выключает блокировку интеракций
66
+ - `setPreorderId(preorderId)` - обновляет `preorderId` во время жизни виджета
67
+ - `setMerchantOrderId(merchantOrderId)` - обновляет `merchantOrderId` во время жизни виджета
68
+ - `pay()` - подтверждает оплату и запускает создание заказа
62
69
 
63
70
  ## Сборка пакета (для разработчиков)
64
71
 
package/index.d.ts CHANGED
@@ -84,16 +84,9 @@ export interface ChocoOneClickConfig {
84
84
  onCancel?: () => void;
85
85
 
86
86
  /**
87
- * Отключает интерактивные действия виджета (оплата и выбор метода)
88
- * @default false
89
- */
90
- disabled?: boolean;
91
-
92
- /**
93
- * Показывает состояние загрузки и блокирует интеракции виджета
94
- * @default false
87
+ * Callback вызываемый при нажатии на кнопку оплаты
95
88
  */
96
- loading?: boolean;
89
+ onConfirmPay?: () => void;
97
90
 
98
91
  /**
99
92
  * Акцентный цвет (фон кнопки оплаты и включенного тумблера баланса)
@@ -112,6 +105,21 @@ export interface ChocoOneClickConfig {
112
105
  * @default false
113
106
  */
114
107
  disableKaspi?: boolean;
108
+
109
+ /**
110
+ * Данные по бонусам для отображения бонусного блока в виджете.
111
+ * Если не переданы, бонусный блок не показывается.
112
+ */
113
+ bonuses?: {
114
+ /**
115
+ * Количество бонусов
116
+ */
117
+ amount: number;
118
+ /**
119
+ * Максимальный процент оплаты бонусами
120
+ */
121
+ percent: number;
122
+ };
115
123
  }
116
124
 
117
125
  export interface PaymentSuccessEvent {
@@ -245,6 +253,46 @@ export default class ChocoOneClickWidget {
245
253
  * Закрывает bottom sheet
246
254
  */
247
255
  closePaymentSheet(): void;
256
+
257
+ /**
258
+ * Обновляет сумму оплаты (в тиынах) и текст кнопки оплаты
259
+ */
260
+ updateAmount(amount: number): Promise<void>;
261
+
262
+ /**
263
+ * Обновляет локаль интерфейса и перерисовывает виджет
264
+ */
265
+ updateLocale(locale: 'ru' | 'en' | 'kk'): Promise<void>;
266
+
267
+ /**
268
+ * Включает/выключает состояние загрузки
269
+ */
270
+ setLoading(loading: boolean): Promise<void>;
271
+
272
+ /**
273
+ * Включает/выключает блокировку интеракций
274
+ */
275
+ setDisabled(disabled: boolean): Promise<void>;
276
+
277
+ /**
278
+ * Обновляет preorderId в рантайме
279
+ */
280
+ setPreorderId(preorderId: number | string): Promise<void>;
281
+
282
+ /**
283
+ * Обновляет merchantOrderId в рантайме
284
+ */
285
+ setMerchantOrderId(merchantOrderId: string | number): Promise<void>;
286
+
287
+ /**
288
+ * Регистрирует callback на подтверждение оплаты
289
+ */
290
+ onConfirmPay(callback: () => void): Promise<void>;
291
+
292
+ /**
293
+ * Подтверждает оплату после onConfirmPay и запускает создание заказа
294
+ */
295
+ pay(): Promise<void>;
248
296
  }
249
297
 
250
298
  /**