diff --git a/src/helpers/adyen-helper.js b/src/helpers/adyen-helper.js index 93bd53bc8..96d04f767 100644 --- a/src/helpers/adyen-helper.js +++ b/src/helpers/adyen-helper.js @@ -3,6 +3,7 @@ import store from "@/store"; import globalMethods from "@/global-methods"; import { endpoints } from "@/constants/endpoints"; import { AppointmentTypeStrings } from "@/constants/schedule-constants"; +import { paymentMethods } from "@/constants/payment-method-constants"; export async function getNewSession(sessionConfig) {} @@ -69,6 +70,41 @@ export async function createAdyenCheckout({ return await AdyenCheckout(config); } +export function mapAdyenToFmgPaymentMethod(adyenMethod) { + const paymentMethodMap = { + ["scheme"]: paymentMethods.CREDIT_CARD, + ["afterpaytouch"]: paymentMethods.AFTERPAY, + ["paypal"]: paymentMethods.PAYPAL, + ["applepay"]: paymentMethods.APPLE_PAY, + }; + + const match = paymentMethodMap[adyenMethod]; + + return match ?? paymentMethods.CREDIT_CARD; +} + +export function generateCcToken(adyenSessionInfo) { + const order = store.getters.order; + const locationInfo = getLocationInfo(order); + + const ccToken = { + subscriptionId: adyenSessionInfo?.storedToken, + expMonth: adyenSessionInfo?.cardExpiryMonth, + expYear: adyenSessionInfo?.cardExpiryYear, + cardType: adyenSessionInfo?.cardType, + billToPostalCode: locationInfo.zipCode, // TODO - real data? + billToFirstName: order.customer.firstName, // TODO - real data? + billToLastName: order.customer.lastName, // TODO - real data? + referenceNumber: adyenSessionInfo?.workOrderNumber, + authCode: adyenSessionInfo?.authCode, + transactionId: adyenSessionInfo?.transactionReference, + transReferenceNumber: adyenSessionInfo?.transactionReference, + lastFour: adyenSessionInfo?.last4DigitsOfCard, + }; + + return ccToken; +} + function getLocationInfo(order) { const serviceLocation = order.serviceLocation; const isMobile = serviceLocation.appointmentType === AppointmentTypeStrings.MOBILE; diff --git a/src/layouts/payment-adyen/payment-adyen.vue b/src/layouts/payment-adyen/payment-adyen.vue index 5e74692d5..2d351472c 100644 --- a/src/layouts/payment-adyen/payment-adyen.vue +++ b/src/layouts/payment-adyen/payment-adyen.vue @@ -22,13 +22,6 @@ - -