@blocklet/payment-react 1.24.3 → 1.25.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 (101) hide show
  1. package/es/components/auto-topup/modal.d.ts +2 -0
  2. package/es/components/auto-topup/modal.js +48 -6
  3. package/es/components/auto-topup/product-card.d.ts +16 -1
  4. package/es/components/auto-topup/product-card.js +97 -15
  5. package/es/components/dynamic-pricing-unavailable.d.ts +9 -0
  6. package/es/components/dynamic-pricing-unavailable.js +58 -0
  7. package/es/components/loading-amount.d.ts +17 -0
  8. package/es/components/loading-amount.js +46 -0
  9. package/es/components/price-change-confirm.d.ts +18 -0
  10. package/es/components/price-change-confirm.js +107 -0
  11. package/es/components/quote-details-panel.d.ts +21 -0
  12. package/es/components/quote-details-panel.js +170 -0
  13. package/es/components/quote-lock-banner.d.ts +7 -0
  14. package/es/components/quote-lock-banner.js +79 -0
  15. package/es/components/slippage-config.d.ts +20 -0
  16. package/es/components/slippage-config.js +261 -0
  17. package/es/history/credit/transactions-list.js +11 -1
  18. package/es/history/invoice/list.js +125 -15
  19. package/es/hooks/dynamic-pricing.d.ts +102 -0
  20. package/es/hooks/dynamic-pricing.js +393 -0
  21. package/es/index.d.ts +6 -1
  22. package/es/index.js +9 -1
  23. package/es/libs/util.d.ts +42 -5
  24. package/es/libs/util.js +345 -57
  25. package/es/locales/en.js +114 -3
  26. package/es/locales/zh.js +114 -3
  27. package/es/payment/form/index.d.ts +4 -1
  28. package/es/payment/form/index.js +454 -22
  29. package/es/payment/index.d.ts +1 -1
  30. package/es/payment/index.js +279 -16
  31. package/es/payment/product-item.d.ts +26 -1
  32. package/es/payment/product-item.js +330 -51
  33. package/es/payment/summary-section/promotion-section.d.ts +32 -0
  34. package/es/payment/summary-section/promotion-section.js +143 -0
  35. package/es/payment/summary-section/total-section.d.ts +39 -0
  36. package/es/payment/summary-section/total-section.js +83 -0
  37. package/es/payment/summary.d.ts +17 -2
  38. package/es/payment/summary.js +300 -253
  39. package/es/types/index.d.ts +11 -0
  40. package/lib/components/auto-topup/modal.d.ts +2 -0
  41. package/lib/components/auto-topup/modal.js +54 -6
  42. package/lib/components/auto-topup/product-card.d.ts +16 -1
  43. package/lib/components/auto-topup/product-card.js +75 -7
  44. package/lib/components/dynamic-pricing-unavailable.d.ts +9 -0
  45. package/lib/components/dynamic-pricing-unavailable.js +81 -0
  46. package/lib/components/loading-amount.d.ts +17 -0
  47. package/lib/components/loading-amount.js +53 -0
  48. package/lib/components/price-change-confirm.d.ts +18 -0
  49. package/lib/components/price-change-confirm.js +157 -0
  50. package/lib/components/quote-details-panel.d.ts +21 -0
  51. package/lib/components/quote-details-panel.js +226 -0
  52. package/lib/components/quote-lock-banner.d.ts +7 -0
  53. package/lib/components/quote-lock-banner.js +93 -0
  54. package/lib/components/slippage-config.d.ts +20 -0
  55. package/lib/components/slippage-config.js +316 -0
  56. package/lib/history/credit/transactions-list.js +11 -1
  57. package/lib/history/invoice/list.js +167 -27
  58. package/lib/hooks/dynamic-pricing.d.ts +102 -0
  59. package/lib/hooks/dynamic-pricing.js +390 -0
  60. package/lib/index.d.ts +6 -1
  61. package/lib/index.js +32 -0
  62. package/lib/libs/util.d.ts +42 -5
  63. package/lib/libs/util.js +367 -49
  64. package/lib/locales/en.js +114 -3
  65. package/lib/locales/zh.js +114 -3
  66. package/lib/payment/form/index.d.ts +4 -1
  67. package/lib/payment/form/index.js +476 -20
  68. package/lib/payment/index.d.ts +1 -1
  69. package/lib/payment/index.js +308 -14
  70. package/lib/payment/product-item.d.ts +26 -1
  71. package/lib/payment/product-item.js +270 -35
  72. package/lib/payment/summary-section/promotion-section.d.ts +32 -0
  73. package/lib/payment/summary-section/promotion-section.js +133 -0
  74. package/lib/payment/summary-section/total-section.d.ts +39 -0
  75. package/lib/payment/summary-section/total-section.js +117 -0
  76. package/lib/payment/summary.d.ts +17 -2
  77. package/lib/payment/summary.js +205 -127
  78. package/lib/types/index.d.ts +11 -0
  79. package/package.json +3 -3
  80. package/src/components/auto-topup/modal.tsx +59 -6
  81. package/src/components/auto-topup/product-card.tsx +118 -11
  82. package/src/components/dynamic-pricing-unavailable.tsx +69 -0
  83. package/src/components/loading-amount.tsx +66 -0
  84. package/src/components/price-change-confirm.tsx +136 -0
  85. package/src/components/quote-details-panel.tsx +218 -0
  86. package/src/components/quote-lock-banner.tsx +99 -0
  87. package/src/components/slippage-config.tsx +336 -0
  88. package/src/history/credit/transactions-list.tsx +14 -1
  89. package/src/history/invoice/list.tsx +143 -9
  90. package/src/hooks/dynamic-pricing.ts +617 -0
  91. package/src/index.ts +9 -0
  92. package/src/libs/util.ts +473 -58
  93. package/src/locales/en.tsx +117 -0
  94. package/src/locales/zh.tsx +111 -0
  95. package/src/payment/form/index.tsx +561 -19
  96. package/src/payment/index.tsx +349 -10
  97. package/src/payment/product-item.tsx +451 -37
  98. package/src/payment/summary-section/promotion-section.tsx +172 -0
  99. package/src/payment/summary-section/total-section.tsx +141 -0
  100. package/src/payment/summary.tsx +334 -192
  101. package/src/types/index.ts +15 -0
package/lib/locales/en.js CHANGED
@@ -148,7 +148,8 @@ module.exports = (0, _flat.default)({
148
148
  viewInvoice: "Invoice Detail",
149
149
  submit: "Submit",
150
150
  expired: "Expired",
151
- consumed: "Consumed"
151
+ consumed: "Consumed",
152
+ nextCharge: "Next charge"
152
153
  },
153
154
  payment: {
154
155
  checkout: {
@@ -173,6 +174,74 @@ module.exports = (0, _flat.default)({
173
174
  view: "View"
174
175
  },
175
176
  paymentRequired: "Payment Required",
177
+ quote: {
178
+ title: "Price Locked",
179
+ locked: "Exchange rate locked",
180
+ expired: "Quote updating...",
181
+ expiredMessage: "Quote updating...",
182
+ expiring: "Quote updating...",
183
+ remaining: "Quote updates in {time}",
184
+ currentRate: "Current Exchange Rate",
185
+ expiresIn: "Updates in",
186
+ exchangeRate: "Exchange Rate",
187
+ provider: "Provider",
188
+ source: "Source",
189
+ dynamicItems: "Dynamic Pricing Items",
190
+ dynamicPricingInfo: "Dynamic pricing: 1 {symbol} = {rate} {currency}",
191
+ referenceUnavailable: "Reference price will update shortly.",
192
+ rateLine: "1 {symbol} \u2248 {rate}",
193
+ validity: "Quote valid: {time}",
194
+ lockedWithTime: "Price locked: {time}",
195
+ lockExpired: "Price lock expired. Please re-confirm.",
196
+ detailProvider: "Provider",
197
+ detailUpdatedAt: "Last updated",
198
+ detailValidity: "Quote validity",
199
+ detailLock: "Price lock",
200
+ detailPriceImpact: "Price impact",
201
+ detailSlippage: "Slippage limit",
202
+ detailRefresh: "Refresh quote",
203
+ slippage: {
204
+ title: "Slippage Limit",
205
+ tooltip: "Set the minimum exchange rate you are willing to accept. If the rate falls below this value at payment time, the transaction will be rejected.",
206
+ percentMode: "Percentage",
207
+ rateMode: "Exact Rate",
208
+ invalid: "Please enter a valid value",
209
+ invalidPositive: "Please enter a value greater than 0",
210
+ rateRequired: "Exchange rate information required",
211
+ invalidRate: "Invalid exchange rate value",
212
+ minAcceptableRate: "Minimum Acceptable Rate",
213
+ maxPayableIncrease: "Maximum Payment Increase",
214
+ percentInputLabel: "Slippage Percentage",
215
+ rateInputLabel: "Minimum Acceptable Rate ({currency})",
216
+ minRateHint: "Minimum acceptable rate: {rate} {currency}",
217
+ maxPayableHint: "Maximum payment increase: +{percent}%"
218
+ },
219
+ slippageLimit: {
220
+ title: "Slippage Limit Configuration",
221
+ description: "Set the minimum exchange rate you are willing to accept. If the rate falls below this value, the transaction will pause and ask for your confirmation.",
222
+ configTogglePercent: "Percentage",
223
+ configToggleRate: "Exact Rate",
224
+ recommended: "Recommended",
225
+ derivedCurrentRate: "Current reference rate",
226
+ derivedMinRate: "Minimum acceptable rate"
227
+ },
228
+ rateUpdateLine: "1 {symbol} \u2248 {rate} \xB7 updates in {time}",
229
+ updateHint: "Prices will auto-refresh after update.",
230
+ lockExpiredTitle: "Price lock expired",
231
+ lockExpiredDescription: "The lock window has ended. Please re-confirm the latest price.",
232
+ lockExpiredConfirm: "Re-lock price",
233
+ slippageExceededTitle: "Rate below slippage limit",
234
+ slippageExceededDescription: "The current rate is below your minimum acceptable rate. Please refresh the quote and try again.",
235
+ updated: {
236
+ pleaseRetry: "Price updated, please resubmit"
237
+ },
238
+ priceUpdatedTitle: "Price updated",
239
+ priceUpdatedDescriptionRate: "Due to TBA exchange rate changes, the amount has been recalculated.",
240
+ priceUpdatedDescriptionRecalc: "The amount has been recalculated.",
241
+ priceUpdatedNewTotalLabel: "Updated total",
242
+ priceUpdatedOldTotal: "Previous total: {total}",
243
+ priceUpdatedConfirm: "Confirm and continue"
244
+ },
176
245
  staking: {
177
246
  title: "Staking Required",
178
247
  tooltip: "Staking is used to ensure that future invoices can be paid normally. Revoking the staking from DID Wallet means canceling the subscription."
@@ -239,6 +308,14 @@ module.exports = (0, _flat.default)({
239
308
  },
240
309
  arcSphereToast: "Successfully installed, three seconds to return to the page continue..."
241
310
  },
311
+ priceChange: {
312
+ unavailable: "Unable to fetch exchange rate. Please try again later.",
313
+ unstable: "Price is volatile. Please try again later.",
314
+ title: "Price Changed",
315
+ description: "Price changed significantly. Please refresh the quote and try again.",
316
+ action: "Refresh Quote",
317
+ cancel: "Cancel"
318
+ },
242
319
  confirm: {
243
320
  withStake: "By confirming, you allow {payee} to charge your account for future payments and, if necessary, slash your stake. You can cancel your subscription or withdraw your stake at any time.",
244
321
  withoutStake: "By confirming, you allow {payee} to charge your account for future payments. You can cancel your subscription at any time."
@@ -272,6 +349,7 @@ module.exports = (0, _flat.default)({
272
349
  add: "Add to order",
273
350
  remove: "Remove from order"
274
351
  },
352
+ dynamicPricing: "Dynamic Price",
275
353
  credit: {
276
354
  normal: {
277
355
  oneTime: "Purchase {amount}.",
@@ -407,6 +485,13 @@ module.exports = (0, _flat.default)({
407
485
  maxAttempts: "Daily Top-up Attempts Limit",
408
486
  maxAttemptsPlaceholder: "0 means unlimited",
409
487
  maxAttemptsDescription: "The maximum number of top-up attempts you can make each day, 0 means unlimited"
488
+ },
489
+ dynamicPricing: {
490
+ title: "Dynamic Pricing",
491
+ currentRate: "Current Exchange Rate",
492
+ slippageTolerance: "Slippage Tolerance",
493
+ minAcceptableRate: "Min Acceptable Rate",
494
+ configureSlippage: "Configure Slippage"
410
495
  }
411
496
  },
412
497
  customer: {
@@ -478,7 +563,10 @@ module.exports = (0, _flat.default)({
478
563
  submit: "Confirm change",
479
564
  confirm: "By confirming this change, you allow {payee} to charge {symbol} from your account for future payments in accordance with their terms. You can always change your payment method.",
480
565
  completed: "Your payment method has been successfully updated, all future payments will use the new payment method unless you change it again.",
481
- title: "Payment Method Change"
566
+ title: "Payment Method Change",
567
+ reauthorizationRequired: "Slippage settings updated. Re-authorization required to ensure sufficient allowance.",
568
+ reauthorizationTitle: "Re-authorize Payment",
569
+ reauthorizationCompleted: "Payment authorization has been successfully updated."
482
570
  },
483
571
  invoice: {
484
572
  summary: "Summary",
@@ -504,14 +592,30 @@ module.exports = (0, _flat.default)({
504
592
  invoiceNumber: "Invoice Number",
505
593
  emptyList: "No Invoices",
506
594
  noPaymentRequired: "No Payment Required",
595
+ slippageExceeded: "Slippage Exceeded",
596
+ slippageExceededDetail: "Exchange rate slippage exceeded threshold, auto-payment failed. Current rate {currentRate}, minimum acceptable {minRate}",
507
597
  payBatch: "Pay Due Invoices",
508
598
  stripePayDescription: "Complete payment using your saved payment method or add a new one.",
509
599
  amount: "Amount",
510
600
  paymentConfirmTitle: "Payment Confirmation",
511
601
  paymentConfirmDescription: "After completing this payment, the payment method you use will be automatically set as the default for this subscription. Additionally, we will retry payment for any other unpaid invoices associated with this subscription.",
512
602
  continue: "Continue",
603
+ priceChanged: "The exchange rate has changed by {percent}%. The payment amount will be updated. Do you want to continue?",
604
+ paymentCancelled: "Payment cancelled",
513
605
  credit: "Credit",
514
- creditRefresh: "Refresh every {interval} {unit}"
606
+ creditRefresh: "Refresh every {interval} {unit}",
607
+ quote: {
608
+ exchangeRate: "Exchange Rate",
609
+ baseAmount: "Base Amount",
610
+ providers: "Providers",
611
+ rateTimestamp: "Rate Timestamp",
612
+ consensusMethod: "Consensus",
613
+ rateStatus: "Rate Status",
614
+ rateStatusNormal: "Normal",
615
+ rateStatusDegraded: "Degraded",
616
+ slippage: "Slippage",
617
+ atPaymentRate: "(at payment rate {rate})"
618
+ }
515
619
  },
516
620
  overduePayment: {
517
621
  setupPaymentDescription: "Use your saved card or add a new one to complete payment via Stripe.",
@@ -587,6 +691,13 @@ module.exports = (0, _flat.default)({
587
691
  paid: "Paid",
588
692
  processing: "Processing"
589
693
  }
694
+ },
695
+ dynamicPricing: {
696
+ unavailable: {
697
+ title: "Unable to Calculate Real-Time Price",
698
+ message: "Exchange rate service is currently unavailable. Products with dynamic pricing cannot be purchased at this moment.",
699
+ retry: "Retry"
700
+ }
590
701
  }
591
702
  },
592
703
  refund: {
package/lib/locales/zh.js CHANGED
@@ -148,7 +148,8 @@ module.exports = (0, _flat.default)({
148
148
  viewInvoice: "\u8D26\u5355\u8BE6\u60C5",
149
149
  submit: "\u63D0\u4EA4",
150
150
  expired: "\u5DF2\u8FC7\u671F",
151
- consumed: "\u5DF2\u6D88\u8D39"
151
+ consumed: "\u5DF2\u6D88\u8D39",
152
+ nextCharge: "\u4E0B\u6B21\u6263\u6B3E"
152
153
  },
153
154
  payment: {
154
155
  checkout: {
@@ -173,6 +174,74 @@ module.exports = (0, _flat.default)({
173
174
  view: "\u67E5\u770B"
174
175
  },
175
176
  paymentRequired: "\u652F\u4ED8\u91D1\u989D",
177
+ quote: {
178
+ title: "\u4EF7\u683C\u5DF2\u9501\u5B9A",
179
+ locked: "\u6C47\u7387\u5DF2\u9501\u5B9A",
180
+ expired: "\u62A5\u4EF7\u66F4\u65B0\u4E2D\u2026",
181
+ expiredMessage: "\u62A5\u4EF7\u66F4\u65B0\u4E2D\u2026",
182
+ expiring: "\u62A5\u4EF7\u66F4\u65B0\u4E2D\u2026",
183
+ remaining: "\u62A5\u4EF7\u5C06\u5728 {time} \u540E\u66F4\u65B0",
184
+ currentRate: "\u5F53\u524D\u6C47\u7387",
185
+ expiresIn: "\u66F4\u65B0\u65F6\u95F4",
186
+ exchangeRate: "\u6C47\u7387",
187
+ provider: "\u6570\u636E\u63D0\u4F9B\u65B9",
188
+ source: "\u6570\u636E\u6765\u6E90",
189
+ dynamicItems: "\u52A8\u6001\u5B9A\u4EF7\u5546\u54C1",
190
+ dynamicPricingInfo: "\u52A8\u6001\u8BA1\u4EF7\uFF1A1 {symbol} = {rate} {currency}",
191
+ referenceUnavailable: "\u7A0D\u540E\u66F4\u65B0",
192
+ rateLine: "1 {symbol} \u2248 {rate}",
193
+ validity: "\u62A5\u4EF7\u6709\u6548\u671F\uFF1A{time}",
194
+ lockedWithTime: "\u4EF7\u683C\u5DF2\u9501\u5B9A\uFF1A{time}",
195
+ lockExpired: "\u4EF7\u683C\u9501\u5B9A\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u786E\u8BA4",
196
+ detailProvider: "\u6570\u636E\u6E90",
197
+ detailUpdatedAt: "\u6700\u8FD1\u66F4\u65B0",
198
+ detailValidity: "\u62A5\u4EF7\u6709\u6548\u671F",
199
+ detailLock: "\u9501\u4EF7\u5269\u4F59",
200
+ detailPriceImpact: "\u4EF7\u683C\u5F71\u54CD",
201
+ detailSlippage: "\u6ED1\u70B9\u4E0B\u9650",
202
+ detailRefresh: "\u5237\u65B0\u62A5\u4EF7",
203
+ slippage: {
204
+ title: "\u6ED1\u70B9\u4E0B\u9650",
205
+ tooltip: "\u8BBE\u7F6E\u60A8\u613F\u610F\u63A5\u53D7\u7684\u6700\u4F4E\u6C47\u7387\u3002\u652F\u4ED8\u65F6\u6C47\u7387\u4F4E\u4E8E\u6B64\u503C\uFF0C\u4EA4\u6613\u5C06\u88AB\u62D2\u7EDD\u3002",
206
+ percentMode: "\u767E\u5206\u6BD4",
207
+ rateMode: "\u7CBE\u786E\u6C47\u7387",
208
+ invalid: "\u8BF7\u8F93\u5165\u6709\u6548\u7684\u6570\u503C",
209
+ invalidPositive: "\u8BF7\u8F93\u5165\u5927\u4E8E 0 \u7684\u6570\u503C",
210
+ rateRequired: "\u9700\u8981\u6C47\u7387\u4FE1\u606F",
211
+ invalidRate: "\u65E0\u6548\u7684\u6C47\u7387\u503C",
212
+ minAcceptableRate: "\u6700\u4F4E\u53EF\u63A5\u53D7\u6C47\u7387",
213
+ maxPayableIncrease: "\u6700\u5927\u652F\u4ED8\u589E\u5E45",
214
+ percentInputLabel: "\u6ED1\u70B9\u767E\u5206\u6BD4",
215
+ rateInputLabel: "\u6700\u4F4E\u53EF\u63A5\u53D7\u6C47\u7387 ({currency})",
216
+ minRateHint: "\u6700\u4F4E\u53EF\u63A5\u53D7\u6C47\u7387: {rate} {currency}",
217
+ maxPayableHint: "\u6700\u5927\u652F\u4ED8\u589E\u5E45: +{percent}%"
218
+ },
219
+ slippageLimit: {
220
+ title: "\u6ED1\u70B9\u4E0B\u9650\u914D\u7F6E",
221
+ description: "\u8BBE\u7F6E\u60A8\u613F\u610F\u63A5\u53D7\u7684\u6700\u4F4E\u6C47\u7387\u3002\u652F\u4ED8\u65F6\u6C47\u7387\u4F4E\u4E8E\u6B64\u503C\uFF0C\u4EA4\u6613\u5C06\u88AB\u6682\u505C\u5E76\u63D0\u793A\u60A8\u786E\u8BA4\u3002",
222
+ configTogglePercent: "\u767E\u5206\u6BD4",
223
+ configToggleRate: "\u7CBE\u786E\u6C47\u7387",
224
+ recommended: "\u63A8\u8350",
225
+ derivedCurrentRate: "\u5F53\u524D\u53C2\u8003\u6C47\u7387",
226
+ derivedMinRate: "\u6700\u4F4E\u53EF\u63A5\u53D7\u6C47\u7387"
227
+ },
228
+ rateUpdateLine: "1 {symbol} \u2248 {rate} \xB7 {time} \u540E\u81EA\u52A8\u66F4\u65B0",
229
+ updateHint: "\u66F4\u65B0\u540E\u5C06\u81EA\u52A8\u5237\u65B0\u4EF7\u683C",
230
+ lockExpiredTitle: "\u4EF7\u683C\u5DF2\u8FC7\u671F",
231
+ lockExpiredDescription: "\u9501\u5B9A\u65F6\u95F4\u5DF2\u7ED3\u675F\uFF0C\u8BF7\u91CD\u65B0\u786E\u8BA4\u4EF7\u683C\u540E\u7EE7\u7EED\u652F\u4ED8\u3002",
232
+ lockExpiredConfirm: "\u91CD\u65B0\u9501\u5B9A\u4EF7\u683C",
233
+ slippageExceededTitle: "\u6C47\u7387\u4F4E\u4E8E\u6ED1\u70B9\u4E0B\u9650",
234
+ slippageExceededDescription: "\u5F53\u524D\u6C47\u7387\u4F4E\u4E8E\u60A8\u8BBE\u7F6E\u7684\u6700\u4F4E\u53EF\u63A5\u53D7\u6C47\u7387\u3002\u8BF7\u5237\u65B0\u62A5\u4EF7\u540E\u91CD\u8BD5\u3002",
235
+ updated: {
236
+ pleaseRetry: "\u4EF7\u683C\u5DF2\u66F4\u65B0\uFF0C\u8BF7\u91CD\u65B0\u63D0\u4EA4"
237
+ },
238
+ priceUpdatedTitle: "\u4EF7\u683C\u5DF2\u66F4\u65B0",
239
+ priceUpdatedDescriptionRate: "\u7531\u4E8E TBA \u6C47\u7387\u53D8\u5316\uFF0C\u7CFB\u7EDF\u5DF2\u91CD\u65B0\u8BA1\u7B97\u672C\u6B21\u91D1\u989D\u3002",
240
+ priceUpdatedDescriptionRecalc: "\u7CFB\u7EDF\u5DF2\u91CD\u65B0\u8BA1\u7B97\u672C\u6B21\u91D1\u989D\u3002",
241
+ priceUpdatedNewTotalLabel: "\u66F4\u65B0\u540E\u603B\u8BA1",
242
+ priceUpdatedOldTotal: "\u539F\u603B\u8BA1\uFF1A{total}",
243
+ priceUpdatedConfirm: "\u786E\u8BA4\u5E76\u7EE7\u7EED\u652F\u4ED8"
244
+ },
176
245
  staking: {
177
246
  title: "\u8D28\u62BC\u91D1\u989D",
178
247
  tooltip: "\u8D28\u62BC\u76F8\u5F53\u4E8E\u4FDD\u8BC1\u91D1\uFF0C\u7528\u4E8E\u786E\u4FDD\u672A\u6765\u7684\u8D26\u5355\u80FD\u591F\u6B63\u5E38\u6263\u6B3E\uFF0C\u5982\u679C\u4F60\u4ECE DID Wallet \u64A4\u9500\u8D28\u62BC\uFF0C\u8BA2\u9605\u4E5F\u4F1A\u88AB\u53D6\u6D88\u3002"
@@ -239,6 +308,14 @@ module.exports = (0, _flat.default)({
239
308
  },
240
309
  arcSphereToast: "\u652F\u4ED8\u5E76\u5B89\u88C5\u6210\u529F\uFF0C\u4E09\u79D2\u540E\u8FD4\u56DE\u9875\u9762\u7EE7\u7EED..."
241
310
  },
311
+ priceChange: {
312
+ unavailable: "\u65E0\u6CD5\u83B7\u53D6\u6C47\u7387\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",
313
+ unstable: "\u5F53\u524D\u6C47\u7387\u6CE2\u52A8\u8F83\u5927\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",
314
+ title: "\u6C47\u7387\u53D8\u5316",
315
+ description: "\u6C47\u7387\u53D8\u5316\u8F83\u5927\uFF0C\u8BF7\u5237\u65B0\u62A5\u4EF7\u540E\u91CD\u8BD5\u3002",
316
+ action: "\u5237\u65B0\u62A5\u4EF7",
317
+ cancel: "\u53D6\u6D88"
318
+ },
242
319
  confirm: {
243
320
  withStake: "\u786E\u8BA4\u8BA2\u9605\uFF0C\u5373\u8868\u793A\u60A8\u6388\u6743 {payee} \u4ECE\u60A8\u7684\u8D26\u6237\u6263\u53D6\u672A\u6765\u6B3E\u9879\uFF0C\u5E76\u5728\u5FC5\u8981\u65F6\u7F5A\u6CA1\u8D28\u62BC\u3002\u60A8\u53EF\u968F\u65F6\u53D6\u6D88\u8BA2\u9605\u6216\u64A4\u9500\u8D28\u62BC\u3002",
244
321
  withoutStake: "\u786E\u8BA4\u8BA2\u9605\uFF0C\u5373\u8868\u793A\u60A8\u6388\u6743 {payee} \u4ECE\u60A8\u7684\u8D26\u6237\u6263\u53D6\u672A\u6765\u6B3E\u9879\u3002\u60A8\u53EF\u968F\u65F6\u53D6\u6D88\u8BA2\u9605\u3002"
@@ -280,6 +357,7 @@ module.exports = (0, _flat.default)({
280
357
  add: "\u6DFB\u52A0\u5230\u8BA2\u5355",
281
358
  remove: "\u4ECE\u8BA2\u5355\u79FB\u9664"
282
359
  },
360
+ dynamicPricing: "\u52A8\u6001\u5B9A\u4EF7",
283
361
  promotion: {
284
362
  add_code: "\u6DFB\u52A0\u4FC3\u9500\u7801",
285
363
  enter_code: "\u8F93\u5165\u4FC3\u9500\u7801",
@@ -411,6 +489,13 @@ module.exports = (0, _flat.default)({
411
489
  maxAttempts: "\u6BCF\u65E5\u5145\u503C\u6B21\u6570\u4E0A\u9650",
412
490
  maxAttemptsPlaceholder: "0\u8868\u793A\u65E0\u9650\u5236",
413
491
  maxAttemptsDescription: "\u6BCF\u65E5\u53EF\u5145\u503C\u7684\u6700\u5927\u6B21\u6570\uFF0C0 \u8868\u793A\u65E0\u9650\u5236"
492
+ },
493
+ dynamicPricing: {
494
+ title: "\u52A8\u6001\u5B9A\u4EF7",
495
+ currentRate: "\u5F53\u524D\u6C47\u7387",
496
+ slippageTolerance: "\u6ED1\u70B9\u5BB9\u5DEE",
497
+ minAcceptableRate: "\u6700\u4F4E\u53EF\u63A5\u53D7\u6C47\u7387",
498
+ configureSlippage: "\u914D\u7F6E\u6ED1\u70B9"
414
499
  }
415
500
  },
416
501
  customer: {
@@ -482,7 +567,10 @@ module.exports = (0, _flat.default)({
482
567
  submit: "\u786E\u8BA4\u53D8\u66F4",
483
568
  confirm: "\u786E\u8BA4\u53D8\u66F4\u65B9\u5F0F\u610F\u5473\u7740\u4F60\u5141\u8BB8 {payee} \u4F7F\u7528\u65B0\u7684\u652F\u4ED8\u65B9\u5F0F\u652F\u4ED8\u4F60\u7684\u672A\u6765\u8D26\u5355\u3002\u4F60\u53EF\u4EE5\u968F\u65F6\u518D\u6B21\u53D8\u66F4\u652F\u4ED8\u65B9\u5F0F\u3002",
484
569
  completed: "\u4F60\u7684\u652F\u4ED8\u65B9\u5F0F \u5DF2\u7ECF\u66F4\u65B0\u6210\u529F\u3002\u4F60\u53EF\u4EE5\u5728\u4F60\u7684\u8D26\u6237\u4E2D\u67E5\u770B\u6B64\u652F\u4ED8\u65B9\u5F0F\u7684\u8BE6\u7EC6\u4FE1\u606F\u3002",
485
- title: "\u652F\u4ED8\u65B9\u5F0F\u53D8\u66F4"
570
+ title: "\u652F\u4ED8\u65B9\u5F0F\u53D8\u66F4",
571
+ reauthorizationRequired: "\u6ED1\u70B9\u8BBE\u7F6E\u5DF2\u66F4\u65B0\u3002\u9700\u8981\u91CD\u65B0\u6388\u6743\u4EE5\u786E\u4FDD\u6388\u6743\u91D1\u989D\u5145\u8DB3\u3002",
572
+ reauthorizationTitle: "\u91CD\u65B0\u6388\u6743\u652F\u4ED8",
573
+ reauthorizationCompleted: "\u652F\u4ED8\u6388\u6743\u5DF2\u6210\u529F\u66F4\u65B0\u3002"
486
574
  },
487
575
  invoice: {
488
576
  summary: "\u6458\u8981",
@@ -508,12 +596,28 @@ module.exports = (0, _flat.default)({
508
596
  invoiceNumber: "\u8D26\u5355\u7F16\u53F7",
509
597
  emptyList: "\u6CA1\u6709\u8D26\u5355",
510
598
  noPaymentRequired: "\u65E0\u9700\u652F\u4ED8",
599
+ slippageExceeded: "\u6ED1\u70B9\u8D85\u9650",
600
+ slippageExceededDetail: "\u6C47\u7387\u6ED1\u70B9\u8D85\u8FC7\u4E0B\u9650\uFF0C\u65E0\u6CD5\u81EA\u52A8\u6263\u6B3E\u3002\u5F53\u524D\u6C47\u7387 {currentRate}\uFF0C\u6700\u4F4E\u53EF\u63A5\u53D7 {minRate}",
511
601
  payBatch: "\u652F\u4ED8\u6B20\u6B3E",
512
602
  paymentConfirmTitle: "\u652F\u4ED8\u786E\u8BA4",
513
603
  paymentConfirmDescription: "\u5B8C\u6210\u672C\u6B21\u652F\u4ED8\u540E\uFF0C\u60A8\u4F7F\u7528\u7684\u652F\u4ED8\u65B9\u5F0F\u5C06\u81EA\u52A8\u8BBE\u7F6E\u4E3A\u8BE5\u8BA2\u9605\u7684\u9ED8\u8BA4\u652F\u4ED8\u65B9\u5F0F\u3002\u6B64\u5916\uFF0C\u6211\u4EEC\u8FD8\u5C06\u5BF9\u8BE5\u8BA2\u9605\u7684\u5176\u4ED6\u6B20\u8D39\u8D26\u5355\u8FDB\u884C\u91CD\u8BD5\u6536\u8D39\u3002",
514
604
  continue: "\u7EE7\u7EED",
605
+ priceChanged: "\u6C47\u7387\u5DF2\u53D8\u52A8 {percent}%\u3002\u652F\u4ED8\u91D1\u989D\u5C06\u4F1A\u66F4\u65B0\uFF0C\u662F\u5426\u7EE7\u7EED\uFF1F",
606
+ paymentCancelled: "\u652F\u4ED8\u5DF2\u53D6\u6D88",
515
607
  credit: "\u989D\u5EA6",
516
- creditRefresh: "\u6BCF{interval}{unit}\u5237\u65B0"
608
+ creditRefresh: "\u6BCF{interval}{unit}\u5237\u65B0",
609
+ quote: {
610
+ exchangeRate: "\u6C47\u7387",
611
+ baseAmount: "USD \u672C\u4F4D\u91D1\u989D",
612
+ providers: "\u6570\u636E\u6E90",
613
+ rateTimestamp: "\u6C47\u7387\u65F6\u95F4",
614
+ consensusMethod: "\u6C47\u7387\u7B97\u6CD5",
615
+ rateStatus: "\u6C47\u7387\u72B6\u6001",
616
+ rateStatusNormal: "\u6B63\u5E38",
617
+ rateStatusDegraded: "\u964D\u7EA7",
618
+ slippage: "\u6ED1\u70B9",
619
+ atPaymentRate: "\uFF08\u6309\u652F\u4ED8\u65F6\u6C47\u7387 {rate}\uFF09"
620
+ }
517
621
  },
518
622
  payment: {
519
623
  empty: "\u6CA1\u6709\u652F\u4ED8\u8BB0\u5F55",
@@ -585,6 +689,13 @@ module.exports = (0, _flat.default)({
585
689
  paid: "\u5DF2\u652F\u4ED8",
586
690
  processing: "\u652F\u4ED8\u4E2D"
587
691
  }
692
+ },
693
+ dynamicPricing: {
694
+ unavailable: {
695
+ title: "\u6682\u65F6\u65E0\u6CD5\u8BA1\u7B97\u5B9E\u65F6\u4EF7\u683C",
696
+ message: "\u5F53\u524D\u6C47\u7387\u670D\u52A1\u4E0D\u53EF\u7528\uFF0C\u57FA\u4E8E\u52A8\u6001\u5B9A\u4EF7\u7684\u5546\u54C1\u6682\u65F6\u65E0\u6CD5\u8D2D\u4E70\u3002",
697
+ retry: "\u91CD\u8BD5"
698
+ }
588
699
  }
589
700
  },
590
701
  refund: {
@@ -1,10 +1,13 @@
1
1
  import 'react-international-phone/style.css';
2
+ import type { TPaymentIntent } from '@blocklet/payment-types';
2
3
  import type { CheckoutCallbacks, CheckoutContext } from '../../types';
3
4
  export declare const waitForCheckoutComplete: (sessionId: string) => Promise<CheckoutContext>;
4
5
  export declare const hasDidWallet: (user: any) => any;
5
6
  type PageData = CheckoutContext & CheckoutCallbacks & {
7
+ onQuoteUpdated?: (data: Pick<CheckoutContext, 'checkoutSession' | 'quotes' | 'rateUnavailable' | 'rateError'>) => void;
8
+ onPaymentIntentUpdate?: (intent: TPaymentIntent | null) => void;
6
9
  onlyShowBtn?: boolean;
7
10
  isDonation?: boolean;
8
11
  };
9
- export default function PaymentForm({ checkoutSession, paymentMethods, paymentIntent, paymentLink, customer, onPaid, onError, action, onlyShowBtn, isDonation, }: PageData): import("react").JSX.Element;
12
+ export default function PaymentForm({ checkoutSession, paymentMethods, paymentIntent, paymentLink, customer, onPaid, onError, onQuoteUpdated, onPaymentIntentUpdate, action, onlyShowBtn, isDonation, rateUnavailable, }: PageData): import("react").JSX.Element;
10
13
  export {};