@crm-rocketlink/crm-model 1.0.0 → 1.0.1

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 (60) hide show
  1. package/appspec.yml +19 -0
  2. package/package.json +1 -2
  3. package/scripts/1.before_install.sh +4 -0
  4. package/scripts/2.after_install.sh +5 -0
  5. package/scripts/3.application_start.sh +8 -0
  6. package/src/dtos/campaign.request.dto.ts +5 -0
  7. package/src/dtos/category.request.dto.ts +8 -0
  8. package/src/dtos/common/base.request.dto.ts +4 -0
  9. package/src/dtos/common/paginated.request.dto.ts +7 -0
  10. package/src/dtos/common/paginated.response.dto.ts +11 -0
  11. package/src/dtos/csv.request.dto.ts +9 -0
  12. package/src/dtos/csv.response.dto.ts +10 -0
  13. package/src/dtos/csvRow.request.dto.ts +14 -0
  14. package/src/dtos/emailTemplate.request.dto.ts +0 -0
  15. package/src/dtos/empTransactions.request.dto.ts +5 -0
  16. package/src/dtos/event.request.dto.ts +9 -0
  17. package/src/dtos/fastify.d.ts +19 -0
  18. package/src/dtos/field.request.dto.ts +4 -0
  19. package/src/dtos/hook.request.dto.ts +9 -0
  20. package/src/dtos/hookProfile.request.dto.ts +7 -0
  21. package/src/dtos/lead.request.dto.ts +12 -0
  22. package/src/dtos/offer.request.dto.ts +15 -0
  23. package/src/dtos/order.request.dto.ts +22 -0
  24. package/src/dtos/product.request.dto.ts +9 -0
  25. package/src/dtos/subscription.request.dto.ts +20 -0
  26. package/src/dtos/transaction.request.dto.ts +13 -0
  27. package/src/dtos/transactionError.request.dto.ts +10 -0
  28. package/src/gateways/adapters/dtos/transaction-emp.request.dto.ts +21 -0
  29. package/src/gateways/adapters/dtos/transaction-finxp.request.dto.ts +9 -0
  30. package/src/gateways/adapters/dtos/transaction-novalnet.request.dto.ts +21 -0
  31. package/src/gateways/adapters/model/transactionEmp.model.ts +223 -0
  32. package/src/gateways/adapters/model/transactionFinXP.model.ts +193 -0
  33. package/src/gateways/adapters/model/transactionNovalNet.model.ts +224 -0
  34. package/src/gateways/providers/model/genesis.constants.ts +30 -0
  35. package/src/gateways/providers/model/genesis.model.ts +89 -0
  36. package/src/gateways/providers/model/novalNetManual.model.ts +119 -0
  37. package/src/index.ts +62 -0
  38. package/src/model/campaign.model.ts +16 -0
  39. package/src/model/category.model.ts +7 -0
  40. package/src/model/csv.model.ts +77 -0
  41. package/src/model/emailTemplate.model.ts +0 -0
  42. package/src/model/empTransactions.model.ts +9 -0
  43. package/src/model/event.model.ts +6 -0
  44. package/src/model/fastify.d.ts +19 -0
  45. package/src/model/field.model.ts +17 -0
  46. package/src/model/gateway.model.ts +50 -0
  47. package/src/model/hook.model.ts +13 -0
  48. package/src/model/hookOutbox.model.ts +12 -0
  49. package/src/model/hookProfile.model.ts +19 -0
  50. package/src/model/lead.model.ts +28 -0
  51. package/src/model/mid.model.ts +26 -0
  52. package/src/model/offer.model.ts +26 -0
  53. package/src/model/order.model.ts +41 -0
  54. package/src/model/paymentData.model.ts +59 -0
  55. package/src/model/product.model.ts +11 -0
  56. package/src/model/subscription.model.ts +28 -0
  57. package/src/model/transaction.model.ts +31 -0
  58. package/src/model/transactionError.model.ts +17 -0
  59. package/src/util/constants.ts +104 -0
  60. package/tsconfig.json +27 -0
@@ -0,0 +1,193 @@
1
+ import { Transaction } from "../../../model/transaction.model";
2
+ import { BANKS } from "../../../model/gateway.model";
3
+
4
+ export type TransactionType = TransactionFinXP;
5
+
6
+ export function isTransactionFinXP(t: Transaction): t is TransactionFinXP {
7
+ return t?.bank === BANKS.finXP;
8
+ }
9
+
10
+ export interface TransactionFinXP extends Transaction {
11
+ bank: typeof BANKS.finXP;
12
+ id?: number;
13
+ status?: string;
14
+ endToEndId?: string;
15
+ merchant?: string;
16
+ amount?: string;
17
+ effectiveDate?: string;
18
+ customerBic?: string;
19
+ customerIban?: string;
20
+ customerName?: string;
21
+ customerId?: string;
22
+ additionalInfo1?: string;
23
+ additionalInfo2?: string;
24
+ importedDate?: string;
25
+ mandateReference?: string;
26
+ transactionInformation?: string;
27
+ transactionTypeName?: string;
28
+ errorCode?: string;
29
+ importedFile?: string;
30
+ merchantProductName?: string;
31
+ bankFee?: string;
32
+ isChargeback?: string;
33
+ mandateDate?: string;
34
+ cb_status?: string;
35
+ cb_chargebackDate?: string;
36
+ cb_statementDate?: string;
37
+ cb_chargebackAmount?: string;
38
+ cb_initiatedAmount?: string;
39
+ cb_bankFees?: string;
40
+ cb_currency?: string;
41
+ cb_chargebackEntryInformation?: string;
42
+ cb_paymentAdviceIdentifier?: string;
43
+ cb_rejectCode?: string;
44
+ cb_chargebackRemittanceInformation?: string;
45
+ cb_chargebackReason?: string;
46
+ cb_paymentAdviceDate?: string;
47
+ cb_initiatedDate?: string;
48
+ cb_fileName?: string;
49
+ cb_sepaProduct?: string;
50
+ cb_product?: string;
51
+ cb_customerNumber?: string;
52
+ cb_customerName?: string;
53
+ cb_customerBic?: string;
54
+ cb_customerIban?: string;
55
+ cb_transactionInformation?: string;
56
+ cb_invoiceNumber?: string;
57
+ cb_additionalInformation?: string;
58
+ cb_additionalInformation2?: string;
59
+ cb_additionalInformation3?: string;
60
+ cb_additionalInformation4?: string;
61
+ cb_merchantName?: string;
62
+ cb_accountName?: string;
63
+ cb_endToEndId?: string;
64
+ cb_iban4u?: string;
65
+ createdAt?: Date;
66
+ updatedAt?: Date;
67
+ }
68
+ export interface TransactionFinXPChargeback extends Transaction {
69
+ bank: typeof BANKS.finXP;
70
+ id?: number;
71
+ status?: string;
72
+ chargebackDate?: string;
73
+ statementDate?: string;
74
+ chargebackAmount?: string;
75
+ initiatedAmount?: string;
76
+ bankFees?: string;
77
+ currency?: string;
78
+ chargebackEntryInformation?: string;
79
+ paymentAdviceIdentifier?: string;
80
+ rejectCode?: string;
81
+ chargebackRemittanceInformation?: string;
82
+ chargebackReason?: string;
83
+ paymentAdviceDate?: string;
84
+ initiatedDate?: string;
85
+ fileName?: string;
86
+ sepaProduct?: string;
87
+ product?: string;
88
+ customerNumber?: string;
89
+ customerName?: string;
90
+ customerBic?: string;
91
+ customerIban?: string;
92
+ transactionInformation?: string;
93
+ invoiceNumber?: string;
94
+ additionalInformation?: string;
95
+ additionalInformation2?: string;
96
+ additionalInformation3?: string;
97
+ additionalInformation4?: string;
98
+ merchantName?: string;
99
+ accountName?: string;
100
+ endToEndId?: string;
101
+ iban4u?: string;
102
+ createdAt?: Date;
103
+ updatedAt?: Date;
104
+ }
105
+
106
+ export const finXPCSVToTransactionColumn: Partial<Record<keyof TransactionFinXP, string>> = {
107
+ status: "STATUS",
108
+ endToEndId: "END TO END ID",
109
+ merchant: "MERCHANT",
110
+ amount: "AMOUNT",
111
+ effectiveDate: "EFFECTIVE DATE",
112
+ customerBic: "CUSTOMER BIC",
113
+ customerIban: "CUSTOMER IBAN",
114
+ customerName: "CUSTOMER NAME",
115
+ customerId: "CUSTOMER ID",
116
+ additionalInfo1: "ADDITIONAL INFO 1",
117
+ additionalInfo2: "ADDITIONAL INFO 2",
118
+ importedDate: "IMPORTED DATE",
119
+ mandateReference: "MANDATE REFERENCE",
120
+ transactionInformation: "TRANSACTION INFORMATION",
121
+ transactionTypeName: "TRANSACTION TYPE NAME",
122
+ errorCode: "ERROR CODE",
123
+ importedFile: "IMPORTED FILE",
124
+ merchantProductName: "MERCHANT PRODUCT NAME",
125
+ bankFee: "BANK FEE",
126
+ isChargeback: "IS CHARGEBACK",
127
+ mandateDate: "MANDATE DATE",
128
+ cb_status: "Status",
129
+ cb_chargebackDate: "Chargeback date",
130
+ cb_statementDate: "Statement date",
131
+ cb_chargebackAmount: "Chargeback amount",
132
+ cb_initiatedAmount: "Initiated amount",
133
+ cb_bankFees: "Bank fees",
134
+ cb_currency: "Currency",
135
+ cb_chargebackEntryInformation: "Chargeback entry information",
136
+ cb_paymentAdviceIdentifier: "Payment advice identifier",
137
+ cb_rejectCode: "Reject code",
138
+ cb_chargebackRemittanceInformation: "Chargeback remittance information",
139
+ cb_chargebackReason: "Chargeback reason",
140
+ cb_paymentAdviceDate: "Payment advice date",
141
+ cb_initiatedDate: "Initiated date",
142
+ cb_fileName: "File name",
143
+ cb_sepaProduct: "SEPA product",
144
+ cb_product: "Product",
145
+ cb_customerNumber: "Customer number",
146
+ cb_customerName: "Customer name",
147
+ cb_customerBic: "Customer BIC",
148
+ cb_customerIban: "Customer IBAN",
149
+ cb_transactionInformation: "Transaction Information",
150
+ cb_invoiceNumber: "Invoice number",
151
+ cb_additionalInformation: "Additional Information",
152
+ cb_additionalInformation2: "Additional Information 2",
153
+ cb_additionalInformation3: "Additional Information 3",
154
+ cb_additionalInformation4: "Additional Information 4",
155
+ cb_merchantName: "Merchant name",
156
+ cb_accountName: "Account name",
157
+ cb_endToEndId: "End to end id",
158
+ cb_iban4u: "Iban4U"
159
+ };
160
+
161
+ export const finXPCSVToChargebackColumn: Partial<Record<keyof TransactionFinXPChargeback, string>> = {
162
+ status: "Status",
163
+ chargebackDate: "Chargeback date",
164
+ statementDate: "Statement date",
165
+ chargebackAmount: "Chargeback amount",
166
+ initiatedAmount: "Initiated amount",
167
+ bankFees: "Bank fees",
168
+ currency: "Currency",
169
+ chargebackEntryInformation: "Chargeback entry information",
170
+ paymentAdviceIdentifier: "Payment advice identifier",
171
+ rejectCode: "Reject code",
172
+ chargebackRemittanceInformation: "Chargeback remittance information",
173
+ chargebackReason: "Chargeback reason",
174
+ paymentAdviceDate: "Payment advice date",
175
+ initiatedDate: "Initiated date",
176
+ fileName: "File name",
177
+ sepaProduct: "SEPA product",
178
+ product: "Product",
179
+ customerNumber: "Customer number",
180
+ customerName: "Customer name",
181
+ customerBic: "Customer BIC",
182
+ customerIban: "Customer IBAN",
183
+ transactionInformation: "Transaction Information",
184
+ invoiceNumber: "Invoice number",
185
+ additionalInformation: "Additional Information",
186
+ additionalInformation2: "Additional Information 2",
187
+ additionalInformation3: "Additional Information 3",
188
+ additionalInformation4: "Additional Information 4",
189
+ merchantName: "Merchant name",
190
+ accountName: "Account name",
191
+ endToEndId: "End to end id",
192
+ iban4u: "Iban4U",
193
+ };
@@ -0,0 +1,224 @@
1
+ import { Transaction } from "../../../model/transaction.model";
2
+ import { BANKS } from "../../../model/gateway.model";
3
+
4
+ export const NOVALNET_STATUS_DESC = {
5
+ SUCCESS: 'SUCCESS',
6
+ PENDING: 'PENDING',
7
+ FAILED: 'FAILED',
8
+ CONFIRMED: 'CONFIRMED',
9
+ CANCELLED: 'CANCELLED',
10
+ REFUNDED: 'REFUNDED',
11
+ CHARGEBACK: 'CHARGEBACK',
12
+ REJECTED: 'REJECTED',
13
+ DECLINED: 'DECLINED',
14
+ ON_HOLD: 'ON_HOLD',
15
+ PROCESSING: 'PROCESSING'
16
+ } as const;
17
+ export type NOVALNET_STATUS_DESC = (typeof NOVALNET_STATUS_DESC)[keyof typeof NOVALNET_STATUS_DESC];
18
+
19
+ export function isTransactionNovalnet(t: Transaction): t is TransactionNovalNet {
20
+ return t?.bank === BANKS.Novalnet;
21
+ }
22
+
23
+ export interface TransactionNovalNet extends Transaction {
24
+ bank: typeof BANKS.Novalnet;
25
+ id?: number;
26
+ date?: string;
27
+ time?: string;
28
+ activationDate?: string;
29
+ activationTime?: string;
30
+ tid?: string;
31
+ status?: string;
32
+ statusDesc?: string;
33
+ paymentType?: string;
34
+ invoiceType?: string;
35
+ invoiceRef?: string;
36
+ amount?: string;
37
+ currency?: string;
38
+ amountEur?: string;
39
+ cost?: string;
40
+ tax?: string;
41
+ costInclTax?: string;
42
+ fixCommissionAmount?: string;
43
+ fixCommissionAmountEur?: string;
44
+ payoutAmount?: string;
45
+ payoutCurrency?: string;
46
+ origAmount?: string;
47
+ origTid?: string;
48
+ origDate?: string;
49
+ description?: string;
50
+ marker?: string;
51
+ novalcardNumber?: string;
52
+ customerNumber?: number; //subscriptionId
53
+ orderNumber?: number; //orderId
54
+ gender?: string;
55
+ firstName?: string;
56
+ lastName?: string;
57
+ email?: string;
58
+ street?: string;
59
+ houseNumber?: string;
60
+ zipCode?: string;
61
+ city?: string;
62
+ countryCode?: string;
63
+ birthdate?: string;
64
+ company?: string;
65
+ input1?: string;
66
+ inputVal1?: string;
67
+ input2?: string;
68
+ inputVal2?: string;
69
+ input3?: string;
70
+ inputVal3?: string;
71
+ input4?: string;
72
+ inputVal4?: string;
73
+ refundAmount?: string;
74
+ refundTid?: string;
75
+ refundDate?: string;
76
+ refundRef?: string;
77
+ returnAmount?: string;
78
+ returnTid?: string;
79
+ returnDate?: string;
80
+ returnCode?: string;
81
+ returnReason?: string;
82
+ creditAmount?: string;
83
+ creditTid?: string;
84
+ creditDate?: string;
85
+ openAmount?: string;
86
+ paymentInfo1?: string;
87
+ paymentInfo2?: string;
88
+ paymentInfo3?: string;
89
+ paymentInfo4?: string;
90
+ subscription?: string;
91
+ startAmount?: string;
92
+ startTid?: string;
93
+ startDate?: string;
94
+ fraudModules?: string;
95
+ rejectedFraudModule?: string;
96
+ projectId?: string;
97
+ projectName?: string;
98
+ tariffId?: string;
99
+ tariffName?: string;
100
+ affiliateId?: string;
101
+ affiliateName?: string;
102
+ merchantId?: string;
103
+ mobile?: string;
104
+ countryName?: string;
105
+ paymentName?: string;
106
+ streetAndHouseNo?: string;
107
+ dateAndTime?: string;
108
+ activationDateAndTime?: string;
109
+ input5?: string;
110
+ inputVal5?: string;
111
+ ipCountry?: string;
112
+ internetServiceProvider?: string;
113
+ paymentReference?: string;
114
+ buergelScore?: string;
115
+ paymentInfo5?: string;
116
+ paymentInfo6?: string;
117
+ subscriptionId?: string | number;
118
+ vatId?: string;
119
+ paymentInfo7?: string;
120
+ accountingReference?: string;
121
+ novalnetEndcustomerInvoiceNumber?: string;
122
+ }
123
+
124
+ export const novalNetTransactionColumnMapper: Partial<Record<keyof TransactionNovalNet, string>> = {
125
+ date: "Date",
126
+ time: "Time",
127
+ activationDate: "Activation date",
128
+ activationTime: "Activation time",
129
+ tid: "TID",
130
+ status: "Status",
131
+ statusDesc: "Status desc",
132
+ paymentType: "Payment type",
133
+ invoiceType: "Invoice type",
134
+ invoiceRef: "Invoice ref",
135
+ amount: "Amount",
136
+ currency: "Currency",
137
+ amountEur: "Amount (EUR)",
138
+ cost: "Cost",
139
+ tax: "Tax",
140
+ costInclTax: "Cost incl. Tax",
141
+ fixCommissionAmount: "Fix commission amount",
142
+ fixCommissionAmountEur: "Fix commission amount (EUR)",
143
+ payoutAmount: "Payout amount",
144
+ payoutCurrency: "Payout currency",
145
+ origAmount: "Orig amount",
146
+ origTid: "Orig TID",
147
+ origDate: "Orig date",
148
+ description: "Description",
149
+ marker: "Marker",
150
+ novalcardNumber: "Novalcard number",
151
+ customerNumber: "Customer number",
152
+ orderNumber: "Order number",
153
+ gender: "Gender",
154
+ firstName: "First name",
155
+ lastName: "Last name",
156
+ email: "Email",
157
+ street: "Street",
158
+ houseNumber: "House number",
159
+ zipCode: "Zip code",
160
+ city: "City",
161
+ countryCode: "Country code",
162
+ birthdate: "Birthdate",
163
+ company: "Company",
164
+ input1: "Input1",
165
+ inputVal1: "Input val1",
166
+ input2: "Input2",
167
+ inputVal2: "Input val2",
168
+ input3: "Input3",
169
+ inputVal3: "Input val3",
170
+ input4: "Input4",
171
+ inputVal4: "Input val4",
172
+ refundAmount: "Refund amount",
173
+ refundTid: "Refund TID",
174
+ refundDate: "Refund date",
175
+ refundRef: "Refund ref",
176
+ returnAmount: "Return amount",
177
+ returnTid: "Return TID",
178
+ returnDate: "Return date",
179
+ returnCode: "Return code",
180
+ returnReason: "Return reason",
181
+ creditAmount: "Credit amount",
182
+ creditTid: "Credit TID",
183
+ creditDate: "Credit date",
184
+ openAmount: "Open amount",
185
+ paymentInfo1: "Payment info1",
186
+ paymentInfo2: "Payment info2",
187
+ paymentInfo3: "Payment info3",
188
+ paymentInfo4: "Payment info4",
189
+ subscription: "Subscription",
190
+ startAmount: "Start amount",
191
+ startTid: "Start TID",
192
+ startDate: "Start date",
193
+ fraudModules: "Fraud modules",
194
+ rejectedFraudModule: "Rejected fraud module",
195
+ projectId: "Project ID",
196
+ projectName: "Project name",
197
+ tariffId: "Tariff ID",
198
+ tariffName: "Tariff name",
199
+ affiliateId: "Affiliate ID",
200
+ affiliateName: "Affiliate name",
201
+ merchantId: "Merchant ID",
202
+ mobile: "Mobile",
203
+ countryName: "Country name",
204
+ paymentName: "Payment name",
205
+ streetAndHouseNo: "Street and House no",
206
+ dateAndTime: "Date and Time",
207
+ activationDateAndTime: "Activation date and time",
208
+ input5: "Input5",
209
+ inputVal5: "Input val5",
210
+ ipCountry: "IP country",
211
+ internetServiceProvider: "Internet service provider",
212
+ paymentReference: "Payment reference",
213
+ buergelScore: "Bürgel score",
214
+ paymentInfo5: "Payment info5",
215
+ paymentInfo6: "Payment info6",
216
+ subscriptionId: "Subscription ID",
217
+ vatId: "VAT ID",
218
+ paymentInfo7: "Payment info7",
219
+ accountingReference: "Accounting reference",
220
+ novalnetEndcustomerInvoiceNumber: "Novalnet Endcustomer invoice number"
221
+ };
222
+
223
+ export const novalNetTransactionColumnKeys = Object.keys(novalNetTransactionColumnMapper);
224
+ export const novalNetTransactionColumnValues = Object.values(novalNetTransactionColumnMapper);
@@ -0,0 +1,30 @@
1
+ export const GENESIS_TRANSACTION_TYPE_BY_PAYMENT_METHOD = {
2
+ SEPA_DD: {
3
+ SDD_SALE: "sdd_sale",
4
+ SDD_REFUND: "sdd_refund"
5
+ },
6
+ CREDIT_CARD: {
7
+ SALE: "sale",
8
+ REFUND: "refund",
9
+ CHARGEBACK: "chargeback",
10
+ },
11
+ };
12
+
13
+ export const GENESIS_TRANSACTION_TYPE = {
14
+ SDD_SALE: "sdd_sale",
15
+ SDD_REFUND: "sdd_refund"
16
+ };
17
+ export type GENESIS_TRANSACTION_TYPE = (typeof GENESIS_TRANSACTION_TYPE)[keyof typeof GENESIS_TRANSACTION_TYPE];
18
+
19
+ export const GENESIS_TRANSACTION_STATUS = {
20
+ APPROVED: "approved",
21
+ PENDING_ASYNC: "pending_async",
22
+ ERROR: "error"
23
+ };
24
+ export type GENESIS_TRANSACTION_STATUS = (typeof GENESIS_TRANSACTION_STATUS)[keyof typeof GENESIS_TRANSACTION_STATUS];
25
+
26
+ export const GENESIS_TRANSACTION_MODE = {
27
+ LIVE: "live",
28
+ TEST: "test"
29
+ };
30
+ export type GENESIS_TRANSACTION_MODE = (typeof GENESIS_TRANSACTION_MODE)[keyof typeof GENESIS_TRANSACTION_MODE];
@@ -0,0 +1,89 @@
1
+ import { GENESIS_TRANSACTION_TYPE } from "./genesis.constants";
2
+ import { GENESIS_TRANSACTION_STATUS } from "./genesis.constants";
3
+ import { GENESIS_TRANSACTION_MODE } from "./genesis.constants";
4
+
5
+ export interface GenesisConfig {
6
+ customer: {
7
+ username?: string;
8
+ password?: string;
9
+ token?: string;
10
+ force_smart_routing?: boolean;
11
+ };
12
+ gateway: {
13
+ protocol?: string;
14
+ hostname?: string; //endpoint-you-want e-comprocessing.net or emerchantpay.net
15
+ timeout?: string;
16
+ testing: boolean;
17
+ };
18
+ notifications?: {
19
+ host: string;
20
+ port: string;
21
+ path: string;
22
+ };
23
+ }
24
+
25
+ export interface GenesisSddSaleParams {
26
+ transaction_id: string; //orderId
27
+ usage: string;
28
+ remote_ip: string;
29
+ amount: string;
30
+ currency: string;
31
+ iban: string;
32
+ bic: string;
33
+ billing_address: {
34
+ first_name: string;
35
+ last_name: string;
36
+ city: string;
37
+ address1: string;
38
+ country: string;
39
+ zip_code: string;
40
+ };
41
+ }
42
+
43
+ export interface GenesisResponse {
44
+ transaction_type?: GENESIS_TRANSACTION_TYPE;
45
+ status: GENESIS_TRANSACTION_STATUS;
46
+ unique_id: string; //EMP transactionId
47
+ transaction_id?: string; //orderId. When we download CSV from the bank, this value is present in "Merchant Transaction ID"
48
+ bank_account_number?: string;
49
+ bank_identifier_code?: string;
50
+ technical_message?: string;
51
+ code?: string;
52
+ message?: string;
53
+ mode?: GENESIS_TRANSACTION_MODE,
54
+ timestamp?: string; //"2025-10-27T14:42:27Z"
55
+ descriptor?: string;
56
+ amount?: string;
57
+ currency?: string;
58
+ sent_to_acquirer?: boolean;
59
+ }
60
+
61
+ export interface GenesisRiconcileByDateResponse {
62
+ page: number
63
+ per_page: number
64
+ total_count: number;
65
+ pages_count: number;
66
+ payment_response: GenesisResponse[];
67
+ }
68
+
69
+ export interface GenesisRefundParams {
70
+ transactionId: string;
71
+ }
72
+
73
+ export interface GenesisChargebackParams {
74
+ transactionId: string;
75
+ }
76
+
77
+ export interface GenesisError {
78
+ status: string;
79
+ code?: string;
80
+ message?: string;
81
+ technical_message?: string;
82
+ response?: GenesisFieldError[];
83
+ }
84
+
85
+ export interface GenesisFieldError {
86
+ type: string;
87
+ property: string;
88
+ message: string;
89
+ }
@@ -0,0 +1,119 @@
1
+ export interface NovalNetSddSaleParams {
2
+ vendorId: string;
3
+ vendorAuthcode: string;
4
+ productId: string;
5
+ tariffId: string;
6
+ testMode: string;
7
+ amount: string;
8
+ currency: string;
9
+ tariffPeriod: string;
10
+ tariffPeriod2: string;
11
+ tariffPeriod2Amount: string;
12
+ utf8: string;
13
+ lang: string;
14
+ orderNo: string;
15
+ customerNo: string;
16
+ gender: string;
17
+ title: string;
18
+ firstName: string;
19
+ lastName: string;
20
+ street: string;
21
+ searchInStreet: string;
22
+ zip: string;
23
+ city: string;
24
+ countryCode: string;
25
+ birthDate: string;
26
+ tel: string;
27
+ mobile: string;
28
+ email: string;
29
+ paymentType: string;
30
+ invoiceType: string;
31
+ dueDate: string;
32
+ invoiceRef: string;
33
+ paymentRef: string;
34
+ tid: string;
35
+ sepaDueDate: string;
36
+ mandatePresent: string;
37
+ mandateSignatureDate: string;
38
+ mandateId: string;
39
+ iban: string;
40
+ bic: string;
41
+ debitAccountHolder: string;
42
+ debitReason1: string;
43
+ debitReason2: string;
44
+ debitReason3: string;
45
+ debitReason4: string;
46
+ debitReason5: string;
47
+ input1: string;
48
+ input2: string;
49
+ input3: string;
50
+ input4: string;
51
+ input5: string;
52
+ input6: string;
53
+ input7: string;
54
+ discount: string;
55
+ mref: string;
56
+ createPaymentRef: string;
57
+ noRc: string;
58
+ }
59
+
60
+ export const novalNetSDDRequestColumnMapper: Partial<Record<keyof NovalNetSddSaleParams, string>> = {
61
+ vendorId: "vendor_id",
62
+ vendorAuthcode: "vendor_authcode",
63
+ productId: "product_id",
64
+ tariffId: "tariff_id",
65
+ testMode: "test_mode",
66
+ amount: "amount",
67
+ currency: "currency",
68
+ tariffPeriod: "tariff_period",
69
+ tariffPeriod2: "tariff_period2",
70
+ tariffPeriod2Amount: "tariff_period2_amount",
71
+ utf8: "utf8",
72
+ lang: "lang",
73
+ orderNo: "order_no",
74
+ customerNo: "customer_no",
75
+ gender: "gender",
76
+ title: "title",
77
+ firstName: "first_name",
78
+ lastName: "last_name",
79
+ street: "street",
80
+ searchInStreet: "search_in_street",
81
+ zip: "zip",
82
+ city: "city",
83
+ countryCode: "country_code",
84
+ birthDate: "birth_date",
85
+ tel: "tel",
86
+ mobile: "mobile",
87
+ email: "email",
88
+ paymentType: "payment_type",
89
+ invoiceType: "invoice_type",
90
+ dueDate: "due_date",
91
+ invoiceRef: "invoice_ref",
92
+ paymentRef: "payment_ref",
93
+ tid: "tid",
94
+ sepaDueDate: "sepa_due_date",
95
+ mandatePresent: "mandate_present",
96
+ mandateSignatureDate: "mandate_signature_date",
97
+ mandateId: "mandate_id",
98
+ iban: "iban",
99
+ bic: "bic",
100
+ debitAccountHolder: "debit_account_holder",
101
+ debitReason1: "debit_reason_1",
102
+ debitReason2: "debit_reason_2",
103
+ debitReason3: "debit_reason_3",
104
+ debitReason4: "debit_reason_4",
105
+ debitReason5: "debit_reason_5",
106
+ input1: "input1",
107
+ input2: "input2",
108
+ input3: "input3",
109
+ input4: "input4",
110
+ input5: "input5",
111
+ input6: "input6",
112
+ input7: "input7",
113
+ discount: "discount",
114
+ mref: "mref",
115
+ createPaymentRef: "create_payment_ref",
116
+ noRc: "no_rc",
117
+ };
118
+ export const novalNetSDDRequestColumnMapperKeys = Object.keys(novalNetSDDRequestColumnMapper);
119
+ export const novalNetSDDRequestColumnMapperValues = Object.values(novalNetSDDRequestColumnMapper);