strapi-plugin-payone-provider 5.7.22 → 5.7.23
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/admin/src/pages/App/components/transaction-history/details/TransactionDetails.jsx +45 -24
- package/admin/src/pages/App/components/transaction-history/details/TransactionHistoryItem.jsx +17 -1
- package/admin/src/pages/utils/transactionTableUtils.js +15 -5
- package/package.json +2 -2
- package/server/utils/paymentMethodParams.js +2 -0
|
@@ -2,7 +2,10 @@ import * as React from "react";
|
|
|
2
2
|
import JsonView from "@uiw/react-json-view";
|
|
3
3
|
import { githubDarkTheme } from "@uiw/react-json-view/githubDark";
|
|
4
4
|
import { Box, Flex, Typography } from "@strapi/design-system";
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
getCardTypeName,
|
|
7
|
+
isCreditCard
|
|
8
|
+
} from "../../../../utils/transactionTableUtils";
|
|
6
9
|
|
|
7
10
|
const TransactionDetails = ({ transaction }) => {
|
|
8
11
|
return (
|
|
@@ -30,7 +33,7 @@ const TransactionDetails = ({ transaction }) => {
|
|
|
30
33
|
display: "grid",
|
|
31
34
|
gridTemplateColumns: "repeat(auto-fit,minmax(400px,1fr))",
|
|
32
35
|
gap: "16px",
|
|
33
|
-
marginBottom: "1.5rem"
|
|
36
|
+
marginBottom: "1.5rem"
|
|
34
37
|
}}
|
|
35
38
|
>
|
|
36
39
|
<Flex direction="column" gap={2} alignItems={"stretch"}>
|
|
@@ -47,8 +50,10 @@ const TransactionDetails = ({ transaction }) => {
|
|
|
47
50
|
Name:
|
|
48
51
|
</Typography>
|
|
49
52
|
<Typography variant="pi" textColor="neutral800">
|
|
50
|
-
{transaction.raw_request?.firstname ||
|
|
51
|
-
|
|
53
|
+
{transaction.raw_request?.firstname ||
|
|
54
|
+
transaction.body?.raw_request?.firstname}{" "}
|
|
55
|
+
{transaction.raw_request?.lastname ||
|
|
56
|
+
transaction.body?.raw_request?.lastname}
|
|
52
57
|
</Typography>
|
|
53
58
|
</Flex>
|
|
54
59
|
<Flex gap={3}>
|
|
@@ -56,7 +61,9 @@ const TransactionDetails = ({ transaction }) => {
|
|
|
56
61
|
Email:
|
|
57
62
|
</Typography>
|
|
58
63
|
<Typography variant="pi" textColor="neutral800">
|
|
59
|
-
{transaction.raw_request?.email ||
|
|
64
|
+
{transaction.raw_request?.email ||
|
|
65
|
+
transaction.body?.raw_request?.email ||
|
|
66
|
+
"N/A"}
|
|
60
67
|
</Typography>
|
|
61
68
|
</Flex>
|
|
62
69
|
<Flex gap={3}>
|
|
@@ -64,7 +71,9 @@ const TransactionDetails = ({ transaction }) => {
|
|
|
64
71
|
Phone:
|
|
65
72
|
</Typography>
|
|
66
73
|
<Typography variant="pi" textColor="neutral800">
|
|
67
|
-
{transaction.raw_request?.telephonenumber ||
|
|
74
|
+
{transaction.raw_request?.telephonenumber ||
|
|
75
|
+
transaction.body?.raw_request?.telephonenumber ||
|
|
76
|
+
"N/A"}
|
|
68
77
|
</Typography>
|
|
69
78
|
</Flex>
|
|
70
79
|
<Flex gap={3}>
|
|
@@ -72,8 +81,13 @@ const TransactionDetails = ({ transaction }) => {
|
|
|
72
81
|
Address:
|
|
73
82
|
</Typography>
|
|
74
83
|
<Typography variant="pi" textColor="neutral800">
|
|
75
|
-
{transaction.raw_request?.street ||
|
|
76
|
-
|
|
84
|
+
{transaction.raw_request?.street ||
|
|
85
|
+
transaction.body?.raw_request?.street}
|
|
86
|
+
,{" "}
|
|
87
|
+
{transaction.raw_request?.zip ||
|
|
88
|
+
transaction.body?.raw_request?.zip}{" "}
|
|
89
|
+
{transaction.raw_request?.city ||
|
|
90
|
+
transaction.body?.raw_request?.city}
|
|
77
91
|
</Typography>
|
|
78
92
|
</Flex>
|
|
79
93
|
</Flex>
|
|
@@ -94,7 +108,7 @@ const TransactionDetails = ({ transaction }) => {
|
|
|
94
108
|
{transaction.txid || "N/A"}
|
|
95
109
|
</Typography>
|
|
96
110
|
</Flex>
|
|
97
|
-
{transaction
|
|
111
|
+
{isCreditCard(transaction) && (
|
|
98
112
|
<>
|
|
99
113
|
<Flex gap={3}>
|
|
100
114
|
<Typography
|
|
@@ -105,22 +119,27 @@ const TransactionDetails = ({ transaction }) => {
|
|
|
105
119
|
Card Type:
|
|
106
120
|
</Typography>
|
|
107
121
|
<Typography variant="pi" textColor="neutral800">
|
|
108
|
-
{getCardTypeName(transaction
|
|
109
|
-
</Typography>
|
|
110
|
-
</Flex>
|
|
111
|
-
<Flex gap={3}>
|
|
112
|
-
<Typography
|
|
113
|
-
variant="pi"
|
|
114
|
-
textColor="neutral600"
|
|
115
|
-
fontWeight="medium"
|
|
116
|
-
>
|
|
117
|
-
Card Number:
|
|
118
|
-
</Typography>
|
|
119
|
-
<Typography variant="pi" textColor="neutral800">
|
|
120
|
-
**** **** ****{" "}
|
|
121
|
-
{transaction.raw_request?.cardpan?.slice(-4) || transaction.body?.raw_request?.cardpan?.slice(-4) || "****"}
|
|
122
|
+
{getCardTypeName(transaction)}
|
|
122
123
|
</Typography>
|
|
123
124
|
</Flex>
|
|
125
|
+
{(transaction.raw_request?.cardFirstname ||
|
|
126
|
+
transaction.body?.raw_request?.cardFirstname) && (
|
|
127
|
+
<Flex gap={3}>
|
|
128
|
+
<Typography
|
|
129
|
+
variant="pi"
|
|
130
|
+
textColor="neutral600"
|
|
131
|
+
fontWeight="medium"
|
|
132
|
+
>
|
|
133
|
+
Name on Card:
|
|
134
|
+
</Typography>
|
|
135
|
+
<Typography variant="pi" textColor="neutral800">
|
|
136
|
+
{transaction.raw_request?.cardFirstname ||
|
|
137
|
+
transaction.body?.raw_request?.cardFirstname}{" "}
|
|
138
|
+
{transaction.raw_request?.cardLastname ||
|
|
139
|
+
transaction.body?.raw_request?.cardLastname}
|
|
140
|
+
</Typography>
|
|
141
|
+
</Flex>
|
|
142
|
+
)}
|
|
124
143
|
</>
|
|
125
144
|
)}
|
|
126
145
|
<Flex gap={3}>
|
|
@@ -128,7 +147,9 @@ const TransactionDetails = ({ transaction }) => {
|
|
|
128
147
|
Mode:
|
|
129
148
|
</Typography>
|
|
130
149
|
<Typography variant="pi" textColor="neutral800">
|
|
131
|
-
{transaction.raw_request?.mode ||
|
|
150
|
+
{transaction.raw_request?.mode ||
|
|
151
|
+
transaction.body?.raw_request?.mode ||
|
|
152
|
+
"N/A"}
|
|
132
153
|
</Typography>
|
|
133
154
|
</Flex>
|
|
134
155
|
</Flex>
|
package/admin/src/pages/App/components/transaction-history/details/TransactionHistoryItem.jsx
CHANGED
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
Button,
|
|
10
10
|
} from "@strapi/design-system";
|
|
11
11
|
import { ChevronDownIcon, ChevronUpIcon } from "../icons";
|
|
12
|
+
import { isCreditCard, getCardTypeName } from "../../../../utils/transactionTableUtils";
|
|
12
13
|
|
|
13
14
|
const TransactionHistoryItem = ({ transaction }) => {
|
|
14
15
|
const [isExpanded, setIsExpanded] = React.useState(false);
|
|
@@ -302,7 +303,7 @@ const TransactionHistoryItem = ({ transaction }) => {
|
|
|
302
303
|
</Typography>
|
|
303
304
|
</Flex>
|
|
304
305
|
|
|
305
|
-
{transaction
|
|
306
|
+
{isCreditCard(transaction) && (
|
|
306
307
|
<>
|
|
307
308
|
<Flex justifyContent="space-between" gap={3}>
|
|
308
309
|
<Typography
|
|
@@ -341,6 +342,21 @@ const TransactionHistoryItem = ({ transaction }) => {
|
|
|
341
342
|
{transaction.raw_request?.cardexpiredate}
|
|
342
343
|
</Typography>
|
|
343
344
|
</Flex>
|
|
345
|
+
{transaction.raw_request?.cardFirstname && (
|
|
346
|
+
<Flex justifyContent="space-between" gap={3}>
|
|
347
|
+
<Typography
|
|
348
|
+
variant="pi"
|
|
349
|
+
textColor="neutral600"
|
|
350
|
+
fontWeight="medium"
|
|
351
|
+
>
|
|
352
|
+
Name on Card:
|
|
353
|
+
</Typography>
|
|
354
|
+
<Typography variant="pi" textColor="neutral800">
|
|
355
|
+
{transaction.raw_request?.cardFirstname}{" "}
|
|
356
|
+
{transaction.raw_request?.cardLastname}
|
|
357
|
+
</Typography>
|
|
358
|
+
</Flex>
|
|
359
|
+
)}
|
|
344
360
|
</>
|
|
345
361
|
)}
|
|
346
362
|
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
export const getStatusColor = (status) => {
|
|
3
2
|
switch (status) {
|
|
4
3
|
case "APPROVED":
|
|
@@ -26,12 +25,11 @@ export const formatDate = (dateString) => {
|
|
|
26
25
|
month: "2-digit",
|
|
27
26
|
day: "2-digit",
|
|
28
27
|
hour: "2-digit",
|
|
29
|
-
minute: "2-digit"
|
|
28
|
+
minute: "2-digit"
|
|
30
29
|
});
|
|
31
30
|
};
|
|
32
31
|
|
|
33
32
|
export const getPaymentMethodName = (clearingtype, wallettype) => {
|
|
34
|
-
|
|
35
33
|
switch (clearingtype) {
|
|
36
34
|
case "cc" || "card" | "c":
|
|
37
35
|
return "Credit Card";
|
|
@@ -46,7 +44,20 @@ export const getPaymentMethodName = (clearingtype, wallettype) => {
|
|
|
46
44
|
}
|
|
47
45
|
};
|
|
48
46
|
|
|
49
|
-
export const
|
|
47
|
+
export const isCreditCard = (transaction) => {
|
|
48
|
+
const clearingtype =
|
|
49
|
+
transaction.raw_request?.clearingtype ||
|
|
50
|
+
transaction.body?.raw_request?.clearingtype;
|
|
51
|
+
return clearingtype === "cc";
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export const getCardTypeName = (transaction) => {
|
|
55
|
+
if (!isCreditCard(transaction)) return null;
|
|
56
|
+
|
|
57
|
+
const cardtype =
|
|
58
|
+
transaction.raw_request?.cardtype ||
|
|
59
|
+
transaction.body?.raw_request?.cardtype;
|
|
60
|
+
|
|
50
61
|
switch (cardtype) {
|
|
51
62
|
case "V":
|
|
52
63
|
return "Visa";
|
|
@@ -58,4 +69,3 @@ export const getCardTypeName = (cardtype) => {
|
|
|
58
69
|
return cardtype || "Unknown";
|
|
59
70
|
}
|
|
60
71
|
};
|
|
61
|
-
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "strapi-plugin-payone-provider",
|
|
3
|
-
"version": "5.7.
|
|
3
|
+
"version": "5.7.23",
|
|
4
4
|
"description": "Strapi plugin for Payone payment gateway integration",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"maintainers": [
|
|
@@ -42,4 +42,4 @@
|
|
|
42
42
|
"kind": "plugin",
|
|
43
43
|
"displayName": "Strapi Payone Provider"
|
|
44
44
|
}
|
|
45
|
-
}
|
|
45
|
+
}
|
|
@@ -48,6 +48,8 @@ const addPaymentMethodParams = (params, logger) => {
|
|
|
48
48
|
'cardexpiredate', 'cardtype', 'wallettype',
|
|
49
49
|
'bankcountry', 'iban', 'bic', 'bankaccountholder', 'onlinebanktransfertype',
|
|
50
50
|
'recurrence', 'financingtype', 'invoicetype',
|
|
51
|
+
// Cardholder name fields (credit card)
|
|
52
|
+
'cardFirstname', 'cardLastname',
|
|
51
53
|
// Common defaults
|
|
52
54
|
'salutation', 'gender', 'telephonenumber', 'ip', 'language', 'customer_is_present',
|
|
53
55
|
// Payment method tokens
|