@oneblink/apps-react 10.1.2 → 10.2.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.
|
@@ -22,7 +22,7 @@ class NSWGovPayPaymentProvider {
|
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
async verifyPaymentTransaction(query) {
|
|
25
|
-
const { submissionId, isSuccess, errorMessage, paymentReference, completionReference, bankReference, paymentMethod, cardLast4Digits, amount, surcharge, surchargeGst, } = query;
|
|
25
|
+
const { submissionId, isSuccess, errorMessage, paymentReference, completionReference, bankReference, paymentMethod, cardLast4Digits, bPayBillerCode, bPayCrn, bPayProcessingDate, amount, surcharge, surchargeGst, } = query;
|
|
26
26
|
if (!submissionId || !isSuccess || !paymentReference) {
|
|
27
27
|
throw new OneBlinkAppsError('Transactions can not be verified unless navigating here directly after a payment.');
|
|
28
28
|
}
|
|
@@ -65,6 +65,30 @@ class NSWGovPayPaymentProvider {
|
|
|
65
65
|
allowCopyToClipboard: false,
|
|
66
66
|
}),
|
|
67
67
|
generateCreditCardMaskReceiptItem(cardLast4Digits ? `xxxx xxxx xxxx ${cardLast4Digits}` : null),
|
|
68
|
+
generateReceiptItem({
|
|
69
|
+
className: 'ob-payment-receipt__bpay-biller-code',
|
|
70
|
+
valueClassName: 'cypress-payment-receipt-bpay-biller-code',
|
|
71
|
+
icon: 'account_balance',
|
|
72
|
+
label: 'BPay Biller Code',
|
|
73
|
+
value: bPayBillerCode,
|
|
74
|
+
allowCopyToClipboard: true,
|
|
75
|
+
}),
|
|
76
|
+
generateReceiptItem({
|
|
77
|
+
className: 'ob-payment-receipt__bpay-crn',
|
|
78
|
+
valueClassName: 'cypress-payment-receipt-bpay-crn',
|
|
79
|
+
icon: 'account_balance',
|
|
80
|
+
label: 'BPay Reference',
|
|
81
|
+
value: bPayCrn,
|
|
82
|
+
allowCopyToClipboard: true,
|
|
83
|
+
}),
|
|
84
|
+
generateReceiptItem({
|
|
85
|
+
className: 'ob-payment-receipt__bpay-processing-date',
|
|
86
|
+
valueClassName: 'cypress-payment-receipt-bpay-processing-date',
|
|
87
|
+
icon: 'account_balance',
|
|
88
|
+
label: 'BPay Processing Date',
|
|
89
|
+
value: formatBPayProcessingDate(bPayProcessingDate),
|
|
90
|
+
allowCopyToClipboard: false,
|
|
91
|
+
}),
|
|
68
92
|
generateAmountReceiptItem(typeof amount === 'string' ? parseFloat(amount) : undefined),
|
|
69
93
|
generateReceiptItem({
|
|
70
94
|
className: 'ob-payment-receipt__surcharge',
|
|
@@ -106,11 +130,24 @@ function getPaymentMethodLabel(paymentMethod) {
|
|
|
106
130
|
case 'PAYPAL': {
|
|
107
131
|
return 'PayPal';
|
|
108
132
|
}
|
|
109
|
-
case 'BPAY':
|
|
133
|
+
case 'BPAY': {
|
|
134
|
+
return 'BPay';
|
|
135
|
+
}
|
|
110
136
|
default: {
|
|
111
137
|
return paymentMethod;
|
|
112
138
|
}
|
|
113
139
|
}
|
|
114
140
|
}
|
|
141
|
+
function formatBPayProcessingDate(bPayProcessingDate) {
|
|
142
|
+
if (bPayProcessingDate) {
|
|
143
|
+
const date = localisationService.generateDate({
|
|
144
|
+
daysOffset: undefined,
|
|
145
|
+
value: bPayProcessingDate,
|
|
146
|
+
});
|
|
147
|
+
if (date) {
|
|
148
|
+
return localisationService.formatDate(date);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
115
152
|
export default NSWGovPayPaymentProvider;
|
|
116
153
|
//# sourceMappingURL=NSWGovPayPaymentProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NSWGovPayPaymentProvider.js","sourceRoot":"","sources":["../../../../src/apps/services/payment-providers/NSWGovPayPaymentProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { SubmissionEventTypes, SubmissionTypes } from '@oneblink/types'\nimport {\n BasePaymentConfigurationPayload,\n PaymentProvider,\n} from '../../types/payments'\nimport { FormSubmissionResult } from '../../types/submissions'\nimport replaceInjectablesWithSubmissionValues from '../replaceInjectablesWithSubmissionValues'\nimport OneBlinkAppsError from '../errors/oneBlinkAppsError'\nimport {\n generateAmountReceiptItem,\n generateCreditCardMaskReceiptItem,\n generateReceiptItem,\n generateSubmissionIdReceiptItem,\n prepareReceiptItems,\n} from './receipt-items'\nimport { localisationService } from '../..'\n\nclass NSWGovPayPaymentProvider\n implements PaymentProvider<SubmissionEventTypes.NSWGovPaySubmissionEvent>\n{\n constructor(\n paymentSubmissionEvent: SubmissionEventTypes.NSWGovPaySubmissionEvent,\n formSubmissionResult: FormSubmissionResult,\n ) {\n this.paymentSubmissionEvent = paymentSubmissionEvent\n this.formSubmissionResult = formSubmissionResult\n }\n\n paymentSubmissionEvent: SubmissionEventTypes.NSWGovPaySubmissionEvent\n formSubmissionResult: FormSubmissionResult\n\n preparePaymentConfiguration(basePayload: BasePaymentConfigurationPayload) {\n return {\n path: `/forms/${this.formSubmissionResult.definition.id}/nsw-gov-pay-payment`,\n payload: {\n ...basePayload,\n integrationPrimaryAgencyId:\n this.paymentSubmissionEvent.configuration.primaryAgencyId,\n productDescription: replaceInjectablesWithSubmissionValues(\n this.paymentSubmissionEvent.configuration.productDescription,\n this.formSubmissionResult,\n ).text,\n customerReference:\n this.paymentSubmissionEvent.configuration.customerReference &&\n replaceInjectablesWithSubmissionValues(\n this.paymentSubmissionEvent.configuration.customerReference,\n this.formSubmissionResult,\n ).text,\n subAgencyCode:\n this.paymentSubmissionEvent.configuration.subAgencyCode &&\n replaceInjectablesWithSubmissionValues(\n this.paymentSubmissionEvent.configuration.subAgencyCode,\n this.formSubmissionResult,\n ).text,\n },\n }\n }\n\n async verifyPaymentTransaction(query: Record<string, unknown>) {\n const {\n submissionId,\n isSuccess,\n errorMessage,\n paymentReference,\n completionReference,\n bankReference,\n paymentMethod,\n cardLast4Digits,\n amount,\n surcharge,\n surchargeGst,\n } = query as {\n submissionId?: string\n isSuccess?: string\n errorMessage?: string\n paymentReference?: string\n completionReference?: string\n bankReference?: string\n paymentMethod?: string\n cardLast4Digits?: string\n amount?: string\n surcharge?: string\n surchargeGst?: string\n }\n\n if (!submissionId || !isSuccess || !paymentReference) {\n throw new OneBlinkAppsError(\n 'Transactions can not be verified unless navigating here directly after a payment.',\n )\n }\n\n if (this.formSubmissionResult.submissionId !== submissionId) {\n throw new OneBlinkAppsError(\n 'It looks like you are attempting to view a receipt for the incorrect payment.',\n )\n }\n\n return {\n receiptItems: prepareReceiptItems([\n generateSubmissionIdReceiptItem(this.formSubmissionResult.submissionId),\n generateReceiptItem({\n className: 'ob-payment-receipt__completion-reference',\n valueClassName: 'cypress-payment-receipt-completion-reference',\n icon: 'check_circle',\n label: 'Completion Reference',\n value: completionReference,\n allowCopyToClipboard: true,\n }),\n {\n className: 'ob-payment-receipt__payment-reference',\n valueClassName: 'cypress-payment-receipt-payment-reference',\n icon: 'shopping_cart',\n label: 'Payment Reference',\n value: paymentReference,\n allowCopyToClipboard: true,\n },\n generateReceiptItem({\n className: 'ob-payment-receipt__bank-reference',\n valueClassName: 'cypress-payment-receipt-bank-reference',\n icon: 'account_balance',\n label: 'Bank Reference',\n value: bankReference,\n allowCopyToClipboard: true,\n }),\n generateReceiptItem({\n className: 'ob-payment-payment-method',\n valueClassName: 'cypress-payment-receipt-payment-method',\n icon: 'account_balance_wallet',\n label: 'Payment Method',\n value: getPaymentMethodLabel(paymentMethod),\n allowCopyToClipboard: false,\n }),\n generateCreditCardMaskReceiptItem(\n cardLast4Digits ? `xxxx xxxx xxxx ${cardLast4Digits}` : null,\n ),\n generateAmountReceiptItem(\n typeof amount === 'string' ? parseFloat(amount) : undefined,\n ),\n generateReceiptItem({\n className: 'ob-payment-receipt__surcharge',\n valueClassName: 'cypress-payment-receipt-surcharge',\n icon: 'price_check',\n label: 'Surcharge Amount',\n value:\n typeof surcharge === 'string'\n ? localisationService.formatCurrency(parseFloat(surcharge))\n : undefined,\n allowCopyToClipboard: false,\n }),\n generateReceiptItem({\n className: 'ob-payment-receipt__surcharge-gst',\n valueClassName: 'cypress-payment-receipt-surcharge-gst',\n icon: 'price_check',\n label: 'Surcharge GST',\n value:\n typeof surchargeGst === 'string'\n ? localisationService.formatCurrency(parseFloat(surchargeGst))\n : undefined,\n allowCopyToClipboard: false,\n }),\n ]),\n transaction: {\n isSuccess: isSuccess === 'true',\n errorMessage,\n },\n submissionResult: this.formSubmissionResult,\n }\n }\n}\n\nfunction getPaymentMethodLabel(paymentMethod: string | undefined) {\n switch (\n paymentMethod as NonNullable<\n NonNullable<\n SubmissionTypes.NSWGovPayPayment['paymentTransaction']\n >['agencyCompletionPayment']\n >['paymentMethod']\n ) {\n case 'PAYID': {\n return 'PayID'\n }\n case 'CARD': {\n return 'Credit Card'\n }\n case 'PAYPAL': {\n return 'PayPal'\n }\n case 'BPAY':\n default: {\n return paymentMethod\n }\n }\n}\n\nexport default NSWGovPayPaymentProvider\n"]}
|
|
1
|
+
{"version":3,"file":"NSWGovPayPaymentProvider.js","sourceRoot":"","sources":["../../../../src/apps/services/payment-providers/NSWGovPayPaymentProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { SubmissionEventTypes, SubmissionTypes } from '@oneblink/types'\nimport {\n BasePaymentConfigurationPayload,\n PaymentProvider,\n} from '../../types/payments'\nimport { FormSubmissionResult } from '../../types/submissions'\nimport replaceInjectablesWithSubmissionValues from '../replaceInjectablesWithSubmissionValues'\nimport OneBlinkAppsError from '../errors/oneBlinkAppsError'\nimport {\n generateAmountReceiptItem,\n generateCreditCardMaskReceiptItem,\n generateReceiptItem,\n generateSubmissionIdReceiptItem,\n prepareReceiptItems,\n} from './receipt-items'\nimport { localisationService } from '../..'\n\nclass NSWGovPayPaymentProvider implements PaymentProvider<SubmissionEventTypes.NSWGovPaySubmissionEvent> {\n constructor(\n paymentSubmissionEvent: SubmissionEventTypes.NSWGovPaySubmissionEvent,\n formSubmissionResult: FormSubmissionResult,\n ) {\n this.paymentSubmissionEvent = paymentSubmissionEvent\n this.formSubmissionResult = formSubmissionResult\n }\n\n paymentSubmissionEvent: SubmissionEventTypes.NSWGovPaySubmissionEvent\n formSubmissionResult: FormSubmissionResult\n\n preparePaymentConfiguration(basePayload: BasePaymentConfigurationPayload) {\n return {\n path: `/forms/${this.formSubmissionResult.definition.id}/nsw-gov-pay-payment`,\n payload: {\n ...basePayload,\n integrationPrimaryAgencyId:\n this.paymentSubmissionEvent.configuration.primaryAgencyId,\n productDescription: replaceInjectablesWithSubmissionValues(\n this.paymentSubmissionEvent.configuration.productDescription,\n this.formSubmissionResult,\n ).text,\n customerReference:\n this.paymentSubmissionEvent.configuration.customerReference &&\n replaceInjectablesWithSubmissionValues(\n this.paymentSubmissionEvent.configuration.customerReference,\n this.formSubmissionResult,\n ).text,\n subAgencyCode:\n this.paymentSubmissionEvent.configuration.subAgencyCode &&\n replaceInjectablesWithSubmissionValues(\n this.paymentSubmissionEvent.configuration.subAgencyCode,\n this.formSubmissionResult,\n ).text,\n },\n }\n }\n\n async verifyPaymentTransaction(query: Record<string, unknown>) {\n const {\n submissionId,\n isSuccess,\n errorMessage,\n paymentReference,\n completionReference,\n bankReference,\n paymentMethod,\n cardLast4Digits,\n bPayBillerCode,\n bPayCrn,\n bPayProcessingDate,\n amount,\n surcharge,\n surchargeGst,\n } = query as {\n submissionId?: string\n isSuccess?: string\n errorMessage?: string\n paymentReference?: string\n completionReference?: string\n bankReference?: string\n paymentMethod?: string\n bPayBillerCode?: string\n bPayCrn?: string\n bPayProcessingDate?: string\n cardLast4Digits?: string\n amount?: string\n surcharge?: string\n surchargeGst?: string\n }\n\n if (!submissionId || !isSuccess || !paymentReference) {\n throw new OneBlinkAppsError(\n 'Transactions can not be verified unless navigating here directly after a payment.',\n )\n }\n\n if (this.formSubmissionResult.submissionId !== submissionId) {\n throw new OneBlinkAppsError(\n 'It looks like you are attempting to view a receipt for the incorrect payment.',\n )\n }\n\n return {\n receiptItems: prepareReceiptItems([\n generateSubmissionIdReceiptItem(this.formSubmissionResult.submissionId),\n generateReceiptItem({\n className: 'ob-payment-receipt__completion-reference',\n valueClassName: 'cypress-payment-receipt-completion-reference',\n icon: 'check_circle',\n label: 'Completion Reference',\n value: completionReference,\n allowCopyToClipboard: true,\n }),\n {\n className: 'ob-payment-receipt__payment-reference',\n valueClassName: 'cypress-payment-receipt-payment-reference',\n icon: 'shopping_cart',\n label: 'Payment Reference',\n value: paymentReference,\n allowCopyToClipboard: true,\n },\n generateReceiptItem({\n className: 'ob-payment-receipt__bank-reference',\n valueClassName: 'cypress-payment-receipt-bank-reference',\n icon: 'account_balance',\n label: 'Bank Reference',\n value: bankReference,\n allowCopyToClipboard: true,\n }),\n generateReceiptItem({\n className: 'ob-payment-payment-method',\n valueClassName: 'cypress-payment-receipt-payment-method',\n icon: 'account_balance_wallet',\n label: 'Payment Method',\n value: getPaymentMethodLabel(paymentMethod),\n allowCopyToClipboard: false,\n }),\n generateCreditCardMaskReceiptItem(\n cardLast4Digits ? `xxxx xxxx xxxx ${cardLast4Digits}` : null,\n ),\n generateReceiptItem({\n className: 'ob-payment-receipt__bpay-biller-code',\n valueClassName: 'cypress-payment-receipt-bpay-biller-code',\n icon: 'account_balance',\n label: 'BPay Biller Code',\n value: bPayBillerCode,\n allowCopyToClipboard: true,\n }),\n generateReceiptItem({\n className: 'ob-payment-receipt__bpay-crn',\n valueClassName: 'cypress-payment-receipt-bpay-crn',\n icon: 'account_balance',\n label: 'BPay Reference',\n value: bPayCrn,\n allowCopyToClipboard: true,\n }),\n generateReceiptItem({\n className: 'ob-payment-receipt__bpay-processing-date',\n valueClassName: 'cypress-payment-receipt-bpay-processing-date',\n icon: 'account_balance',\n label: 'BPay Processing Date',\n value: formatBPayProcessingDate(bPayProcessingDate),\n allowCopyToClipboard: false,\n }),\n generateAmountReceiptItem(\n typeof amount === 'string' ? parseFloat(amount) : undefined,\n ),\n generateReceiptItem({\n className: 'ob-payment-receipt__surcharge',\n valueClassName: 'cypress-payment-receipt-surcharge',\n icon: 'price_check',\n label: 'Surcharge Amount',\n value:\n typeof surcharge === 'string'\n ? localisationService.formatCurrency(parseFloat(surcharge))\n : undefined,\n allowCopyToClipboard: false,\n }),\n generateReceiptItem({\n className: 'ob-payment-receipt__surcharge-gst',\n valueClassName: 'cypress-payment-receipt-surcharge-gst',\n icon: 'price_check',\n label: 'Surcharge GST',\n value:\n typeof surchargeGst === 'string'\n ? localisationService.formatCurrency(parseFloat(surchargeGst))\n : undefined,\n allowCopyToClipboard: false,\n }),\n ]),\n transaction: {\n isSuccess: isSuccess === 'true',\n errorMessage,\n },\n submissionResult: this.formSubmissionResult,\n }\n }\n}\n\nfunction getPaymentMethodLabel(paymentMethod: string | undefined) {\n switch (\n paymentMethod as NonNullable<\n NonNullable<\n SubmissionTypes.NSWGovPayPayment['paymentTransaction']\n >['agencyCompletionPayment']\n >['paymentMethod']\n ) {\n case 'PAYID': {\n return 'PayID'\n }\n case 'CARD': {\n return 'Credit Card'\n }\n case 'PAYPAL': {\n return 'PayPal'\n }\n case 'BPAY': {\n return 'BPay'\n }\n default: {\n return paymentMethod\n }\n }\n}\n\nfunction formatBPayProcessingDate(bPayProcessingDate: string | undefined) {\n if (bPayProcessingDate) {\n const date = localisationService.generateDate({\n daysOffset: undefined,\n value: bPayProcessingDate,\n })\n if (date) {\n return localisationService.formatDate(date)\n }\n }\n}\n\nexport default NSWGovPayPaymentProvider\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oneblink/apps-react",
|
|
3
3
|
"description": "Helper functions for OneBlink apps in ReactJS.",
|
|
4
|
-
"version": "10.1
|
|
4
|
+
"version": "10.2.0-beta.1",
|
|
5
5
|
"author": "OneBlink <developers@oneblink.io> (https://oneblink.io)",
|
|
6
6
|
"bugs": {
|
|
7
7
|
"url": "https://github.com/oneblink/apps-react/issues"
|