payment-kit 1.13.178 → 1.13.180

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.
@@ -522,7 +522,7 @@ export async function addSubscriptionJob(
522
522
  logger.info(`subscription cycle job replaced with ${action} job`, { subscription: subscription.id });
523
523
  }
524
524
  if (action === 'cycle') {
525
- if (!cycleJob) {
525
+ if (!cycleJob || (replace && cycleJob)) {
526
526
  await subscriptionQueue[fn]({
527
527
  id: jobId,
528
528
  job: { subscriptionId: subscription.id, action },
@@ -612,8 +612,7 @@ const updateSchema = Joi.object<{
612
612
  clear_usage: Joi.boolean().optional(),
613
613
  })
614
614
  )
615
- .optional()
616
- .default([]),
615
+ .optional(),
617
616
  service_actions: Joi.array()
618
617
  .items(
619
618
  Joi.object({
@@ -624,8 +623,7 @@ const updateSchema = Joi.object<{
624
623
  link: Joi.string().uri().required(),
625
624
  })
626
625
  )
627
- .optional()
628
- .default([]),
626
+ .optional(),
629
627
  });
630
628
  // eslint-disable-next-line consistent-return
631
629
  router.put('/:id', authPortal, async (req, res) => {
@@ -648,7 +646,7 @@ router.put('/:id', authPortal, async (req, res) => {
648
646
  if (value.metadata) {
649
647
  updates.metadata = formatMetadata(value.metadata);
650
648
  }
651
- if (value.service_actions) {
649
+ if (Array.isArray(value.service_actions) && value.service_actions.length > 0) {
652
650
  updates.service_actions = value.service_actions;
653
651
  }
654
652
  if (subscription.isImmutable()) {
package/blocklet.yml CHANGED
@@ -14,7 +14,7 @@ repository:
14
14
  type: git
15
15
  url: git+https://github.com/blocklet/payment-kit.git
16
16
  specVersion: 1.2.8
17
- version: 1.13.178
17
+ version: 1.13.180
18
18
  logo: logo.png
19
19
  files:
20
20
  - dist
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payment-kit",
3
- "version": "1.13.178",
3
+ "version": "1.13.180",
4
4
  "scripts": {
5
5
  "dev": "cross-env COMPONENT_STORE_URL=https://test.store.blocklet.dev blocklet dev --open",
6
6
  "eject": "vite eject",
@@ -50,7 +50,7 @@
50
50
  "@arcblock/jwt": "^1.18.110",
51
51
  "@arcblock/ux": "^2.9.39",
52
52
  "@blocklet/logger": "1.16.23",
53
- "@blocklet/payment-react": "1.13.178",
53
+ "@blocklet/payment-react": "1.13.180",
54
54
  "@blocklet/sdk": "1.16.23",
55
55
  "@blocklet/ui-react": "^2.9.39",
56
56
  "@blocklet/uploader": "^0.0.74",
@@ -110,7 +110,7 @@
110
110
  "devDependencies": {
111
111
  "@abtnode/types": "1.16.23",
112
112
  "@arcblock/eslint-config-ts": "^0.2.4",
113
- "@blocklet/payment-types": "1.13.178",
113
+ "@blocklet/payment-types": "1.13.180",
114
114
  "@types/cookie-parser": "^1.4.6",
115
115
  "@types/cors": "^2.8.17",
116
116
  "@types/dotenv-flow": "^3.3.3",
@@ -149,5 +149,5 @@
149
149
  "parser": "typescript"
150
150
  }
151
151
  },
152
- "gitHead": "1484b62c0e39622bffd1382b0fcddb8381918997"
152
+ "gitHead": "515023c9584f424628a3e291cdeb9ad5ff8420aa"
153
153
  }
@@ -1,10 +1,9 @@
1
1
  /* eslint-disable react/no-unstable-nested-components */
2
2
  import { getDurableData } from '@arcblock/ux/lib/Datatable';
3
3
  import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
4
- import { Status, api, formatTime, getInvoiceStatusColor } from '@blocklet/payment-react';
4
+ import { Status, api, formatBNStr, formatTime, getInvoiceStatusColor } from '@blocklet/payment-react';
5
5
  import type { TInvoiceExpanded } from '@blocklet/payment-types';
6
6
  import { CircularProgress, Typography } from '@mui/material';
7
- import { fromUnitToToken } from '@ocap/util';
8
7
  import { useEffect, useState } from 'react';
9
8
  import { useNavigate } from 'react-router-dom';
10
9
 
@@ -121,7 +120,7 @@ export default function InvoiceList({ customer_id, subscription_id, features, st
121
120
  const item = data.list[index];
122
121
  return (
123
122
  <Typography component="strong" fontWeight={600}>
124
- {fromUnitToToken(item?.total, item?.paymentCurrency.decimal)}&nbsp;
123
+ {formatBNStr(item?.total, item?.paymentCurrency.decimal)}&nbsp;
125
124
  {item?.paymentCurrency.symbol}
126
125
  </Typography>
127
126
  );
@@ -53,7 +53,7 @@ export default function InvoiceTable({ invoice, simple }: Props) {
53
53
  <TableCell sx={{ textTransform: 'none', fontWeight: 'normal', width: 120 }} align="right">
54
54
  {t('payment.customer.invoice.unitPrice')}
55
55
  </TableCell>
56
- <TableCell sx={{ textTransform: 'none', fontWeight: 'normal', width: 100 }} align="right">
56
+ <TableCell sx={{ textTransform: 'none', fontWeight: 'normal', width: 110 }} align="right">
57
57
  {t('common.amount')}
58
58
  </TableCell>
59
59
  {!simple && (
@@ -1,10 +1,9 @@
1
1
  /* eslint-disable react/no-unstable-nested-components */
2
2
  import { getDurableData } from '@arcblock/ux/lib/Datatable';
3
3
  import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
4
- import { Status, api, formatTime, getPaymentIntentStatusColor } from '@blocklet/payment-react';
4
+ import { Status, api, formatBNStr, formatTime, getPaymentIntentStatusColor } from '@blocklet/payment-react';
5
5
  import type { TPaymentIntentExpanded } from '@blocklet/payment-types';
6
6
  import { CircularProgress, Typography } from '@mui/material';
7
- import { fromUnitToToken } from '@ocap/util';
8
7
  import { useEffect, useState } from 'react';
9
8
  import { useNavigate } from 'react-router-dom';
10
9
 
@@ -114,7 +113,7 @@ export default function PaymentList({ customer_id, invoice_id, features }: ListP
114
113
  component="strong"
115
114
  sx={{ color: item.amount_received === '0' ? 'warning.main' : 'inherit' }}
116
115
  fontWeight={600}>
117
- {fromUnitToToken(
116
+ {formatBNStr(
118
117
  item.amount_received === '0' ? item.amount : item.amount_received,
119
118
  item?.paymentCurrency.decimal
120
119
  )}
@@ -1,10 +1,9 @@
1
1
  /* eslint-disable react/no-unstable-nested-components */
2
2
  import { getDurableData } from '@arcblock/ux/lib/Datatable';
3
3
  import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
4
- import { Status, api, formatTime, getPaymentIntentStatusColor } from '@blocklet/payment-react';
4
+ import { Status, api, formatBNStr, formatTime, getPaymentIntentStatusColor } from '@blocklet/payment-react';
5
5
  import type { TRefundExpanded } from '@blocklet/payment-types';
6
6
  import { CircularProgress, Typography } from '@mui/material';
7
- import { fromUnitToToken } from '@ocap/util';
8
7
  import { useEffect, useState } from 'react';
9
8
  import { useNavigate } from 'react-router-dom';
10
9
 
@@ -114,7 +113,7 @@ export default function RefundList({ customer_id, invoice_id, subscription_id, f
114
113
  const item = data.list[index] as TRefundExpanded;
115
114
  return (
116
115
  <Typography component="strong" fontWeight={600}>
117
- {fromUnitToToken(item?.amount, item?.paymentCurrency.decimal)}&nbsp;
116
+ {formatBNStr(item?.amount, item?.paymentCurrency.decimal)}&nbsp;
118
117
  {item?.paymentCurrency.symbol}
119
118
  </Typography>
120
119
  );
@@ -1,12 +1,11 @@
1
1
  /* eslint-disable react/no-unstable-nested-components */
2
2
  import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
3
3
  import Toast from '@arcblock/ux/lib/Toast';
4
- import { Status, api, formatError, formatTime, getInvoiceStatusColor } from '@blocklet/payment-react';
4
+ import { Status, api, formatBNStr, formatError, formatTime, getInvoiceStatusColor } from '@blocklet/payment-react';
5
5
  import type { TInvoice, TInvoiceExpanded } from '@blocklet/payment-types';
6
6
  import { ArrowBackOutlined, Edit } from '@mui/icons-material';
7
7
  import { Alert, Box, Button, CircularProgress, Stack, Typography } from '@mui/material';
8
8
  import { styled } from '@mui/system';
9
- import { fromUnitToToken } from '@ocap/util';
10
9
  import { useRequest, useSetState } from 'ahooks';
11
10
  import { Link } from 'react-router-dom';
12
11
 
@@ -92,7 +91,7 @@ export default function InvoiceDetail(props: { id: string }) {
92
91
  </Typography>
93
92
  <Typography sx={{ mx: 1 }}>for</Typography>
94
93
  <Typography variant="h5" sx={{ fontWeight: 600 }}>
95
- {fromUnitToToken(data.total, data.paymentCurrency.decimal)} {data.paymentCurrency.symbol}
94
+ {formatBNStr(data.total, data.paymentCurrency.decimal)} {data.paymentCurrency.symbol}
96
95
  </Typography>
97
96
  <Status label={data.status} color={getInvoiceStatusColor(data.status)} sx={{ ml: 1 }} />
98
97
  </Stack>
@@ -2,12 +2,11 @@
2
2
  import DidAddress from '@arcblock/ux/lib/DID';
3
3
  import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
4
4
  import Toast from '@arcblock/ux/lib/Toast';
5
- import { api, formatError, formatTime, usePaymentContext } from '@blocklet/payment-react';
5
+ import { api, formatBNStr, formatError, formatTime, usePaymentContext } from '@blocklet/payment-react';
6
6
  import type { GroupedBN, TCustomerExpanded, TPaymentMethodExpanded } from '@blocklet/payment-types';
7
7
  import { ArrowBackOutlined, Edit } from '@mui/icons-material';
8
8
  import { Alert, Box, Button, CircularProgress, Stack, Typography } from '@mui/material';
9
9
  import { styled } from '@mui/system';
10
- import { fromUnitToToken } from '@ocap/util';
11
10
  import { useRequest, useSetState } from 'ahooks';
12
11
  import { isEmpty } from 'lodash';
13
12
  import { FlagEmoji } from 'react-international-phone';
@@ -48,7 +47,7 @@ function getTokenBalances(customer: TCustomerExpanded, paymentMethods: TPaymentM
48
47
  if (customer.balance) {
49
48
  tokens.push({
50
49
  currency: 'USD',
51
- balance: fromUnitToToken(customer.balance, 2),
50
+ balance: formatBNStr(customer.balance, 2),
52
51
  });
53
52
  }
54
53
 
@@ -61,7 +60,7 @@ function getTokenBalances(customer: TCustomerExpanded, paymentMethods: TPaymentM
61
60
  // @ts-ignore
62
61
  currency: currency.symbol,
63
62
  // @ts-ignore
64
- balance: fromUnitToToken(customer.token_balance[currencyId], currency.decimal),
63
+ balance: formatBNStr(customer.token_balance[currencyId], currency.decimal),
65
64
  });
66
65
  }
67
66
  });
@@ -6,6 +6,7 @@ import {
6
6
  Status,
7
7
  TxLink,
8
8
  api,
9
+ formatBNStr,
9
10
  formatError,
10
11
  formatTime,
11
12
  getPaymentIntentStatusColor,
@@ -14,7 +15,6 @@ import type { TPaymentIntentExpanded } from '@blocklet/payment-types';
14
15
  import { ArrowBackOutlined, Edit, InfoOutlined } from '@mui/icons-material';
15
16
  import { Alert, Box, Button, CircularProgress, Stack, Tooltip, Typography } from '@mui/material';
16
17
  import { styled } from '@mui/system';
17
- import { fromUnitToToken } from '@ocap/util';
18
18
  import { useRequest, useSetState } from 'ahooks';
19
19
  import { Link } from 'react-router-dom';
20
20
 
@@ -77,8 +77,8 @@ export default function PaymentIntentDetail(props: { id: string }) {
77
77
  const onUpdateMetadata = createUpdater('metadata');
78
78
 
79
79
  const currency = data.paymentCurrency;
80
- const received = [fromUnitToToken(data?.amount_received, currency.decimal), currency.symbol].join(' ');
81
- const total = [fromUnitToToken(data?.amount, currency.decimal), currency.symbol].join(' ');
80
+ const received = [formatBNStr(data?.amount_received, currency.decimal), currency.symbol].join(' ');
81
+ const total = [formatBNStr(data?.amount, currency.decimal), currency.symbol].join(' ');
82
82
 
83
83
  return (
84
84
  <Root direction="column" spacing={4} mb={4}>
@@ -1,12 +1,20 @@
1
1
  /* eslint-disable react/no-unstable-nested-components */
2
2
  import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
3
3
  import Toast from '@arcblock/ux/lib/Toast';
4
- import { Amount, Status, TxLink, api, formatError, formatTime, getRefundStatusColor } from '@blocklet/payment-react';
4
+ import {
5
+ Amount,
6
+ Status,
7
+ TxLink,
8
+ api,
9
+ formatBNStr,
10
+ formatError,
11
+ formatTime,
12
+ getRefundStatusColor,
13
+ } from '@blocklet/payment-react';
5
14
  import type { TRefundExpanded } from '@blocklet/payment-types';
6
15
  import { ArrowBackOutlined, Edit, InfoOutlined } from '@mui/icons-material';
7
16
  import { Alert, Box, Button, CircularProgress, Stack, Tooltip, Typography } from '@mui/material';
8
17
  import { styled } from '@mui/system';
9
- import { fromUnitToToken } from '@ocap/util';
10
18
  import { useRequest, useSetState } from 'ahooks';
11
19
  import { Link } from 'react-router-dom';
12
20
 
@@ -69,7 +77,7 @@ export default function RefundDetail(props: { id: string }) {
69
77
  const onUpdateMetadata = createUpdater('metadata');
70
78
 
71
79
  const currency = data.paymentCurrency;
72
- const amount = [fromUnitToToken(data?.amount, currency.decimal), currency.symbol].join(' ');
80
+ const amount = [formatBNStr(data?.amount, currency.decimal), currency.symbol].join(' ');
73
81
 
74
82
  return (
75
83
  <Root direction="column" spacing={4} mb={4}>
@@ -1,9 +1,8 @@
1
1
  /* eslint-disable react/no-unstable-nested-components */
2
2
  import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
3
- import { Status, TxLink, api, formatToDate, getPaymentIntentStatusColor } from '@blocklet/payment-react';
3
+ import { Status, TxLink, api, formatBNStr, formatToDate, getPaymentIntentStatusColor } from '@blocklet/payment-react';
4
4
  import type { Paginated, PaymentDetails, TPaymentIntentExpanded } from '@blocklet/payment-types';
5
5
  import { Box, Button, CircularProgress, Stack, Typography } from '@mui/material';
6
- import { fromUnitToToken } from '@ocap/util';
7
6
  import { useInfiniteScroll } from 'ahooks';
8
7
 
9
8
  const groupByDate = (items: TPaymentIntentExpanded[]) => {
@@ -82,7 +81,7 @@ export default function CustomerRefundList({ invoice_id }: Props) {
82
81
  </Box>
83
82
  <Box flex={2}>
84
83
  <Typography textAlign="right">
85
- {fromUnitToToken(item.amount, item.paymentCurrency.decimal)}&nbsp;
84
+ {formatBNStr(item.amount, item.paymentCurrency.decimal)}&nbsp;
86
85
  {item.paymentCurrency.symbol}
87
86
  </Typography>
88
87
  </Box>
@@ -1,12 +1,11 @@
1
1
  /* eslint-disable react/no-unstable-nested-components */
2
2
  import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
3
3
  import Toast from '@arcblock/ux/lib/Toast';
4
- import { PricingTable, api, formatError, formatPrice, formatTime } from '@blocklet/payment-react';
4
+ import { PricingTable, api, formatBNStr, formatError, formatPrice, formatTime } from '@blocklet/payment-react';
5
5
  import type { TLineItemExpanded, TPricingTableExpanded, TSubscriptionExpanded } from '@blocklet/payment-types';
6
6
  import { ArrowBackOutlined } from '@mui/icons-material';
7
7
  import { LoadingButton } from '@mui/lab';
8
8
  import { Alert, CircularProgress, Divider, Stack, Typography } from '@mui/material';
9
- import { fromUnitToToken } from '@ocap/util';
10
9
  import { useRequest, useSetState } from 'ahooks';
11
10
  import { Link, useNavigate, useParams } from 'react-router-dom';
12
11
 
@@ -206,7 +205,7 @@ export default function CustomerSubscriptionChangePlan() {
206
205
  </Typography>
207
206
  <Typography component="p" style={{ fontWeight: 'bold' }}>
208
207
  {prefix}
209
- {fromUnitToToken(value, data.subscription.paymentCurrency.decimal)} {data.subscription.paymentCurrency.symbol}
208
+ {formatBNStr(value, data.subscription.paymentCurrency.decimal)} {data.subscription.paymentCurrency.symbol}
210
209
  </Typography>
211
210
  </Stack>
212
211
  );