@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.2",
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"