payment-kit 1.13.302 → 1.13.304
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/api/src/routes/connect/collect.ts +1 -1
- package/api/src/routes/connect/pay.ts +2 -2
- package/api/src/routes/connect/setup.ts +1 -1
- package/blocklet.yml +1 -1
- package/package.json +4 -4
- package/src/components/payment-method/form.tsx +8 -1
- package/src/components/price/form.tsx +11 -1
- package/src/locales/en.tsx +1 -0
- package/src/locales/zh.tsx +1 -0
- package/src/pages/admin/products/links/index.tsx +5 -1
- package/src/pages/admin/products/pricing-tables/index.tsx +5 -1
|
@@ -166,7 +166,7 @@ export default {
|
|
|
166
166
|
} catch (err) {
|
|
167
167
|
logger.error('Failed to finalize collect on arcblock', { paymentIntent: paymentIntent.id, error: err });
|
|
168
168
|
await paymentIntent.update({ status: 'requires_capture' });
|
|
169
|
-
|
|
169
|
+
throw err;
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
172
|
|
|
@@ -136,7 +136,7 @@ export default {
|
|
|
136
136
|
console.error(err);
|
|
137
137
|
logger.error('Failed to finalize paymentIntent on arcblock', { paymentIntent: paymentIntent.id, error: err });
|
|
138
138
|
await paymentIntent.update({ status: 'requires_capture' });
|
|
139
|
-
|
|
139
|
+
throw err;
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
|
|
@@ -166,7 +166,7 @@ export default {
|
|
|
166
166
|
console.error(err);
|
|
167
167
|
logger.error('Failed to finalize paymentIntent on ethereum', { paymentIntent: paymentIntent.id, error: err });
|
|
168
168
|
await paymentIntent.update({ status: 'requires_capture' });
|
|
169
|
-
|
|
169
|
+
throw err;
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
172
|
|
package/blocklet.yml
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "payment-kit",
|
|
3
|
-
"version": "1.13.
|
|
3
|
+
"version": "1.13.304",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"dev": "blocklet dev --open",
|
|
6
6
|
"eject": "vite eject",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"@arcblock/validator": "^1.18.124",
|
|
53
53
|
"@blocklet/js-sdk": "1.16.28",
|
|
54
54
|
"@blocklet/logger": "1.16.28",
|
|
55
|
-
"@blocklet/payment-react": "1.13.
|
|
55
|
+
"@blocklet/payment-react": "1.13.304",
|
|
56
56
|
"@blocklet/sdk": "1.16.28",
|
|
57
57
|
"@blocklet/ui-react": "^2.10.3",
|
|
58
58
|
"@blocklet/uploader": "^0.1.18",
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
"devDependencies": {
|
|
119
119
|
"@abtnode/types": "1.16.28",
|
|
120
120
|
"@arcblock/eslint-config-ts": "^0.3.2",
|
|
121
|
-
"@blocklet/payment-types": "1.13.
|
|
121
|
+
"@blocklet/payment-types": "1.13.304",
|
|
122
122
|
"@types/cookie-parser": "^1.4.7",
|
|
123
123
|
"@types/cors": "^2.8.17",
|
|
124
124
|
"@types/debug": "^4.1.12",
|
|
@@ -160,5 +160,5 @@
|
|
|
160
160
|
"parser": "typescript"
|
|
161
161
|
}
|
|
162
162
|
},
|
|
163
|
-
"gitHead": "
|
|
163
|
+
"gitHead": "c4b50c470fd96da9ac17e5c29bf351bdb2403ee5"
|
|
164
164
|
}
|
|
@@ -20,7 +20,14 @@ export default function PaymentMethodForm() {
|
|
|
20
20
|
name="type"
|
|
21
21
|
control={control}
|
|
22
22
|
render={({ field }) => (
|
|
23
|
-
<ToggleButtonGroup
|
|
23
|
+
<ToggleButtonGroup
|
|
24
|
+
{...field}
|
|
25
|
+
onChange={(_, value: string) => {
|
|
26
|
+
if (value !== null) {
|
|
27
|
+
setValue(field.name, value);
|
|
28
|
+
}
|
|
29
|
+
}}
|
|
30
|
+
exclusive>
|
|
24
31
|
<ToggleButton value="arcblock">ArcBlock</ToggleButton>
|
|
25
32
|
<ToggleButton value="stripe">Stripe</ToggleButton>
|
|
26
33
|
<ToggleButton value="ethereum">Ethereum</ToggleButton>
|
|
@@ -95,6 +95,7 @@ export default function PriceForm({ prefix, simple }: PriceFormProps) {
|
|
|
95
95
|
const model = useWatch({ control, name: getFieldName('model') });
|
|
96
96
|
const positive = (v: number) => v >= 0;
|
|
97
97
|
const quantityPositive = (v: number | undefined) => !v || v.toString().match(/^(0|[1-9]\d*)$/);
|
|
98
|
+
const intervalCountPositive = (v: number) => Number.isInteger(Number(v)) && v > 0;
|
|
98
99
|
|
|
99
100
|
const basePaymentMethod = settings.paymentMethods.find((x) =>
|
|
100
101
|
x.payment_currencies.some((c) => c.id === settings.baseCurrency.id)
|
|
@@ -251,7 +252,14 @@ export default function PriceForm({ prefix, simple }: PriceFormProps) {
|
|
|
251
252
|
control={control}
|
|
252
253
|
disabled={isLocked}
|
|
253
254
|
render={({ field }) => (
|
|
254
|
-
<ToggleButtonGroup
|
|
255
|
+
<ToggleButtonGroup
|
|
256
|
+
{...field}
|
|
257
|
+
onChange={(_, value: string) => {
|
|
258
|
+
if (value !== null) {
|
|
259
|
+
setValue(field.name, value);
|
|
260
|
+
}
|
|
261
|
+
}}
|
|
262
|
+
exclusive>
|
|
255
263
|
<ToggleButton value="recurring">{t('admin.price.types.recurring')}</ToggleButton>
|
|
256
264
|
<ToggleButton value="one_time">{t('admin.price.types.onetime')}</ToggleButton>
|
|
257
265
|
</ToggleButtonGroup>
|
|
@@ -301,6 +309,8 @@ export default function PriceForm({ prefix, simple }: PriceFormProps) {
|
|
|
301
309
|
type="number"
|
|
302
310
|
size="small"
|
|
303
311
|
sx={{ width: INPUT_WIDTH }}
|
|
312
|
+
error={!intervalCountPositive(field.value)}
|
|
313
|
+
helperText={!intervalCountPositive(field.value) && t('admin.price.recurring.intervalCountTip')}
|
|
304
314
|
InputProps={{
|
|
305
315
|
startAdornment: <InputAdornment position="start">{t('common.every')}</InputAdornment>,
|
|
306
316
|
endAdornment: (
|
package/src/locales/en.tsx
CHANGED
|
@@ -138,6 +138,7 @@ export default flat({
|
|
|
138
138
|
meteredTip:
|
|
139
139
|
'Metered billing lets you charge customers based on reported usage at the end of each billing period.',
|
|
140
140
|
aggregate: 'Charge for metered usage by',
|
|
141
|
+
intervalCountTip: 'Billing interval must be a positive integer',
|
|
141
142
|
},
|
|
142
143
|
currency: {
|
|
143
144
|
add: 'Add more currencies',
|
package/src/locales/zh.tsx
CHANGED
|
@@ -146,7 +146,11 @@ function PaymentLinks() {
|
|
|
146
146
|
<div className="table-toolbar-left">
|
|
147
147
|
<ToggleButtonGroup
|
|
148
148
|
value={search.active}
|
|
149
|
-
onChange={(_, value) =>
|
|
149
|
+
onChange={(_, value) => {
|
|
150
|
+
if (value !== null) {
|
|
151
|
+
setSearch((x) => ({ ...x, active: value }));
|
|
152
|
+
}
|
|
153
|
+
}}
|
|
150
154
|
exclusive>
|
|
151
155
|
<ToggleButton value="">All</ToggleButton>
|
|
152
156
|
<ToggleButton value="true">Active</ToggleButton>
|
|
@@ -130,7 +130,11 @@ function PricingTables() {
|
|
|
130
130
|
<div className="table-toolbar-left">
|
|
131
131
|
<ToggleButtonGroup
|
|
132
132
|
value={search.active}
|
|
133
|
-
onChange={(_, value) =>
|
|
133
|
+
onChange={(_, value) => {
|
|
134
|
+
if (value !== null) {
|
|
135
|
+
setSearch((x) => ({ ...x, active: value }));
|
|
136
|
+
}
|
|
137
|
+
}}
|
|
134
138
|
exclusive>
|
|
135
139
|
<ToggleButton value="">All</ToggleButton>
|
|
136
140
|
<ToggleButton value="true">Active</ToggleButton>
|