@oneblink/sdk-core 7.2.0-beta.1 → 7.3.0-beta.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.
- package/dist/paymentService.d.ts +35 -0
- package/dist/paymentService.js +276 -1
- package/dist/paymentService.js.map +1 -1
- package/package.json +1 -1
package/dist/paymentService.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { FormTypes, SubmissionEventTypes, SubmissionTypes } from '@oneblink/types';
|
|
2
|
+
import { ReplaceInjectablesFormatters } from './submissionService';
|
|
2
3
|
/**
|
|
3
4
|
* Examine a submission and its form definition to validate whether a payment
|
|
4
5
|
* workflow event needs to run.
|
|
@@ -17,3 +18,37 @@ export declare function checkForPaymentEvent(definition: FormTypes.Form, submiss
|
|
|
17
18
|
paymentSubmissionEvent: SubmissionEventTypes.FormPaymentEvent;
|
|
18
19
|
amount: number;
|
|
19
20
|
} | undefined;
|
|
21
|
+
type PaymentDisplayDetail = {
|
|
22
|
+
label: string;
|
|
23
|
+
value: string;
|
|
24
|
+
/** A key to identify the detail */
|
|
25
|
+
key: string;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Retrieve an array of detail items from a form submission payment.
|
|
29
|
+
*
|
|
30
|
+
* #### Example
|
|
31
|
+
*
|
|
32
|
+
* ```js
|
|
33
|
+
* const detailItems =
|
|
34
|
+
* paymentService.getDisplayDetailsFromFormSubmissionPayment({
|
|
35
|
+
* formSubmissionPayment,
|
|
36
|
+
* formatCurrency,
|
|
37
|
+
* })
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @param options
|
|
41
|
+
* @returns
|
|
42
|
+
*/
|
|
43
|
+
export declare const getDisplayDetailsFromFormSubmissionPayment: ({ formSubmissionPayment, formatCurrency, formatDateTime, }: {
|
|
44
|
+
/** The form submission payment to get the details from */
|
|
45
|
+
formSubmissionPayment: SubmissionTypes.FormSubmissionPayment;
|
|
46
|
+
/** A function to format any curreny values */
|
|
47
|
+
formatCurrency: ReplaceInjectablesFormatters['formatCurrency'];
|
|
48
|
+
/**
|
|
49
|
+
* A function to format any dates. If this is not passed, datetimes will be
|
|
50
|
+
* returned as iso strings.
|
|
51
|
+
*/
|
|
52
|
+
formatDateTime: ReplaceInjectablesFormatters['formatDateTime'];
|
|
53
|
+
}) => PaymentDisplayDetail[];
|
|
54
|
+
export {};
|
package/dist/paymentService.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.checkForPaymentEvent = void 0;
|
|
3
|
+
exports.getDisplayDetailsFromFormSubmissionPayment = exports.checkForPaymentEvent = void 0;
|
|
4
4
|
const _1 = require(".");
|
|
5
5
|
const submissionService_1 = require("./submissionService");
|
|
6
6
|
/**
|
|
@@ -55,4 +55,279 @@ function checkForPaymentEvent(definition, submission) {
|
|
|
55
55
|
return result;
|
|
56
56
|
}
|
|
57
57
|
exports.checkForPaymentEvent = checkForPaymentEvent;
|
|
58
|
+
/**
|
|
59
|
+
* Retrieve an array of detail items from a form submission payment.
|
|
60
|
+
*
|
|
61
|
+
* #### Example
|
|
62
|
+
*
|
|
63
|
+
* ```js
|
|
64
|
+
* const detailItems =
|
|
65
|
+
* paymentService.getDisplayDetailsFromFormSubmissionPayment({
|
|
66
|
+
* formSubmissionPayment,
|
|
67
|
+
* formatCurrency,
|
|
68
|
+
* })
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* @param options
|
|
72
|
+
* @returns
|
|
73
|
+
*/
|
|
74
|
+
const getDisplayDetailsFromFormSubmissionPayment = ({ formSubmissionPayment, formatCurrency, formatDateTime, }) => {
|
|
75
|
+
var _a, _b;
|
|
76
|
+
switch (formSubmissionPayment.type) {
|
|
77
|
+
case 'NSW_GOV_PAY': {
|
|
78
|
+
const { paymentTransaction } = formSubmissionPayment;
|
|
79
|
+
if (!paymentTransaction || !paymentTransaction.agencyCompletionPayment) {
|
|
80
|
+
return [];
|
|
81
|
+
}
|
|
82
|
+
return [
|
|
83
|
+
{
|
|
84
|
+
key: 'completionReference',
|
|
85
|
+
label: 'Completion Reference',
|
|
86
|
+
value: paymentTransaction.agencyCompletionPayment
|
|
87
|
+
.paymentCompletionReference,
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
key: 'paymentReference',
|
|
91
|
+
label: 'Payment Reference',
|
|
92
|
+
value: paymentTransaction.agencyCompletionPayment.paymentReference,
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
key: 'bankReference',
|
|
96
|
+
label: 'Bank Reference',
|
|
97
|
+
value: paymentTransaction.agencyCompletionPayment.bankReference,
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
key: 'paymentMethod',
|
|
101
|
+
label: 'Payment Method',
|
|
102
|
+
value: paymentTransaction.agencyCompletionPayment.paymentMethod,
|
|
103
|
+
},
|
|
104
|
+
...(paymentTransaction.agencyCompletionPayment.paymentMethod ===
|
|
105
|
+
'BPAY' && ((_a = paymentTransaction.agencyCompletionPayment.bPay) === null || _a === void 0 ? void 0 : _a.billerCode)
|
|
106
|
+
? [
|
|
107
|
+
{
|
|
108
|
+
key: 'billerCode',
|
|
109
|
+
label: 'BPay Biller Code',
|
|
110
|
+
value: paymentTransaction.agencyCompletionPayment.bPay.billerCode,
|
|
111
|
+
},
|
|
112
|
+
]
|
|
113
|
+
: []),
|
|
114
|
+
...(paymentTransaction.agencyCompletionPayment.paymentMethod === 'CARD'
|
|
115
|
+
? [
|
|
116
|
+
{
|
|
117
|
+
key: 'creditCardMask',
|
|
118
|
+
label: 'Card Number',
|
|
119
|
+
value: `xxxx xxxx xxxx ${(_b = paymentTransaction.agencyCompletionPayment.card) === null || _b === void 0 ? void 0 : _b.last4Digits}`,
|
|
120
|
+
},
|
|
121
|
+
]
|
|
122
|
+
: []),
|
|
123
|
+
{
|
|
124
|
+
key: 'amount',
|
|
125
|
+
label: 'Amount',
|
|
126
|
+
value: formatCurrency(paymentTransaction.agencyCompletionPayment.amount),
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
key: 'surchargeAmount',
|
|
130
|
+
label: 'Surcharge Amount',
|
|
131
|
+
value: formatCurrency(paymentTransaction.agencyCompletionPayment.surcharge),
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
key: 'surchargeGST',
|
|
135
|
+
label: 'Surcharge GST',
|
|
136
|
+
value: formatCurrency(paymentTransaction.agencyCompletionPayment.surchargeGst),
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
key: 'createdDateTime',
|
|
140
|
+
label: 'Created Date Time',
|
|
141
|
+
value: formatDateTime(formSubmissionPayment.createdAt),
|
|
142
|
+
},
|
|
143
|
+
];
|
|
144
|
+
}
|
|
145
|
+
case 'BPOINT': {
|
|
146
|
+
const { paymentTransaction } = formSubmissionPayment;
|
|
147
|
+
if (!paymentTransaction) {
|
|
148
|
+
return [];
|
|
149
|
+
}
|
|
150
|
+
return [
|
|
151
|
+
{
|
|
152
|
+
key: 'receiptNumber',
|
|
153
|
+
label: 'Receipt Number',
|
|
154
|
+
value: paymentTransaction.ReceiptNumber,
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
key: 'crn1',
|
|
158
|
+
label: 'CRN 1',
|
|
159
|
+
value: paymentTransaction.Crn1,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
key: 'crn2',
|
|
163
|
+
label: 'CRN 2',
|
|
164
|
+
value: paymentTransaction.Crn2,
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
key: 'crn3',
|
|
168
|
+
label: 'CRN 3',
|
|
169
|
+
value: paymentTransaction.Crn3,
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
key: 'billerCode',
|
|
173
|
+
label: 'Biller Code',
|
|
174
|
+
value: paymentTransaction.BillerCode,
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
key: 'creditCardMask',
|
|
178
|
+
label: 'Card Number',
|
|
179
|
+
value: paymentTransaction.CardDetails.MaskedCardNumber,
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
key: 'amount',
|
|
183
|
+
label: 'Amount',
|
|
184
|
+
value: formatCurrency(paymentTransaction.Amount / 100),
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
key: 'surchargeAmount',
|
|
188
|
+
label: 'Surcharge Amount',
|
|
189
|
+
value: formatCurrency(paymentTransaction.AmountSurcharge / 100),
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
key: 'processedDateTime',
|
|
193
|
+
label: 'Processed Date Time',
|
|
194
|
+
value: formatDateTime(paymentTransaction.ProcessedDateTime),
|
|
195
|
+
},
|
|
196
|
+
];
|
|
197
|
+
}
|
|
198
|
+
case 'CP_PAY': {
|
|
199
|
+
const { paymentTransaction } = formSubmissionPayment;
|
|
200
|
+
if (!paymentTransaction) {
|
|
201
|
+
return [];
|
|
202
|
+
}
|
|
203
|
+
const determineDetails = () => {
|
|
204
|
+
var _a, _b;
|
|
205
|
+
switch (paymentTransaction.cpPayVersion) {
|
|
206
|
+
case 'v2': {
|
|
207
|
+
return {
|
|
208
|
+
transactionId: paymentTransaction.result.id,
|
|
209
|
+
orderNumber: (_a = paymentTransaction.result.externalReferenceId) !== null && _a !== void 0 ? _a : undefined,
|
|
210
|
+
paymentType: paymentTransaction.result.paymentType,
|
|
211
|
+
creditCardMask: paymentTransaction.result.lastFour
|
|
212
|
+
? `xxxx xxxx xxxx ${paymentTransaction.result.lastFour}`
|
|
213
|
+
: undefined,
|
|
214
|
+
amount: paymentTransaction.result.amount !== undefined
|
|
215
|
+
? formatCurrency(paymentTransaction.result.amount)
|
|
216
|
+
: 'Unknown',
|
|
217
|
+
createdDateTime: paymentTransaction.result.createdOnUtc,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
default: {
|
|
221
|
+
return {
|
|
222
|
+
transactionId: paymentTransaction.transactionId,
|
|
223
|
+
orderNumber: (_b = paymentTransaction.orderNumber) !== null && _b !== void 0 ? _b : undefined,
|
|
224
|
+
paymentType: paymentTransaction.paymentTypeId === 1
|
|
225
|
+
? 'Credit/Debit Card'
|
|
226
|
+
: paymentTransaction.paymentTypeId === 2
|
|
227
|
+
? 'ACH'
|
|
228
|
+
: undefined,
|
|
229
|
+
creditCardMask: paymentTransaction.lastFour
|
|
230
|
+
? `xxxx xxxx xxxx ${paymentTransaction.lastFour}`
|
|
231
|
+
: undefined,
|
|
232
|
+
amount: formatCurrency(paymentTransaction.amount),
|
|
233
|
+
createdDateTime: paymentTransaction.createdAt,
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
const { transactionId, orderNumber, paymentType, creditCardMask, amount, createdDateTime, } = determineDetails();
|
|
239
|
+
const result = [];
|
|
240
|
+
if (transactionId) {
|
|
241
|
+
result.push({
|
|
242
|
+
key: 'transactionId',
|
|
243
|
+
label: 'Transaction Id',
|
|
244
|
+
value: transactionId,
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
if (orderNumber) {
|
|
248
|
+
result.push({
|
|
249
|
+
key: 'orderNumber',
|
|
250
|
+
label: 'Order Number',
|
|
251
|
+
value: orderNumber,
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
if (paymentType) {
|
|
255
|
+
result.push({
|
|
256
|
+
key: 'paymentType',
|
|
257
|
+
label: 'Payment Type',
|
|
258
|
+
value: paymentType,
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
if (creditCardMask) {
|
|
262
|
+
result.push({
|
|
263
|
+
key: 'creditCardMask',
|
|
264
|
+
label: 'Card Number',
|
|
265
|
+
value: creditCardMask,
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
if (amount) {
|
|
269
|
+
result.push({
|
|
270
|
+
key: 'amount',
|
|
271
|
+
label: 'Amount',
|
|
272
|
+
value: amount,
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
if (createdDateTime) {
|
|
276
|
+
result.push({
|
|
277
|
+
key: 'createdDateTime',
|
|
278
|
+
label: 'Created At',
|
|
279
|
+
value: formatDateTime(createdDateTime),
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
return result;
|
|
283
|
+
}
|
|
284
|
+
case 'WESTPAC_QUICK_STREAM': {
|
|
285
|
+
const { paymentTransaction } = formSubmissionPayment;
|
|
286
|
+
if (!paymentTransaction) {
|
|
287
|
+
return [];
|
|
288
|
+
}
|
|
289
|
+
return [
|
|
290
|
+
{
|
|
291
|
+
key: 'receiptNumber',
|
|
292
|
+
label: 'Receipt Number',
|
|
293
|
+
value: paymentTransaction.receiptNumber,
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
key: 'paymentReferenceNumber',
|
|
297
|
+
label: 'Payment Reference',
|
|
298
|
+
value: paymentTransaction.paymentReferenceNumber,
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
key: 'customerReferenceNumber',
|
|
302
|
+
label: 'Customer Reference Number',
|
|
303
|
+
value: paymentTransaction.customerReferenceNumber,
|
|
304
|
+
},
|
|
305
|
+
...(paymentTransaction.totalAmount
|
|
306
|
+
? [
|
|
307
|
+
{
|
|
308
|
+
key: 'amount',
|
|
309
|
+
label: 'Amount',
|
|
310
|
+
value: formatCurrency(parseFloat(paymentTransaction.totalAmount.amount.toString())),
|
|
311
|
+
},
|
|
312
|
+
]
|
|
313
|
+
: []),
|
|
314
|
+
...(paymentTransaction.surchargeAmount.amount
|
|
315
|
+
? [
|
|
316
|
+
{
|
|
317
|
+
key: 'surchargeAmount',
|
|
318
|
+
label: 'Surcharge Amount',
|
|
319
|
+
value: formatCurrency(parseFloat(paymentTransaction.surchargeAmount.amount.toString())),
|
|
320
|
+
},
|
|
321
|
+
]
|
|
322
|
+
: []),
|
|
323
|
+
{
|
|
324
|
+
key: 'settlementDate',
|
|
325
|
+
label: 'Settlement Date',
|
|
326
|
+
value: formatDateTime(paymentTransaction.settlementDate),
|
|
327
|
+
},
|
|
328
|
+
];
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
};
|
|
332
|
+
exports.getDisplayDetailsFromFormSubmissionPayment = getDisplayDetailsFromFormSubmissionPayment;
|
|
58
333
|
//# sourceMappingURL=paymentService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paymentService.js","sourceRoot":"","sources":["../src/paymentService.ts"],"names":[],"mappings":";;;AAKA,wBAAgE;AAChE,2DAA6D;AAE7D;;;;;;;;;;;;;GAaG;AACH,SAAgB,oBAAoB,CAClC,UAA0B,EAC1B,UAA0D;IAO1D,MAAM,uBAAuB,GAAG,UAAU,CAAC,aAAa,IAAI,EAAE,CAAA;IAC9D,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,IAAI,CACzD,CAAC,sBAAsB,EAAE,EAAE;QACzB,OAAO,CACL,sBAAsB;YACtB,0BAAuB,CAAC,6BAA6B,CAAC;gBACpD,aAAa,EAAE,CAAC,CAAC,sBAAsB,CAAC,oBAAoB;gBAC5D,gCAAgC,EAC9B,CAAC,CAAC,sBAAsB,CAAC,yCAAyC;gBACpE,qBAAqB,EACnB,sBAAsB,CAAC,8BAA8B,IAAI,EAAE;gBAC7D,UAAU,EAAE,UAAU;gBACtB,YAAY,EAAE,UAAU,CAAC,QAAQ;aAClC,CAAC,CACH,CAAA;IACH,CAAC,CACF,CAAA;IAED,IAAI,CAAC,sBAAsB,EAAE;QAC3B,OAAM;KACP;IACD,OAAO,CAAC,GAAG,CACT,uEAAuE,CACxE,CAAA;IAED,MAAM,aAAa,GAAG,sBAAmB,CAAC,eAAe,CACvD,UAAU,CAAC,QAAQ,EACnB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,sBAAsB,CAAC,aAAa,CAAC,SAAS,CAC3E,CAAA;IACD,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE;QACnD,OAAO,CAAC,GAAG,CACT,2FAA2F,CAC5F,CAAA;QACD,MAAM,IAAI,KAAK,CACb,6KAA6K,CAC9K,CAAA;KACF;IAED,OAAO,CAAC,GAAG,CAAC,iDAAiD,EAAE,aAAa,CAAC,CAAA;IAE7E,MAAM,MAAM,GAAG,IAAA,2CAAuB,EACpC,aAAa,CAAC,EAAE,EAChB,UAAU,CAAC,QAAQ,EACnB,UAAU,CACX,CAAA;IAED,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,CAAC,GAAG,CACT,wHAAwH,CACzH,CAAA;QACD,OAAM;KACP;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAO,CAAC,GAAG,CACT,oFAAoF,CACrF,CAAA;QACD,MAAM,IAAI,KAAK,CACb,wKAAwK,CACzK,CAAA;KACF;IAED,MAAM,MAAM,GAAG;QACb,sBAAsB;QACtB,MAAM;KACP,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AA7ED,oDA6EC","sourcesContent":["import {\n FormTypes,\n SubmissionEventTypes,\n SubmissionTypes,\n} from '@oneblink/types'\nimport { conditionalLogicService, formElementsService } from '.'\nimport { getRootElementValueById } from './submissionService'\n\n/**\n * Examine a submission and its form definition to validate whether a payment\n * workflow event needs to run.\n *\n * #### Example\n *\n * ```js\n * const result = paymentService.checkForPaymentEvent(form, submission)\n * ```\n *\n * @param definition\n * @param submission\n * @returns\n */\nexport function checkForPaymentEvent(\n definition: FormTypes.Form,\n submission: SubmissionTypes.S3SubmissionData['submission'],\n):\n | {\n paymentSubmissionEvent: SubmissionEventTypes.FormPaymentEvent\n amount: number\n }\n | undefined {\n const paymentSubmissionEvents = definition.paymentEvents || []\n const paymentSubmissionEvent = paymentSubmissionEvents.find(\n (paymentSubmissionEvent) => {\n return (\n paymentSubmissionEvent &&\n conditionalLogicService.evaluateConditionalPredicates({\n isConditional: !!paymentSubmissionEvent.conditionallyExecute,\n requiresAllConditionalPredicates:\n !!paymentSubmissionEvent.requiresAllConditionallyExecutePredicates,\n conditionalPredicates:\n paymentSubmissionEvent.conditionallyExecutePredicates || [],\n submission: submission,\n formElements: definition.elements,\n })\n )\n },\n )\n\n if (!paymentSubmissionEvent) {\n return\n }\n console.log(\n 'Checking if submission with payment submission event needs processing',\n )\n\n const amountElement = formElementsService.findFormElement(\n definition.elements,\n (element) => element.id === paymentSubmissionEvent.configuration.elementId,\n )\n if (!amountElement || amountElement.type === 'page') {\n console.log(\n 'Form has a payment submission event but the amount element does not exist, throwing error',\n )\n throw new Error(\n 'We could not find the configuration required to make a payment. Please contact your administrator to ensure your application configuration has been completed successfully.',\n )\n }\n\n console.log('Found form element for payment submission event', amountElement)\n\n const amount = getRootElementValueById(\n amountElement.id,\n definition.elements,\n submission,\n )\n\n if (!amount) {\n console.log(\n 'Form has a payment submission event but the amount has been entered as 0 or not at all, finishing as normal submission',\n )\n return\n }\n\n if (typeof amount !== 'number') {\n console.log(\n 'Form has a payment submission event but the amount is not a number, throwing error',\n )\n throw new Error(\n 'The configuration required to make a payment is incorrect. Please contact your administrator to ensure your application configuration has been completed successfully.',\n )\n }\n\n const result = {\n paymentSubmissionEvent,\n amount,\n }\n\n return result\n}\n"]}
|
|
1
|
+
{"version":3,"file":"paymentService.js","sourceRoot":"","sources":["../src/paymentService.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n FormTypes,\n SubmissionEventTypes,\n SubmissionTypes,\n} from '@oneblink/types'\nimport { conditionalLogicService, formElementsService } from '.'\nimport {\n getRootElementValueById,\n ReplaceInjectablesFormatters,\n} from './submissionService'\n\n/**\n * Examine a submission and its form definition to validate whether a payment\n * workflow event needs to run.\n *\n * #### Example\n *\n * ```js\n * const result = paymentService.checkForPaymentEvent(form, submission)\n * ```\n *\n * @param definition\n * @param submission\n * @returns\n */\nexport function checkForPaymentEvent(\n definition: FormTypes.Form,\n submission: SubmissionTypes.S3SubmissionData['submission'],\n):\n | {\n paymentSubmissionEvent: SubmissionEventTypes.FormPaymentEvent\n amount: number\n }\n | undefined {\n const paymentSubmissionEvents = definition.paymentEvents || []\n const paymentSubmissionEvent = paymentSubmissionEvents.find(\n (paymentSubmissionEvent) => {\n return (\n paymentSubmissionEvent &&\n conditionalLogicService.evaluateConditionalPredicates({\n isConditional: !!paymentSubmissionEvent.conditionallyExecute,\n requiresAllConditionalPredicates:\n !!paymentSubmissionEvent.requiresAllConditionallyExecutePredicates,\n conditionalPredicates:\n paymentSubmissionEvent.conditionallyExecutePredicates || [],\n submission: submission,\n formElements: definition.elements,\n })\n )\n },\n )\n\n if (!paymentSubmissionEvent) {\n return\n }\n console.log(\n 'Checking if submission with payment submission event needs processing',\n )\n\n const amountElement = formElementsService.findFormElement(\n definition.elements,\n (element) => element.id === paymentSubmissionEvent.configuration.elementId,\n )\n if (!amountElement || amountElement.type === 'page') {\n console.log(\n 'Form has a payment submission event but the amount element does not exist, throwing error',\n )\n throw new Error(\n 'We could not find the configuration required to make a payment. Please contact your administrator to ensure your application configuration has been completed successfully.',\n )\n }\n\n console.log('Found form element for payment submission event', amountElement)\n\n const amount = getRootElementValueById(\n amountElement.id,\n definition.elements,\n submission,\n )\n\n if (!amount) {\n console.log(\n 'Form has a payment submission event but the amount has been entered as 0 or not at all, finishing as normal submission',\n )\n return\n }\n\n if (typeof amount !== 'number') {\n console.log(\n 'Form has a payment submission event but the amount is not a number, throwing error',\n )\n throw new Error(\n 'The configuration required to make a payment is incorrect. Please contact your administrator to ensure your application configuration has been completed successfully.',\n )\n }\n\n const result = {\n paymentSubmissionEvent,\n amount,\n }\n\n return result\n}\n\ntype PaymentDisplayDetail = {\n label: string\n value: string\n /** A key to identify the detail */\n key: string\n}\n\n/**\n * Retrieve an array of detail items from a form submission payment.\n *\n * #### Example\n *\n * ```js\n * const detailItems =\n * paymentService.getDisplayDetailsFromFormSubmissionPayment({\n * formSubmissionPayment,\n * formatCurrency,\n * })\n * ```\n *\n * @param options\n * @returns\n */\nexport const getDisplayDetailsFromFormSubmissionPayment = ({\n formSubmissionPayment,\n formatCurrency,\n formatDateTime,\n}: {\n /** The form submission payment to get the details from */\n formSubmissionPayment: SubmissionTypes.FormSubmissionPayment\n /** A function to format any curreny values */\n formatCurrency: ReplaceInjectablesFormatters['formatCurrency']\n /**\n * A function to format any dates. If this is not passed, datetimes will be\n * returned as iso strings.\n */\n formatDateTime: ReplaceInjectablesFormatters['formatDateTime']\n}): PaymentDisplayDetail[] => {\n switch (formSubmissionPayment.type) {\n case 'NSW_GOV_PAY': {\n const { paymentTransaction } = formSubmissionPayment\n if (!paymentTransaction || !paymentTransaction.agencyCompletionPayment) {\n return []\n }\n return [\n {\n key: 'completionReference',\n label: 'Completion Reference',\n value:\n paymentTransaction.agencyCompletionPayment\n .paymentCompletionReference,\n },\n {\n key: 'paymentReference',\n label: 'Payment Reference',\n value: paymentTransaction.agencyCompletionPayment.paymentReference,\n },\n {\n key: 'bankReference',\n label: 'Bank Reference',\n value: paymentTransaction.agencyCompletionPayment.bankReference,\n },\n {\n key: 'paymentMethod',\n label: 'Payment Method',\n value: paymentTransaction.agencyCompletionPayment.paymentMethod,\n },\n ...(paymentTransaction.agencyCompletionPayment.paymentMethod ===\n 'BPAY' && paymentTransaction.agencyCompletionPayment.bPay?.billerCode\n ? [\n {\n key: 'billerCode',\n label: 'BPay Biller Code',\n value:\n paymentTransaction.agencyCompletionPayment.bPay.billerCode,\n },\n ]\n : []),\n ...(paymentTransaction.agencyCompletionPayment.paymentMethod === 'CARD'\n ? [\n {\n key: 'creditCardMask',\n label: 'Card Number',\n value: `xxxx xxxx xxxx ${paymentTransaction.agencyCompletionPayment.card?.last4Digits}`,\n },\n ]\n : []),\n {\n key: 'amount',\n label: 'Amount',\n value: formatCurrency(\n paymentTransaction.agencyCompletionPayment.amount,\n ),\n },\n {\n key: 'surchargeAmount',\n label: 'Surcharge Amount',\n value: formatCurrency(\n paymentTransaction.agencyCompletionPayment.surcharge,\n ),\n },\n {\n key: 'surchargeGST',\n label: 'Surcharge GST',\n value: formatCurrency(\n paymentTransaction.agencyCompletionPayment.surchargeGst,\n ),\n },\n {\n key: 'createdDateTime',\n label: 'Created Date Time',\n value: formatDateTime(formSubmissionPayment.createdAt),\n },\n ]\n }\n case 'BPOINT': {\n const { paymentTransaction } = formSubmissionPayment\n if (!paymentTransaction) {\n return []\n }\n return [\n {\n key: 'receiptNumber',\n label: 'Receipt Number',\n value: paymentTransaction.ReceiptNumber,\n },\n {\n key: 'crn1',\n label: 'CRN 1',\n value: paymentTransaction.Crn1,\n },\n {\n key: 'crn2',\n label: 'CRN 2',\n value: paymentTransaction.Crn2,\n },\n {\n key: 'crn3',\n label: 'CRN 3',\n value: paymentTransaction.Crn3,\n },\n {\n key: 'billerCode',\n label: 'Biller Code',\n value: paymentTransaction.BillerCode,\n },\n {\n key: 'creditCardMask',\n label: 'Card Number',\n value: paymentTransaction.CardDetails.MaskedCardNumber,\n },\n {\n key: 'amount',\n label: 'Amount',\n value: formatCurrency(paymentTransaction.Amount / 100),\n },\n {\n key: 'surchargeAmount',\n label: 'Surcharge Amount',\n value: formatCurrency(paymentTransaction.AmountSurcharge / 100),\n },\n {\n key: 'processedDateTime',\n label: 'Processed Date Time',\n value: formatDateTime(paymentTransaction.ProcessedDateTime),\n },\n ]\n }\n case 'CP_PAY': {\n const { paymentTransaction } = formSubmissionPayment\n if (!paymentTransaction) {\n return []\n }\n\n const determineDetails = () => {\n switch (paymentTransaction.cpPayVersion) {\n case 'v2': {\n return {\n transactionId: paymentTransaction.result.id,\n orderNumber:\n paymentTransaction.result.externalReferenceId ?? undefined,\n paymentType: paymentTransaction.result.paymentType,\n creditCardMask: paymentTransaction.result.lastFour\n ? `xxxx xxxx xxxx ${paymentTransaction.result.lastFour}`\n : undefined,\n amount:\n paymentTransaction.result.amount !== undefined\n ? formatCurrency(paymentTransaction.result.amount)\n : 'Unknown',\n createdDateTime: paymentTransaction.result.createdOnUtc,\n }\n }\n default: {\n return {\n transactionId: paymentTransaction.transactionId,\n orderNumber: paymentTransaction.orderNumber ?? undefined,\n paymentType:\n paymentTransaction.paymentTypeId === 1\n ? 'Credit/Debit Card'\n : paymentTransaction.paymentTypeId === 2\n ? 'ACH'\n : undefined,\n creditCardMask: paymentTransaction.lastFour\n ? `xxxx xxxx xxxx ${paymentTransaction.lastFour}`\n : undefined,\n amount: formatCurrency(paymentTransaction.amount),\n createdDateTime: paymentTransaction.createdAt,\n }\n }\n }\n }\n\n const {\n transactionId,\n orderNumber,\n paymentType,\n creditCardMask,\n amount,\n createdDateTime,\n } = determineDetails()\n const result = []\n if (transactionId) {\n result.push({\n key: 'transactionId',\n label: 'Transaction Id',\n value: transactionId,\n })\n }\n if (orderNumber) {\n result.push({\n key: 'orderNumber',\n label: 'Order Number',\n value: orderNumber,\n })\n }\n if (paymentType) {\n result.push({\n key: 'paymentType',\n label: 'Payment Type',\n value: paymentType,\n })\n }\n if (creditCardMask) {\n result.push({\n key: 'creditCardMask',\n label: 'Card Number',\n value: creditCardMask,\n })\n }\n if (amount) {\n result.push({\n key: 'amount',\n label: 'Amount',\n value: amount,\n })\n }\n if (createdDateTime) {\n result.push({\n key: 'createdDateTime',\n label: 'Created At',\n value: formatDateTime(createdDateTime),\n })\n }\n\n return result\n }\n case 'WESTPAC_QUICK_STREAM': {\n const { paymentTransaction } = formSubmissionPayment\n if (!paymentTransaction) {\n return []\n }\n\n return [\n {\n key: 'receiptNumber',\n label: 'Receipt Number',\n value: paymentTransaction.receiptNumber,\n },\n {\n key: 'paymentReferenceNumber',\n label: 'Payment Reference',\n value: paymentTransaction.paymentReferenceNumber,\n },\n {\n key: 'customerReferenceNumber',\n label: 'Customer Reference Number',\n value: paymentTransaction.customerReferenceNumber,\n },\n ...(paymentTransaction.totalAmount\n ? [\n {\n key: 'amount',\n label: 'Amount',\n value: formatCurrency(\n parseFloat(paymentTransaction.totalAmount.amount.toString()),\n ),\n },\n ]\n : []),\n ...(paymentTransaction.surchargeAmount.amount\n ? [\n {\n key: 'surchargeAmount',\n label: 'Surcharge Amount',\n value: formatCurrency(\n parseFloat(\n paymentTransaction.surchargeAmount.amount.toString(),\n ),\n ),\n },\n ]\n : []),\n {\n key: 'settlementDate',\n label: 'Settlement Date',\n value: formatDateTime(paymentTransaction.settlementDate),\n },\n ]\n }\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oneblink/sdk-core",
|
|
3
3
|
"description": "OneBlink SDK for JavaScript (works in Browsers and NodeJS)",
|
|
4
|
-
"version": "7.
|
|
4
|
+
"version": "7.3.0-beta.1",
|
|
5
5
|
"author": "OneBlink <developers@oneblink.io> (https://oneblink.io)",
|
|
6
6
|
"bugs": {
|
|
7
7
|
"url": "https://github.com/oneblink/sdk-core-js/issues"
|