{"version":3,"file":"frontend-commons.js","mappings":"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","sources":["webpack://wcPPCP/./assets/js/paylater-message/base.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://wcPPCP/./assets/js/paylater-message/cart.js","webpack://wcPPCP/./assets/js/paylater-message/checkout.js","webpack://wcPPCP/./assets/js/paylater-message/minicart.js","webpack://wcPPCP/./assets/js/paylater-message/product.js","webpack://wcPPCP/./assets/js/paylater-message/shop.js","webpack://wcPPCP/./assets/js/payments/classes/class-base-gateway.js","webpack://wcPPCP/./assets/js/payments/classes/class-checkout-gateway.js","webpack://wcPPCP/./assets/js/payments/classes/class-cart-gateway.js","webpack://wcPPCP/./assets/js/payments/classes/class-product-gateway.js","webpack://wcPPCP/./assets/js/payments/classes/class-minicart-gateway.js","webpack://wcPPCP/./assets/js/ppcp/paypal-cart.js","webpack://wcPPCP/./assets/js/ppcp/paypal-checkout.js","webpack://wcPPCP/./assets/js/ppcp/paypal-express-checkout.js","webpack://wcPPCP/./assets/js/ppcp/paypal-minicart.js","webpack://wcPPCP/./assets/js/ppcp/paypal-product.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/superPropBase.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/get.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://wcPPCP/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"],"sourcesContent":["import $ from 'jquery';\nimport {getPaymentMethod, getSetting, loadPayPalSdk} from \"@ppcp/utils\";\nimport {defaultHooks} from \"@wordpress/hooks\";\n\nclass PayLaterBaseMessage {\n\n constructor(context, {queryParams}) {\n this.context = context;\n this.queryParams = queryParams;\n defaultHooks.addAction('paypalInstanceCreated', 'wcPPCP', this.paypalInstanceCreated.bind(this));\n }\n\n paypalInstanceCreated(paypal, queryParams) {\n if (this.paypal !== paypal) {\n this.paypal = paypal;\n this.queryParams = queryParams;\n this.createMessage();\n }\n }\n\n isCheckoutFlow() {\n return this.queryParams?.vault !== 'true';\n }\n\n initialize() {\n this.createMessage();\n }\n\n createMessage() {\n const container = this.getMessageContainer();\n if (container) {\n if (this.isCheckoutFlow() && this.isActive()) {\n this.showContainer(container);\n const params = {\n amount: this.getTotal(),\n currency: this.getCurrency(),\n placement: this.getPlacement(),\n style: this.getStyleOptions(this.context),\n onRender: () => {\n this.onRender(container);\n }\n };\n this.paypal.Messages(params).render(container);\n } else {\n this.hideMessage(container);\n }\n }\n }\n\n showContainer(container) {\n $(container).closest('.wc-ppcp-paylater-msg__container').show();\n }\n\n hideMessage(container) {\n $(container).closest('.wc-ppcp-paylater-msg__container').hide();\n }\n\n getMessageContainer() {\n\n }\n\n getStyleOptions(context) {\n return getSetting('payLaterMessage')?.[context]?.style;\n }\n\n getSetting(key) {\n return getSetting('payLaterMessage')?.[key];\n }\n\n getTotal() {\n return 0;\n }\n\n getPlacement() {\n return '';\n }\n\n getCurrency() {\n return this.queryParams?.currency;\n }\n\n isActive() {\n return getSetting('payLaterMessage').enabled;\n }\n\n onRender(container) {\n const show = () => {\n const iframe = container.querySelector('[name^=\"__zoid__paypal_message\"]');\n if (iframe) {\n iframe.style.width = '100%';\n iframe.style.opacity = '1';\n }\n }\n show();\n setTimeout(show, 1000);\n }\n}\n\nexport default PayLaterBaseMessage;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import $ from 'jquery';\nimport PayLaterBaseMessage from \"./base\";\nimport cart from '@ppcp/cart';\nimport {loadPayPalSdk, getPayPalQueryParams} from \"@ppcp/utils\";\n\nclass PayLaterMessageCart extends PayLaterBaseMessage {\n constructor(paypal, cart, props) {\n super('cart', props);\n this.paypal = paypal;\n this.cart = cart;\n this.initialize();\n }\n\n initialize() {\n super.initialize();\n this.cart.on('cartUpdated', this.refreshMessage.bind(this));\n }\n\n async refreshMessage() {\n this.createMessage();\n }\n\n getTotal() {\n return this.cart.getTotal();\n }\n\n getMessageContainer() {\n const location = this.getSetting('cartLocation');\n let el = document.getElementById('wc-ppcp-paylater-msg-cart');\n if (el && this.getSetting('isShortcode')) {\n return el;\n }\n switch (location) {\n case 'shop_table':\n el = document.getElementById('wc-ppcp-paylater-msg-cart');\n break;\n case 'above_button':\n el = document.getElementById('wc-ppcp-cart-button-container');\n if (el) {\n if (!$(el).find('#wc-ppcp-paylater-msg-cart')?.length) {\n $(el).prepend('
');\n }\n el = document.getElementById('wc-ppcp-paylater-msg-cart');\n }\n }\n return el;\n }\n\n getPlacement() {\n return 'cart';\n }\n}\n\nconst queryParams = getPayPalQueryParams();\n\nloadPayPalSdk(queryParams).then(paypal => {\n new PayLaterMessageCart(paypal, cart, {queryParams});\n}).catch(error => {\n});\n\nexport {PayLaterMessageCart}","import $ from 'jquery';\nimport PayLaterBaseMessage from \"./base\";\nimport {getPayPalQueryParams, loadPayPalSdk} from \"@ppcp/utils\";\nimport cart from '@ppcp/cart';\n\nclass PayLaterMessageCheckout extends PayLaterBaseMessage {\n constructor(paypal, cart, props) {\n super('checkout', props);\n this.paypal = paypal;\n this.cart = cart;\n this.initialize();\n }\n\n initialize() {\n this.cart.on('updatedCheckout', this.createMessage.bind(this), 20);\n super.initialize();\n }\n\n getMessageContainer() {\n const fk = this.getSetting('checkoutLocation');\n let el;\n switch (fk) {\n case 'shop_table':\n el = document.getElementById('wc-ppcp-paylater-msg-checkout');\n break;\n case 'above_button':\n el = document.querySelector('.wc-ppcp-checkout-container');\n if (el) {\n $(el).prepend('');\n el = document.getElementById('wc-ppcp-paylater-msg-checkout');\n } else {\n setTimeout(this.createMessage.bind(this), 500);\n }\n }\n return el;\n }\n\n getPlacement() {\n return 'payment';\n }\n\n getTotal() {\n return this.cart.getTotal();\n }\n}\n\nloadPayPalSdk().then(paypal => {\n new PayLaterMessageCheckout(paypal, cart, {queryParams: getPayPalQueryParams()});\n})\n\nexport default PayLaterMessageCheckout;\n\nexport {PayLaterMessageCheckout}\n","import $ from 'jquery';\nimport PayLaterBaseMessage from \"./base\";\nimport cart from '@ppcp/cart';\nimport {loadPayPalSdk, getPayPalQueryParams} from \"@ppcp/utils\";\n\nclass PayLaterMessageMiniCart extends PayLaterBaseMessage {\n\n constructor(paypal, cart, props) {\n super('minicart', props);\n this.paypal = paypal;\n this.cart = cart;\n this.initialize();\n }\n\n initialize() {\n super.initialize();\n this.cart.on('fragmentsChanged', this.createMessage.bind(this));\n }\n\n getMessageContainer() {\n let el = null;\n $('#wc-ppcp-minicart-msg').remove();\n switch (this.getSetting('miniCartLocation')) {\n case 'cart_total':\n el = document.querySelector('.woocommerce-mini-cart__total');\n $(el).after('');\n break;\n case 'checkout':\n el = document.querySelector('.woocommerce-mini-cart__buttons .checkout');\n $(el).after('');\n break;\n\n }\n if (el) {\n return document.getElementById('wc-ppcp-minicart-msg');\n }\n return document.querySelector('.woocommerce-mini-cart__total');\n }\n\n showContainer(container) {\n $(container).show();\n }\n\n hideMessage(container) {\n $(container).hide();\n }\n\n getTotal() {\n return this.cart.getTotal();\n }\n\n getPlacement() {\n return 'cart';\n }\n}\n\nconst queryParams = getPayPalQueryParams();\n\nloadPayPalSdk(queryParams).then(paypal => {\n new PayLaterMessageMiniCart(paypal, cart, {queryParams});\n}).catch(error => {\n});","import $ from 'jquery';\nimport PayLaterBaseMessage from \"./base\";\nimport Product from '@ppcp/product';\nimport {loadPayPalSdk, getPayPalQueryParams} from \"@ppcp/utils\";\n\nclass PayLaterMessageProduct extends PayLaterBaseMessage {\n\n constructor(paypal, product, props) {\n super('product', props);\n this.paypal = paypal;\n this.product = product;\n this.initialize();\n }\n\n initialize() {\n this.product.on('quantityChange', this.onQuantityChange.bind(this));\n this.product.on('foundVariation', this.onFoundVariation.bind(this));\n this.product.on('resetVariation', this.onResetVariation.bind(this));\n super.initialize();\n }\n\n onQuantityChange(qty) {\n this.createMessage();\n }\n\n onFoundVariation(changed) {\n this.createMessage();\n }\n\n onResetVariation(product) {\n this.createMessage();\n }\n\n getMessageContainer() {\n const el = document.getElementById('wc-ppcp-paylater-msg-product');\n if (!el) {\n $('form.checkout .shop_table').after('');\n }\n return document.getElementById('wc-ppcp-paylater-msg-product');\n }\n\n getTotal() {\n return this.product.getTotal();\n }\n\n getPlacement() {\n return 'product';\n }\n}\n\nconst queryParams = getPayPalQueryParams();\nloadPayPalSdk(queryParams).then(paypal => {\n new PayLaterMessageProduct(paypal, new Product(), {queryParams});\n}).catch(error => {\n\n})\n\nexport default PayLaterMessageProduct;\nexport {PayLaterMessageProduct};","import $ from 'jquery';\nimport {loadPayPalSdk, getPayPalQueryParams, getSetting} from \"@ppcp/utils\";\nimport PayLaterBaseMessage from \"./base\";\n\n\nclass PayLaterMessageShop extends PayLaterBaseMessage {\n\n constructor() {\n super('shop', {queryParams: getPayPalQueryParams()});\n this.data = getSetting('payLaterMessage');\n this.initialize();\n }\n\n initialize() {\n loadPayPalSdk(getPayPalQueryParams());\n }\n\n getValidProductTypes() {\n return this.data.shop.product_types;\n }\n\n isSupportedProduct(type) {\n return this.getValidProductTypes().includes(type);\n }\n\n createMessage() {\n for (const product of this.data.shop.products) {\n if (this.isSupportedProduct(product.product_type)) {\n this.currentProduct = product;\n super.createMessage();\n }\n }\n }\n\n getMessageContainer() {\n const el = document.getElementById(`wc-ppcp-paylater-msg-${this.currentProduct.id}`);\n if (!el) {\n if (this.isBelowPrice()) {\n $(`.post-${this.currentProduct.id} .price`).after(``);\n } else {\n $(`.post-${this.currentProduct.id} a.button`).after(``);\n }\n }\n return document.getElementById(`wc-ppcp-paylater-msg-${this.currentProduct.id}`);\n }\n\n getTotal() {\n return this.currentProduct.total;\n }\n\n getPlacement() {\n return 'category';\n }\n\n isBelowPrice() {\n return this.data.shop.msgLocation === 'below_price';\n }\n\n showContainer(container) {\n $(container).show();\n }\n\n hideMessage(container) {\n $(container).hide();\n }\n\n}\n\nnew PayLaterMessageShop();\n\n","import $ from 'jquery';\nimport apiFetch from \"@wordpress/api-fetch\";\nimport {defaultHooks} from \"@wordpress/hooks\";\nimport {\n loadPayPalSdk,\n getFieldValue,\n isValidAddress,\n extractShippingMethod,\n getRestRoute,\n getRestPath,\n convertPayPalAddressToCart,\n fieldsToJson,\n extractFullName,\n getSetting,\n setFieldValue,\n isValid,\n isValidFieldValue,\n getPayPalQueryParams,\n getErrorMessage\n} from \"@ppcp/utils\";\nimport {isEmpty} from \"lodash\";\n\nclass BaseGateway {\n\n constructor({id, context, container = null}) {\n this.id = id;\n this.buttons = {};\n this.actions = {};\n this.context = context;\n this.settings = getSetting(`${id}_data`);\n this.container = container ? container : `li.payment_method_${id}`;\n this.order_field_key = `${this.id}_paypal_order_id`;\n this.billing_token_key = `${this.id}_billing_token`;\n }\n\n initialize() {\n //load the paypal script\n this.loadPayPalScript().then(() => {\n // setup required events;\n this.initializeEvents();\n // render the button\n this.createButton();\n });\n }\n\n initializeEvents() {\n\n }\n\n isActive() {\n return this.getData() !== null;\n }\n\n /**\n * Loads the PayPal JS SDK\n */\n loadPayPalScript() {\n return new Promise((resolve, reject) => {\n loadPayPalSdk(this.getPayPalSDKArgs()).then(paypal => {\n this.paypal = paypal;\n resolve();\n }).catch(error => {\n console.log(error);\n if (error?.code) {\n this.submitError(getErrorMessage(error));\n }\n reject();\n })\n })\n }\n\n /**\n * Returns params used to laod the PayPal SDK\n * @returns {{}}\n */\n getPayPalSDKArgs() {\n return getPayPalQueryParams();\n }\n\n getClientId() {\n let {clientId = null, environment} = getSetting('generalData');\n if (!clientId && environment == 'sandbox') {\n clientId = 'sb';\n }\n return clientId;\n }\n\n getData() {\n let data = $(`${this.container}`).find('.wc-ppcp-payment-method-data').data('payment-method-data');\n if (!data) {\n return null;\n }\n return data;\n }\n\n setData(data) {\n $(`${this.container}`).find('.wc-ppcp-payment-method-data').data('payment-method-data', data);\n }\n\n setOption(key, value) {\n const data = this.getData();\n if (data) {\n data[key] = value;\n this.setData(data);\n }\n }\n\n setVariable(key, value) {\n const data = getSetting(`${this.id}_data`);\n data[key] = value;\n }\n\n getVariable(key, defaultValue = null) {\n const data = getSetting(`${this.id}_data`);\n if (data.hasOwnProperty(key)) {\n return data[key];\n }\n if (defaultValue) {\n this.setVariable(key, defaultValue);\n }\n return defaultValue;\n }\n\n /**\n * Fetches an option from the payment method data object.\n * @param key\n * @param defaultValue\n * @returns {null|*}\n */\n getOption(key, defaultValue = null) {\n const data = this.getData();\n if (data.hasOwnProperty(key)) {\n return data[key];\n } else {\n if (defaultValue) {\n this.setOption(key, defaultValue);\n }\n }\n return defaultValue;\n }\n\n createButton() {\n const container = this.getButtonContainer();\n if (container && !$(container).find('.paypal-buttons').length) {\n this.getSortedFunding(this.getFunding()).forEach(source => {\n const button = this.paypal.Buttons(this.getButtonOptions(source));\n this.buttons[source] = button;\n if (button.isEligible()) {\n if (container instanceof NodeList) {\n for (const node of container) {\n button.render(node);\n }\n } else {\n button.render(container);\n }\n }\n });\n this.$button = $(container);\n defaultHooks.doAction('wcPPCPButtonCreated', this);\n }\n }\n\n getButton() {\n return this.$button;\n }\n\n destroyButtons() {\n Object.keys(this.buttons).forEach(key => {\n if (this.buttons[key]['close']) {\n this.buttons[key].close();\n }\n })\n }\n\n disableButtons() {\n Object.keys(this.actions).forEach(key => {\n this.actions[key].disable();\n });\n }\n\n enableButtons() {\n Object.keys(this.actions).forEach(key => {\n this.actions[key].enable();\n });\n }\n\n getFunding() {\n const funding = [];\n const settings = this.settings?.funding || [];\n if (this.settings?.paypal_sections?.includes(this.getPage())) {\n funding.push(paypal.FUNDING.PAYPAL);\n }\n if (settings.includes('paylater') && this.settings?.paylater_sections?.includes(this.getPage())) {\n if (this.isCheckoutFlow()) {\n funding.push(paypal.FUNDING.PAYLATER);\n }\n }\n if (settings.includes('card') && this.settings?.credit_card_sections?.includes(this.getPage())) {\n funding.push(paypal.FUNDING.CARD);\n }\n return funding;\n }\n\n isFundingActive(type) {\n return this.settings?.funding?.includes(type);\n }\n\n isSectionEnabled(type, section) {\n const key = `${type}_sections`;\n return this.settings?.[key]?.includes(section);\n }\n\n getSortedFunding(funding) {\n const sortOrder = this.settings.buttons_order || [];\n funding.sort((a, b) => {\n const indexA = sortOrder.indexOf(a);\n const indexB = sortOrder.indexOf(b);\n return indexA < indexB ? -1 : 1;\n });\n return funding;\n }\n\n getButtonContainer() {\n return null;\n }\n\n getButtonOptions(source) {\n const options = {\n fundingSource: source,\n style: this.getButtonStyle(source),\n onInit: (...args) => {\n this.onInit(source, ...args);\n $(document.body).triggerHandler('wc_ppcp_on_init', [this, source]);\n },\n onClick: (...args) => {\n this.onClick(...args);\n $(document.body).triggerHandler('wc_ppcp_on_click', [this, source]);\n },\n onApprove: (data, actions) => {\n this.onApprove(data, actions);\n $(document.body).triggerHandler('wc_ppcp_on_approve', [this, source]);\n },\n onCancel: (data) => {\n this.orderId = data.orderID;\n $(document.body).triggerHandler('wc_ppcp_on_cancel', [this, source, data]);\n },\n onError: (error) => {\n if (this.currentError) {\n this.submitError(this.currentError);\n this.currentError = null;\n } else {\n this.submitError(error);\n }\n $(document.body).triggerHandler('wc_ppcp_on_error', [this, source, error]);\n },\n onDestroy: () => {\n $(document.body).triggerHandler('wc_ppcp_on_destroy', [this, source]);\n }\n };\n if (this.isCheckoutFlow()) {\n options.createOrder = (data, actions) => {\n return this.createOrder(data, actions);\n }\n if (this.needsShipping() && source !== paypal.FUNDING.VENMO) {\n options.onShippingChange = (...args) => {\n return this.onShippingChange(...args);\n }\n }\n } else {\n options.createBillingAgreement = (...args) => {\n return this.createBillingAgreement(...args);\n }\n }\n return options;\n }\n\n needsShipping() {\n return this.getOption('needsShipping', false);\n }\n\n isCheckoutFlow() {\n return getPayPalQueryParams()?.vault !== 'true';\n }\n\n getTotal() {\n return this.getOption('total', 0);\n }\n\n getButtonStyle(source) {\n let style = null;\n switch (source) {\n case paypal.FUNDING.PAYPAL:\n style = this.settings?.buttons?.paypal;\n break;\n case paypal.FUNDING.PAYLATER:\n style = this.settings?.buttons?.paylater;\n break;\n case paypal.FUNDING.CARD:\n style = {...this.settings?.buttons?.card};\n if (style.tagline) {\n delete style.tagline;\n style.layout = 'vertical';\n } else {\n style.layout = 'horizontal';\n }\n break;\n case paypal.FUNDING.VENMO:\n const {color = '', label = '', ...venmoStyle} = this.settings?.buttons?.paypal;\n style = venmoStyle;\n break;\n }\n if (style?.height) {\n style.height = parseInt(style.height);\n }\n return style;\n }\n\n onApprove(data, actions) {\n setFieldValue(this.order_field_key, data.orderID, '');\n if (data.billingToken) {\n setFieldValue(this.billing_token_key, data.billingToken, '');\n return this.fetchBillingToken(data.billingToken).then(response => {\n this.handleBillingToken(response, data);\n }).catch(error => {\n return this.submitError(error?.message);\n });\n } else {\n actions.order.get().then((res) => {\n this.handleOnApproveResponse(data, res);\n }).catch(error => this.submitError(error));\n }\n }\n\n handleOnApproveResponse(data, response) {\n this.populateCheckoutFields(response);\n this.processCartCheckout();\n }\n\n fetchBillingToken(token) {\n return apiFetch({\n method: 'GET',\n path: `/wc-ppcp/v1/billing-agreement/token/${token}`\n });\n }\n\n handleBillingToken(token, data) {\n if (!isEmpty(token.payer_info.billing_address)) {\n this.populateBillingAddressFields(convertPayPalAddressToCart(token.payer_info.billing_address));\n }\n if (token?.payer_info?.first_name) {\n if (!isValid('billing_first_name')) {\n setFieldValue('first_name', token.payer_info.first_name, 'billing');\n }\n }\n if (token?.payer_info?.last_name) {\n if (!isValid('billing_last_name')) {\n setFieldValue('last_name', token.payer_info.last_name, 'billing');\n }\n }\n if (token?.payer_info?.email) {\n if (!isValid('billing_email')) {\n setFieldValue('billing_email', token.payer_info.email);\n }\n }\n if (token?.payer_info?.phone) {\n if (!isValid('billing_phone')) {\n setFieldValue('billing_phone', token.payer_info.phone);\n }\n }\n if (this.needsShipping() && token.shipping_address) {\n if (!isEmpty(token.shipping_address)) {\n let address = convertPayPalAddressToCart(token.shipping_address);\n this.populateNameFields(extractFullName(token.shipping_address.recipient_name), 'shipping');\n this.populateShippingAddressFields(address);\n if (!isValidAddress(this.getCartFullAddress('billing'), ['phone', 'email'])) {\n if (!isValidFieldValue(getFieldValue('billing_first_name')) && !isValidFieldValue(getFieldValue('billing_last_name'))) {\n this.populateNameFields(token.shipping_address.recipient_name, 'billing');\n }\n this.populateBillingAddressFields(address);\n }\n }\n }\n }\n\n createOrder(data, actions) {\n return actions.order.create(args);\n }\n\n createBillingAgreement(data, actions) {\n return apiFetch({\n method: 'POST',\n url: getRestPath('/wc-ppcp/v1/billing-agreement/token'),\n data: {\n payment_method: this.id,\n context: this.getPage()\n }\n }).then(token => {\n return token;\n }).catch(error => {\n this.currentError = error;\n })\n }\n\n onShippingChange(data, actions, extraData = {}) {\n const address = convertPayPalAddressToCart(data?.shipping_address || {}, true);\n const shipping_method = extractShippingMethod(data?.selected_shipping_option?.id || '');\n return apiFetch({\n method: 'POST',\n url: getRestRoute('cart/shipping'),\n data: {\n order_id: data.orderID,\n address,\n shipping_method,\n payment_method: this.id,\n ...extraData\n }\n }).then(response => {\n if (response.code) {\n return actions.reject();\n } else {\n return actions.resolve();\n }\n }).catch(error => {\n return actions.reject();\n })\n }\n\n submitError(error) {\n\n }\n\n getShippingPrefix() {\n return 'shipping';\n }\n\n getCartAddress(type) {\n return {\n address_1: getFieldValue('address_1', type),\n address_2: getFieldValue('address_2', type),\n state: getFieldValue('state', type),\n city: getFieldValue('city', type),\n postcode: getFieldValue('postcode', type),\n country: getFieldValue('country', type)\n }\n }\n\n getCartFullAddress(type) {\n return {\n first_name: getFieldValue('first_name', type),\n last_name: getFieldValue('last_name', type),\n address_1: getFieldValue('address_1', type),\n address_2: getFieldValue('address_2', type),\n state: getFieldValue('state', type),\n city: getFieldValue('city', type),\n postcode: getFieldValue('postcode', type),\n country: getFieldValue('country', type)\n }\n }\n\n onInit(source, data, actions) {\n this.actions[source] = actions;\n }\n\n onClick(data, actions) {\n\n }\n\n isPage(page) {\n return this.getPage() === page;\n }\n\n getPage() {\n let page = getSetting('generalData')?.page;\n if (page == 'cart' && $(document.body).is('.woocommerce-checkout')) {\n page = 'checkout';\n }\n return page;\n }\n\n populateShippingAddressFields(address) {\n for (let key in address) {\n setFieldValue(key, address[key], 'shipping');\n }\n }\n\n populateBillingAddressFields(address) {\n for (let key in address) {\n setFieldValue(key, address[key], 'billing');\n }\n }\n\n populateNameFields(name, prefix = '') {\n let first_name, last_name;\n if (Array.isArray(name)) {\n [first_name, last_name] = name;\n } else {\n ({given_name: first_name, surname: last_name} = name);\n }\n setFieldValue('first_name', first_name, prefix);\n setFieldValue('last_name', last_name, prefix);\n }\n\n populateCheckoutFields(response) {\n if (!isEmpty(response?.payer?.address)) {\n let address = convertPayPalAddressToCart(response.payer.address);\n this.populateBillingAddressFields(address);\n }\n if (response?.payer?.name) {\n this.populateNameFields(response.payer.name, 'billing');\n }\n if (response?.payer?.email_address) {\n setFieldValue('billing_email', response.payer.email_address);\n }\n if (response?.payer?.phone?.phone_number?.national_number) {\n setFieldValue('billing_phone', response.payer.phone.phone_number.national_number);\n setFieldValue('shipping_phone', response.payer.phone.phone_number.national_number);\n }\n if (this.needsShipping() && response?.purchase_units?.[0]?.shipping) {\n const address = convertPayPalAddressToCart(response.purchase_units[0].shipping.address)\n this.populateShippingAddressFields(address);\n if (response.purchase_units[0].shipping?.name?.full_name) {\n const name = extractFullName(response.purchase_units[0].shipping.name.full_name);\n this.populateNameFields(name, 'shipping');\n }\n // add billing address if possible\n if (!isValidAddress(this.getCartFullAddress('billing'), ['phone', 'email'])) {\n this.populateBillingAddressFields(address);\n }\n }\n }\n\n processCartCheckout() {\n this.showProcessing();\n return apiFetch({\n method: 'POST',\n url: getRestRoute('cart/checkout'),\n data: this.getCartCheckoutData()\n }).then(response => {\n if (response.result && 'success' == response.result) {\n window.location = response.redirect;\n } else {\n if (response.messages) {\n return this.submitError(response.messages);\n }\n }\n }).catch(error => {\n if (error.code) {\n this.submitError(error.message);\n }\n });\n }\n\n getCartCheckoutData() {\n return {payment_method: this.id, context: this.getPage(), ...fieldsToJson()};\n }\n\n getProcessingSelector() {\n return 'body';\n }\n\n showProcessing() {\n $(this.getProcessingSelector())?.block({\n message: this.getProcessingMessage(),\n overlayCSS: {\n background: '#fff',\n opacity: 0.6\n }\n });\n }\n\n hideProcessing() {\n $(this.getProcessingSelector())?.unblock();\n }\n\n getProcessingMessage() {\n return `