@commercelayer/react-components 2.49.3 → 2.49.4

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});const tslib_1=require("tslib");const jsx_runtime_1=require("react/jsx-runtime");const react_1=require("react");const PaymentMethodContext_1=(0,tslib_1.__importDefault)(require("../context/PaymentMethodContext"));const isEmpty_1=(0,tslib_1.__importDefault)(require("lodash/isEmpty"));const localStorage_1=require("../utils/localStorage");const Parent_1=(0,tslib_1.__importDefault)(require("./utils/Parent"));const browserInfo_1=(0,tslib_1.__importDefault)(require("../utils/browserInfo"));const PlaceOrderContext_1=(0,tslib_1.__importDefault)(require("../context/PlaceOrderContext"));const threeDSConfiguration={challengeWindowSize:"05"};const defaultConfig={};const AdyenPayment=({clientKey:e,config:t,templateCustomerSaveToWallet:n,environment:o="test",locale:a="en_US"})=>{const{cardContainerClassName:r,threeDSecureContainerClassName:s,placeOrderCallback:i,styles:c}=Object.assign(Object.assign({},defaultConfig),t);const[d,l]=(0,react_1.useState)(false);const[u,m]=(0,react_1.useState)({});const{setPaymentSource:_,paymentSource:y,setPaymentMethodErrors:p,currentPaymentMethodType:f,setPaymentRef:v}=(0,react_1.useContext)(PaymentMethodContext_1.default);const{setPlaceOrder:h}=(0,react_1.useContext)(PlaceOrderContext_1.default);const b=(0,react_1.useRef)(null);const g=async(e,t)=>{var n,o,a,r,s,i,c;const d=(o=(n=e===null||e===void 0?void 0:e.elements)===null||n===void 0?void 0:n["save_payment_source_to_customer_wallet"])===null||o===void 0?void 0:o.checked;if(d)(0,localStorage_1.setCustomerOrderParam)("_save_payment_source_to_customer_wallet",d);const l={_authorize:1};try{const e=y&&await _({paymentSourceId:y.id,paymentResource:"adyen_payments",attributes:l});debugger;const n=(a=e===null||e===void 0?void 0:e.payment_response)===null||a===void 0?void 0:a.action;const o=(r=e===null||e===void 0?void 0:e.payment_response)===null||r===void 0?void 0:r.resultCode;if(n&&o==="IdentifyShopper"){t.createFromAction(n,threeDSConfiguration).mount("#adyen-action")}else if(["Authorised","Pending","Received"].includes(o)){const t=(i=(s=e===null||e===void 0?void 0:e.payment_request_data)===null||s===void 0?void 0:s.payment_method)===null||i===void 0?void 0:i.brand;if(t){const n={metadata:{card:{brand:t}}};await _({paymentSourceId:e===null||e===void 0?void 0:e.id,paymentResource:"adyen_payments",attributes:n})}return true}const d=(c=e===null||e===void 0?void 0:e.payment_response)===null||c===void 0?void 0:c.refusalReason;p([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:f,message:d}]);return false}catch(e){p([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:f,message:e.message}]);return false}};const C=async(e,t,n,o)=>{if(e.isValid){if(b.current){const e=require("@adyen/adyen-web");const t=await e(n);b.current.onsubmit=()=>g(b.current,t);v({ref:b})}let t=(0,browserInfo_1.default)();const a={payment_request_data:{payment_method:e.data.paymentMethod,shopperInteraction:"Ecommerce",recurringProcessingModel:"CardOnFile",origin:window.location.origin,return_url:window.location.href,browser_info:Object.assign({acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"},t)}};o&&await _({paymentSourceId:o.id,paymentResource:"adyen_payments",attributes:a})}};const w=async(e,t,n)=>{var o,a;const r={payment_request_details:e.data,_details:1};try{const e=y&&await _({paymentSourceId:y.id,paymentResource:"adyen_payments",attributes:r});const t=(o=e===null||e===void 0?void 0:e.payment_response)===null||o===void 0?void 0:o.action;const s=(a=e===null||e===void 0?void 0:e.payment_response)===null||a===void 0?void 0:a.resultCode;const c=require("@adyen/adyen-web");if(t){const e=await c(n);e.createFromAction(t,threeDSConfiguration).mount("#adyen-action")}if(["Authorised","Pending","Received"].includes(s)){const{placed:t}=h&&await h({paymentSource:e})||{placed:false};t&&i&&i({placed:t})}}catch(e){console.error("Adyen additional details error:",e)}};(0,react_1.useEffect)((()=>{const t=!(0,isEmpty_1.default)(y===null||y===void 0?void 0:y.payment_methods)?y===null||y===void 0?void 0:y.payment_methods:{};if((0,isEmpty_1.default)(t))console.error("Payment methods are not available. Please, check your Adyen configuration.");const n={locale:a,environment:o,clientKey:e,paymentMethodsResponse:t};n.onChange=(e,t)=>C(e,t,n,y);n.onAdditionalDetails=(e,t)=>w(e,t,n);if(!b&&e)(0,localStorage_1.setCustomerOrderParam)("_save_payment_source_to_customer_wallet","false");if(e&&!d&&!(0,isEmpty_1.default)(window)){const e=require("@adyen/adyen-web");e(n).then((e=>{const t=e.create("card",{styles:c}).mount("#adyen-card");if(t){m(e);l(true)}}))}return()=>{v({ref:{current:null}});l(false)}}),[e,b]);return!e&&!d&&!u?null:(0,jsx_runtime_1.jsxs)("form",Object.assign({ref:b,onSubmit:e=>g(e,u)},{children:[(0,jsx_runtime_1.jsx)("div",{className:r,id:"adyen-card"},void 0),n&&(0,jsx_runtime_1.jsx)(Parent_1.default,Object.assign({},{name:"save_payment_source_to_customer_wallet"},{children:n}),void 0),(0,jsx_runtime_1.jsx)("div",{className:s,id:"adyen-action"},void 0)]}),void 0)};exports.default=AdyenPayment;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});const tslib_1=require("tslib");const jsx_runtime_1=require("react/jsx-runtime");const react_1=require("react");const PaymentMethodContext_1=(0,tslib_1.__importDefault)(require("../context/PaymentMethodContext"));const isEmpty_1=(0,tslib_1.__importDefault)(require("lodash/isEmpty"));const localStorage_1=require("../utils/localStorage");const Parent_1=(0,tslib_1.__importDefault)(require("./utils/Parent"));const browserInfo_1=(0,tslib_1.__importDefault)(require("../utils/browserInfo"));const PlaceOrderContext_1=(0,tslib_1.__importDefault)(require("../context/PlaceOrderContext"));const threeDSConfiguration={challengeWindowSize:"05"};const defaultConfig={};const AdyenPayment=({clientKey:e,config:t,templateCustomerSaveToWallet:n,environment:o="test",locale:a="en_US"})=>{const{cardContainerClassName:r,threeDSecureContainerClassName:s,placeOrderCallback:i,styles:c}=Object.assign(Object.assign({},defaultConfig),t);const[l,d]=(0,react_1.useState)(false);const[u,m]=(0,react_1.useState)({});const{setPaymentSource:_,paymentSource:y,setPaymentMethodErrors:p,currentPaymentMethodType:f,setPaymentRef:v}=(0,react_1.useContext)(PaymentMethodContext_1.default);const{setPlaceOrder:h}=(0,react_1.useContext)(PlaceOrderContext_1.default);const b=(0,react_1.useRef)(null);const g=async(e,t)=>{var n,o,a,r,s,i,c;const l=(o=(n=e===null||e===void 0?void 0:e.elements)===null||n===void 0?void 0:n["save_payment_source_to_customer_wallet"])===null||o===void 0?void 0:o.checked;if(l)(0,localStorage_1.setCustomerOrderParam)("_save_payment_source_to_customer_wallet",l);const d={_authorize:1};try{const e=y&&await _({paymentSourceId:y.id,paymentResource:"adyen_payments",attributes:d});const n=(a=e===null||e===void 0?void 0:e.payment_response)===null||a===void 0?void 0:a.action;const o=(r=e===null||e===void 0?void 0:e.payment_response)===null||r===void 0?void 0:r.resultCode;if(n&&o==="IdentifyShopper"){t.createFromAction(n,threeDSConfiguration).mount("#adyen-action")}else if(["Authorised","Pending","Received"].includes(o)){const t=(i=(s=e===null||e===void 0?void 0:e.payment_request_data)===null||s===void 0?void 0:s.payment_method)===null||i===void 0?void 0:i.brand;if(t){const n={metadata:{card:{brand:t}}};await _({paymentSourceId:e===null||e===void 0?void 0:e.id,paymentResource:"adyen_payments",attributes:n})}return true}const l=(c=e===null||e===void 0?void 0:e.payment_response)===null||c===void 0?void 0:c.refusalReason;p([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:f,message:l}]);return false}catch(e){p([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:f,message:e.message}]);return false}};const C=async(e,t,n,o)=>{if(e.isValid){if(b.current){const e=require("@adyen/adyen-web");const t=await e(n);b.current.onsubmit=()=>g(b.current,t);v({ref:b})}let t=(0,browserInfo_1.default)();const a={payment_request_data:{payment_method:e.data.paymentMethod,shopperInteraction:"Ecommerce",recurringProcessingModel:"CardOnFile",origin:window.location.origin,return_url:window.location.href,browser_info:Object.assign({acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"},t)}};o&&await _({paymentSourceId:o.id,paymentResource:"adyen_payments",attributes:a})}};const w=async(e,t,n)=>{var o,a;const r={payment_request_details:e.data,_details:1};try{const e=y&&await _({paymentSourceId:y.id,paymentResource:"adyen_payments",attributes:r});const t=(o=e===null||e===void 0?void 0:e.payment_response)===null||o===void 0?void 0:o.action;const s=(a=e===null||e===void 0?void 0:e.payment_response)===null||a===void 0?void 0:a.resultCode;const c=require("@adyen/adyen-web");if(t){const e=await c(n);e.createFromAction(t,threeDSConfiguration).mount("#adyen-action")}if(["Authorised","Pending","Received"].includes(s)){const{placed:t}=h&&await h({paymentSource:e})||{placed:false};t&&i&&i({placed:t})}}catch(e){console.error("Adyen additional details error:",e)}};(0,react_1.useEffect)((()=>{const t=!(0,isEmpty_1.default)(y===null||y===void 0?void 0:y.payment_methods)?y===null||y===void 0?void 0:y.payment_methods:{};if((0,isEmpty_1.default)(t))console.error("Payment methods are not available. Please, check your Adyen configuration.");const n={locale:a,environment:o,clientKey:e,paymentMethodsResponse:t};n.onChange=(e,t)=>C(e,t,n,y);n.onAdditionalDetails=(e,t)=>w(e,t,n);if(!b&&e)(0,localStorage_1.setCustomerOrderParam)("_save_payment_source_to_customer_wallet","false");if(e&&!l&&!(0,isEmpty_1.default)(window)){const e=require("@adyen/adyen-web");e(n).then((e=>{const t=e.create("card",{styles:c}).mount("#adyen-card");if(t){m(e);d(true)}}))}return()=>{v({ref:{current:null}});d(false)}}),[e,b]);return!e&&!l&&!u?null:(0,jsx_runtime_1.jsxs)("form",Object.assign({ref:b,onSubmit:e=>g(e,u)},{children:[(0,jsx_runtime_1.jsx)("div",{className:r,id:"adyen-card"},void 0),n&&(0,jsx_runtime_1.jsx)(Parent_1.default,Object.assign({},{name:"save_payment_source_to_customer_wallet"},{children:n}),void 0),(0,jsx_runtime_1.jsx)("div",{className:s,id:"adyen-action"},void 0)]}),void 0)};exports.default=AdyenPayment;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});const tslib_1=require("tslib");const jsx_runtime_1=require("react/jsx-runtime");const react_1=require("react");const OrderReducer_1=(0,tslib_1.__importStar)(require("../reducers/OrderReducer"));const CommerceLayerContext_1=(0,tslib_1.__importDefault)(require("../context/CommerceLayerContext"));const OrderContext_1=(0,tslib_1.__importStar)(require("../context/OrderContext"));const OrderReducer_2=require("../reducers/OrderReducer");const components_1=(0,tslib_1.__importDefault)(require("../config/components"));const OrderStorageContext_1=(0,tslib_1.__importDefault)(require("../context/OrderStorageContext"));const propTypes=components_1.default.OrderContainer.propTypes;const defaultProps=components_1.default.OrderContainer.defaultProps;const displayName=components_1.default.OrderContainer.displayName;const OrderContainer=e=>{const{orderId:r,children:t,metadata:d,attributes:o}=e;const[s,a]=(0,react_1.useReducer)(OrderReducer_1.default,OrderReducer_1.orderInitialState);const c=(0,react_1.useContext)(CommerceLayerContext_1.default);const{persistKey:n,clearWhenPlaced:i,getLocalOrder:u,setLocalOrder:O,deleteLocalOrder:p}=(0,react_1.useContext)(OrderStorageContext_1.default);(0,react_1.useEffect)((()=>{if(c.accessToken){const e=n?u(n):r;if(e){a({type:"setOrderId",payload:{orderId:e}});if(!s.order){(0,OrderReducer_1.getApiOrder)({id:e,dispatch:a,config:c,persistKey:n,clearWhenPlaced:i,deleteLocalOrder:p,state:s})}}}return()=>(0,OrderReducer_2.unsetOrderState)(a)}),[c.accessToken,r,s.include]);const l=(0,react_1.useMemo)((()=>Object.assign(Object.assign({},s),{setOrder:e=>(0,OrderReducer_1.setOrder)(e,a),getOrder:e=>(0,OrderReducer_1.getApiOrder)({id:e,dispatch:a,config:c,state:s}),setOrderErrors:e=>(0,OrderReducer_1.setOrderErrors)({dispatch:a,errors:e}),createOrder:async()=>await(0,OrderReducer_1.createOrder)({persistKey:n,dispatch:a,config:c,state:s,orderMetadata:d,orderAttributes:o}),addToCart:e=>OrderContext_1.defaultOrderContext["addToCart"](Object.assign(Object.assign({},e),{persistKey:n,dispatch:a,state:s,config:c,errors:s.errors,orderMetadata:d||{},orderAttributes:o,setLocalOrder:O})),saveAddressToCustomerAddressBook:e=>OrderContext_1.defaultOrderContext["saveAddressToCustomerAddressBook"](Object.assign(Object.assign({},e),{dispatch:a})),setGiftCardOrCouponCode:({code:e})=>OrderContext_1.defaultOrderContext["setGiftCardOrCouponCode"]({code:e,dispatch:a,order:s.order,config:c}),removeGiftCardOrCouponCode:({codeType:e})=>OrderContext_1.defaultOrderContext["removeGiftCardOrCouponCode"]({codeType:e,dispatch:a,order:s.order,config:c}),addResourceToInclude:e=>OrderContext_1.defaultOrderContext["addResourceToInclude"](Object.assign(Object.assign({},e),{dispatch:a,resourcesIncluded:s.include})),updateOrder:async e=>await OrderContext_1.defaultOrderContext["updateOrder"](Object.assign(Object.assign({},e),{dispatch:a,config:c,include:s.include}))})),[s]);return(0,jsx_runtime_1.jsx)(OrderContext_1.default.Provider,Object.assign({value:l},{children:t}),void 0)};OrderContainer.propTypes=propTypes;OrderContainer.defaultProps=defaultProps;OrderContainer.displayName=displayName;exports.default=OrderContainer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});const tslib_1=require("tslib");const jsx_runtime_1=require("react/jsx-runtime");const react_1=require("react");const OrderReducer_1=(0,tslib_1.__importStar)(require("../reducers/OrderReducer"));const CommerceLayerContext_1=(0,tslib_1.__importDefault)(require("../context/CommerceLayerContext"));const OrderContext_1=(0,tslib_1.__importStar)(require("../context/OrderContext"));const OrderReducer_2=require("../reducers/OrderReducer");const components_1=(0,tslib_1.__importDefault)(require("../config/components"));const OrderStorageContext_1=(0,tslib_1.__importDefault)(require("../context/OrderStorageContext"));const propTypes=components_1.default.OrderContainer.propTypes;const defaultProps=components_1.default.OrderContainer.defaultProps;const displayName=components_1.default.OrderContainer.displayName;const OrderContainer=e=>{const{orderId:r,children:t,metadata:d,attributes:o}=e;const[s,a]=(0,react_1.useReducer)(OrderReducer_1.default,OrderReducer_1.orderInitialState);const c=(0,react_1.useContext)(CommerceLayerContext_1.default);const{persistKey:n,clearWhenPlaced:i,getLocalOrder:u,setLocalOrder:O,deleteLocalOrder:p}=(0,react_1.useContext)(OrderStorageContext_1.default);(0,react_1.useEffect)((()=>{if(c.accessToken){const e=n?u(n):r;if(e){a({type:"setOrderId",payload:{orderId:e}});if(!s.order){(0,OrderReducer_1.getApiOrder)({id:e,dispatch:a,config:c,persistKey:n,clearWhenPlaced:i,deleteLocalOrder:p,state:s})}}}return()=>(0,OrderReducer_2.unsetOrderState)(a)}),[c.accessToken,r]);const l=(0,react_1.useMemo)((()=>Object.assign(Object.assign({},s),{setOrder:e=>(0,OrderReducer_1.setOrder)(e,a),getOrder:e=>(0,OrderReducer_1.getApiOrder)({id:e,dispatch:a,config:c,state:s}),setOrderErrors:e=>(0,OrderReducer_1.setOrderErrors)({dispatch:a,errors:e}),createOrder:async()=>await(0,OrderReducer_1.createOrder)({persistKey:n,dispatch:a,config:c,state:s,orderMetadata:d,orderAttributes:o}),addToCart:e=>OrderContext_1.defaultOrderContext["addToCart"](Object.assign(Object.assign({},e),{persistKey:n,dispatch:a,state:s,config:c,errors:s.errors,orderMetadata:d||{},orderAttributes:o,setLocalOrder:O})),saveAddressToCustomerAddressBook:e=>OrderContext_1.defaultOrderContext["saveAddressToCustomerAddressBook"](Object.assign(Object.assign({},e),{dispatch:a})),setGiftCardOrCouponCode:({code:e})=>OrderContext_1.defaultOrderContext["setGiftCardOrCouponCode"]({code:e,dispatch:a,order:s.order,config:c}),removeGiftCardOrCouponCode:({codeType:e})=>OrderContext_1.defaultOrderContext["removeGiftCardOrCouponCode"]({codeType:e,dispatch:a,order:s.order,config:c}),addResourceToInclude:e=>OrderContext_1.defaultOrderContext["addResourceToInclude"](Object.assign(Object.assign({},e),{dispatch:a,resourcesIncluded:s.include})),updateOrder:async e=>await OrderContext_1.defaultOrderContext["updateOrder"](Object.assign(Object.assign({},e),{dispatch:a,config:c,include:s.include}))})),[s]);return(0,jsx_runtime_1.jsx)(OrderContext_1.default.Provider,Object.assign({value:l},{children:t}),void 0)};OrderContainer.propTypes=propTypes;OrderContainer.defaultProps=defaultProps;OrderContainer.displayName=displayName;exports.default=OrderContainer;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.setPlaceOrder=exports.placeOrderPermitted=exports.setPlaceOrderErrors=exports.placeOrderInitialState=void 0;const tslib_1=require("tslib");const baseReducer_1=(0,tslib_1.__importDefault)(require("../utils/baseReducer"));const isEmpty_1=(0,tslib_1.__importDefault)(require("lodash/isEmpty"));const shipments_1=require("../utils/shipments");const customerOrderOptions_1=require("../utils/customerOrderOptions");const getSdk_1=(0,tslib_1.__importDefault)(require("../utils/getSdk"));const getErrors_1=(0,tslib_1.__importDefault)(require("../utils/getErrors"));exports.placeOrderInitialState={errors:[],isPermitted:false};const setPlaceOrderErrors=(e,t)=>{t&&t({type:"setErrors",payload:{errors:e}})};exports.setPlaceOrderErrors=setPlaceOrderErrors;const placeOrderPermitted=async({config:e,order:t,dispatch:r,options:s})=>{var a;if(t&&e){let e=true;if(t.privacy_url&&t.terms_url){e=localStorage.getItem("privacy-terms")==="true"}const i=t.billing_address;if((0,isEmpty_1.default)(i))e=false;const o=t.shipping_address;if((0,isEmpty_1.default)(o))e=false;const d=t.shipments;const l=d&&(0,shipments_1.shipmentsFilled)(d);if(!(0,isEmpty_1.default)(d)&&!l)e=false;const p=t.payment_method;const c=t.payment_source;if(t.total_amount_with_taxes_cents!==0&&(0,isEmpty_1.default)(p===null||p===void 0?void 0:p.id))e=false;r({type:"setPlaceOrderPermitted",payload:{isPermitted:e,paymentType:p===null||p===void 0?void 0:p.payment_source_type,paymentSecret:c===null||c===void 0?void 0:c.client_secret,paymentId:(a=c===null||c===void 0?void 0:c.options)===null||a===void 0?void 0:a.id,paymentSource:c,options:s}})}};exports.placeOrderPermitted=placeOrderPermitted;const setPlaceOrder=async({state:e,order:t,config:r,setOrderErrors:s,paymentSource:a})=>{const i={placed:false};try{debugger;if(e&&t&&r&&a){const o=(0,getSdk_1.default)(r);const{options:d,paymentType:l}=e;if(l==="paypal_payments"){if(!(d===null||d===void 0?void 0:d.paypalPayerId)&&(a===null||a===void 0?void 0:a.approval_url)){window.location.href=a===null||a===void 0?void 0:a.approval_url;return i}await o.paypal_payments.update({id:a.id,paypal_payer_id:d===null||d===void 0?void 0:d.paypalPayerId})}const p={id:t.id,_place:true};if((0,customerOrderOptions_1.saveBillingAddress)()){await o.orders.update({id:t.id,_save_billing_address_to_customer_address_book:true})}if((0,customerOrderOptions_1.saveShippingAddress)()){await o.orders.update({id:t.id,_save_shipping_address_to_customer_address_book:true})}switch(l){case"braintree_payments":if((0,customerOrderOptions_1.saveToWallet)()){await o.orders.update({id:t.id,_save_payment_source_to_customer_wallet:true})}await o.orders.update(p);s&&s([]);return{placed:true};default:if((0,customerOrderOptions_1.saveToWallet)()){await o.orders.update({id:t.id,_save_payment_source_to_customer_wallet:true})}await o.orders.update(p);s&&s([]);return{placed:true}}}return i}catch(e){const t=(0,getErrors_1.default)(e,"orders");s&&s(t);return Object.assign(Object.assign({},i),{errors:t})}};exports.setPlaceOrder=setPlaceOrder;const type=["setErrors","setPlaceOrderPermitted"];const placeOrderReducer=(e,t)=>(0,baseReducer_1.default)(e,t,type);exports.default=placeOrderReducer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.setPlaceOrder=exports.placeOrderPermitted=exports.setPlaceOrderErrors=exports.placeOrderInitialState=void 0;const tslib_1=require("tslib");const baseReducer_1=(0,tslib_1.__importDefault)(require("../utils/baseReducer"));const isEmpty_1=(0,tslib_1.__importDefault)(require("lodash/isEmpty"));const shipments_1=require("../utils/shipments");const customerOrderOptions_1=require("../utils/customerOrderOptions");const getSdk_1=(0,tslib_1.__importDefault)(require("../utils/getSdk"));const getErrors_1=(0,tslib_1.__importDefault)(require("../utils/getErrors"));exports.placeOrderInitialState={errors:[],isPermitted:false};const setPlaceOrderErrors=(e,t)=>{t&&t({type:"setErrors",payload:{errors:e}})};exports.setPlaceOrderErrors=setPlaceOrderErrors;const placeOrderPermitted=async({config:e,order:t,dispatch:r,options:s})=>{var a;if(t&&e){let e=true;if(t.privacy_url&&t.terms_url){e=localStorage.getItem("privacy-terms")==="true"}const i=t.billing_address;if((0,isEmpty_1.default)(i))e=false;const o=t.shipping_address;if((0,isEmpty_1.default)(o))e=false;const d=t.shipments;const l=d&&(0,shipments_1.shipmentsFilled)(d);if(!(0,isEmpty_1.default)(d)&&!l)e=false;const p=t.payment_method;const c=t.payment_source;if(t.total_amount_with_taxes_cents!==0&&(0,isEmpty_1.default)(p===null||p===void 0?void 0:p.id))e=false;r({type:"setPlaceOrderPermitted",payload:{isPermitted:e,paymentType:p===null||p===void 0?void 0:p.payment_source_type,paymentSecret:c===null||c===void 0?void 0:c.client_secret,paymentId:(a=c===null||c===void 0?void 0:c.options)===null||a===void 0?void 0:a.id,paymentSource:c,options:s}})}};exports.placeOrderPermitted=placeOrderPermitted;const setPlaceOrder=async({state:e,order:t,config:r,setOrderErrors:s,paymentSource:a})=>{const i={placed:false};try{if(e&&t&&r&&a){const o=(0,getSdk_1.default)(r);const{options:d,paymentType:l}=e;if(l==="paypal_payments"){if(!(d===null||d===void 0?void 0:d.paypalPayerId)&&(a===null||a===void 0?void 0:a.approval_url)){window.location.href=a===null||a===void 0?void 0:a.approval_url;return i}await o.paypal_payments.update({id:a.id,paypal_payer_id:d===null||d===void 0?void 0:d.paypalPayerId})}const p={id:t.id,_place:true};if((0,customerOrderOptions_1.saveBillingAddress)()){await o.orders.update({id:t.id,_save_billing_address_to_customer_address_book:true})}if((0,customerOrderOptions_1.saveShippingAddress)()){await o.orders.update({id:t.id,_save_shipping_address_to_customer_address_book:true})}switch(l){case"braintree_payments":if((0,customerOrderOptions_1.saveToWallet)()){await o.orders.update({id:t.id,_save_payment_source_to_customer_wallet:true})}await o.orders.update(p);s&&s([]);return{placed:true};default:if((0,customerOrderOptions_1.saveToWallet)()){await o.orders.update({id:t.id,_save_payment_source_to_customer_wallet:true})}await o.orders.update(p);s&&s([]);return{placed:true}}}return i}catch(e){const t=(0,getErrors_1.default)(e,"orders");s&&s(t);return Object.assign(Object.assign({},i),{errors:t})}};exports.setPlaceOrder=setPlaceOrder;const type=["setErrors","setPlaceOrderPermitted"];const placeOrderReducer=(e,t)=>(0,baseReducer_1.default)(e,t,type);exports.default=placeOrderReducer;
@@ -1 +1 @@
1
- import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useContext,useEffect,useRef,useState}from"react";import PaymentMethodContext from"../context/PaymentMethodContext";import isEmpty from"lodash/isEmpty";import{setCustomerOrderParam}from"../utils/localStorage";import Parent from"./utils/Parent";import getBrowserInfo from"../utils/browserInfo";import PlaceOrderContext from"../context/PlaceOrderContext";const threeDSConfiguration={challengeWindowSize:"05"};const defaultConfig={};const AdyenPayment=({clientKey:e,config:t,templateCustomerSaveToWallet:n,environment:o="test",locale:a="en_US"})=>{const{cardContainerClassName:r,threeDSecureContainerClassName:s,placeOrderCallback:i,styles:d}=Object.assign(Object.assign({},defaultConfig),t);const[c,l]=useState(false);const[m,u]=useState({});const{setPaymentSource:y,paymentSource:p,setPaymentMethodErrors:_,currentPaymentMethodType:f,setPaymentRef:v}=useContext(PaymentMethodContext);const{setPlaceOrder:h}=useContext(PlaceOrderContext);const g=useRef(null);const C=async(e,t)=>{var n,o,a,r,s,i,d;const c=(o=(n=e===null||e===void 0?void 0:e.elements)===null||n===void 0?void 0:n["save_payment_source_to_customer_wallet"])===null||o===void 0?void 0:o.checked;if(c)setCustomerOrderParam("_save_payment_source_to_customer_wallet",c);const l={_authorize:1};try{const e=p&&await y({paymentSourceId:p.id,paymentResource:"adyen_payments",attributes:l});debugger;const n=(a=e===null||e===void 0?void 0:e.payment_response)===null||a===void 0?void 0:a.action;const o=(r=e===null||e===void 0?void 0:e.payment_response)===null||r===void 0?void 0:r.resultCode;if(n&&o==="IdentifyShopper"){t.createFromAction(n,threeDSConfiguration).mount("#adyen-action")}else if(["Authorised","Pending","Received"].includes(o)){const t=(i=(s=e===null||e===void 0?void 0:e.payment_request_data)===null||s===void 0?void 0:s.payment_method)===null||i===void 0?void 0:i.brand;if(t){const n={metadata:{card:{brand:t}}};await y({paymentSourceId:e===null||e===void 0?void 0:e.id,paymentResource:"adyen_payments",attributes:n})}return true}const c=(d=e===null||e===void 0?void 0:e.payment_response)===null||d===void 0?void 0:d.refusalReason;_([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:f,message:c}]);return false}catch(e){_([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:f,message:e.message}]);return false}};const w=async(e,t,n,o)=>{if(e.isValid){if(g.current){const e=require("@adyen/adyen-web");const t=await e(n);g.current.onsubmit=()=>C(g.current,t);v({ref:g})}let t=getBrowserInfo();const a={payment_request_data:{payment_method:e.data.paymentMethod,shopperInteraction:"Ecommerce",recurringProcessingModel:"CardOnFile",origin:window.location.origin,return_url:window.location.href,browser_info:Object.assign({acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"},t)}};o&&await y({paymentSourceId:o.id,paymentResource:"adyen_payments",attributes:a})}};const P=async(e,t,n)=>{var o,a;const r={payment_request_details:e.data,_details:1};try{const e=p&&await y({paymentSourceId:p.id,paymentResource:"adyen_payments",attributes:r});const t=(o=e===null||e===void 0?void 0:e.payment_response)===null||o===void 0?void 0:o.action;const s=(a=e===null||e===void 0?void 0:e.payment_response)===null||a===void 0?void 0:a.resultCode;const d=require("@adyen/adyen-web");if(t){const e=await d(n);e.createFromAction(t,threeDSConfiguration).mount("#adyen-action")}if(["Authorised","Pending","Received"].includes(s)){const{placed:t}=h&&await h({paymentSource:e})||{placed:false};t&&i&&i({placed:t})}}catch(e){console.error("Adyen additional details error:",e)}};useEffect((()=>{const t=!isEmpty(p===null||p===void 0?void 0:p.payment_methods)?p===null||p===void 0?void 0:p.payment_methods:{};if(isEmpty(t))console.error("Payment methods are not available. Please, check your Adyen configuration.");const n={locale:a,environment:o,clientKey:e,paymentMethodsResponse:t};n.onChange=(e,t)=>w(e,t,n,p);n.onAdditionalDetails=(e,t)=>P(e,t,n);if(!g&&e)setCustomerOrderParam("_save_payment_source_to_customer_wallet","false");if(e&&!c&&!isEmpty(window)){const e=require("@adyen/adyen-web");e(n).then((e=>{const t=e.create("card",{styles:d}).mount("#adyen-card");if(t){u(e);l(true)}}))}return()=>{v({ref:{current:null}});l(false)}}),[e,g]);return!e&&!c&&!m?null:_jsxs("form",Object.assign({ref:g,onSubmit:e=>C(e,m)},{children:[_jsx("div",{className:r,id:"adyen-card"},void 0),n&&_jsx(Parent,Object.assign({},{name:"save_payment_source_to_customer_wallet"},{children:n}),void 0),_jsx("div",{className:s,id:"adyen-action"},void 0)]}),void 0)};export default AdyenPayment;
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useContext,useEffect,useRef,useState}from"react";import PaymentMethodContext from"../context/PaymentMethodContext";import isEmpty from"lodash/isEmpty";import{setCustomerOrderParam}from"../utils/localStorage";import Parent from"./utils/Parent";import getBrowserInfo from"../utils/browserInfo";import PlaceOrderContext from"../context/PlaceOrderContext";const threeDSConfiguration={challengeWindowSize:"05"};const defaultConfig={};const AdyenPayment=({clientKey:e,config:t,templateCustomerSaveToWallet:n,environment:o="test",locale:a="en_US"})=>{const{cardContainerClassName:s,threeDSecureContainerClassName:r,placeOrderCallback:i,styles:d}=Object.assign(Object.assign({},defaultConfig),t);const[c,l]=useState(false);const[m,u]=useState({});const{setPaymentSource:y,paymentSource:p,setPaymentMethodErrors:_,currentPaymentMethodType:f,setPaymentRef:v}=useContext(PaymentMethodContext);const{setPlaceOrder:h}=useContext(PlaceOrderContext);const g=useRef(null);const C=async(e,t)=>{var n,o,a,s,r,i,d;const c=(o=(n=e===null||e===void 0?void 0:e.elements)===null||n===void 0?void 0:n["save_payment_source_to_customer_wallet"])===null||o===void 0?void 0:o.checked;if(c)setCustomerOrderParam("_save_payment_source_to_customer_wallet",c);const l={_authorize:1};try{const e=p&&await y({paymentSourceId:p.id,paymentResource:"adyen_payments",attributes:l});const n=(a=e===null||e===void 0?void 0:e.payment_response)===null||a===void 0?void 0:a.action;const o=(s=e===null||e===void 0?void 0:e.payment_response)===null||s===void 0?void 0:s.resultCode;if(n&&o==="IdentifyShopper"){t.createFromAction(n,threeDSConfiguration).mount("#adyen-action")}else if(["Authorised","Pending","Received"].includes(o)){const t=(i=(r=e===null||e===void 0?void 0:e.payment_request_data)===null||r===void 0?void 0:r.payment_method)===null||i===void 0?void 0:i.brand;if(t){const n={metadata:{card:{brand:t}}};await y({paymentSourceId:e===null||e===void 0?void 0:e.id,paymentResource:"adyen_payments",attributes:n})}return true}const c=(d=e===null||e===void 0?void 0:e.payment_response)===null||d===void 0?void 0:d.refusalReason;_([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:f,message:c}]);return false}catch(e){_([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:f,message:e.message}]);return false}};const w=async(e,t,n,o)=>{if(e.isValid){if(g.current){const e=require("@adyen/adyen-web");const t=await e(n);g.current.onsubmit=()=>C(g.current,t);v({ref:g})}let t=getBrowserInfo();const a={payment_request_data:{payment_method:e.data.paymentMethod,shopperInteraction:"Ecommerce",recurringProcessingModel:"CardOnFile",origin:window.location.origin,return_url:window.location.href,browser_info:Object.assign({acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"},t)}};o&&await y({paymentSourceId:o.id,paymentResource:"adyen_payments",attributes:a})}};const P=async(e,t,n)=>{var o,a;const s={payment_request_details:e.data,_details:1};try{const e=p&&await y({paymentSourceId:p.id,paymentResource:"adyen_payments",attributes:s});const t=(o=e===null||e===void 0?void 0:e.payment_response)===null||o===void 0?void 0:o.action;const r=(a=e===null||e===void 0?void 0:e.payment_response)===null||a===void 0?void 0:a.resultCode;const d=require("@adyen/adyen-web");if(t){const e=await d(n);e.createFromAction(t,threeDSConfiguration).mount("#adyen-action")}if(["Authorised","Pending","Received"].includes(r)){const{placed:t}=h&&await h({paymentSource:e})||{placed:false};t&&i&&i({placed:t})}}catch(e){console.error("Adyen additional details error:",e)}};useEffect((()=>{const t=!isEmpty(p===null||p===void 0?void 0:p.payment_methods)?p===null||p===void 0?void 0:p.payment_methods:{};if(isEmpty(t))console.error("Payment methods are not available. Please, check your Adyen configuration.");const n={locale:a,environment:o,clientKey:e,paymentMethodsResponse:t};n.onChange=(e,t)=>w(e,t,n,p);n.onAdditionalDetails=(e,t)=>P(e,t,n);if(!g&&e)setCustomerOrderParam("_save_payment_source_to_customer_wallet","false");if(e&&!c&&!isEmpty(window)){const e=require("@adyen/adyen-web");e(n).then((e=>{const t=e.create("card",{styles:d}).mount("#adyen-card");if(t){u(e);l(true)}}))}return()=>{v({ref:{current:null}});l(false)}}),[e,g]);return!e&&!c&&!m?null:_jsxs("form",Object.assign({ref:g,onSubmit:e=>C(e,m)},{children:[_jsx("div",{className:s,id:"adyen-card"},void 0),n&&_jsx(Parent,Object.assign({},{name:"save_payment_source_to_customer_wallet"},{children:n}),void 0),_jsx("div",{className:r,id:"adyen-action"},void 0)]}),void 0)};export default AdyenPayment;
@@ -1 +1 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useEffect,useReducer,useContext,useMemo}from"react";import orderReducer,{createOrder,getApiOrder,setOrderErrors,setOrder,orderInitialState}from"../reducers/OrderReducer";import CommerceLayerContext from"../context/CommerceLayerContext";import OrderContext,{defaultOrderContext}from"../context/OrderContext";import{unsetOrderState}from"../reducers/OrderReducer";import components from"../config/components";import OrderStorageContext from"../context/OrderStorageContext";const propTypes=components.OrderContainer.propTypes;const defaultProps=components.OrderContainer.defaultProps;const displayName=components.OrderContainer.displayName;const OrderContainer=e=>{const{orderId:r,children:t,metadata:o,attributes:d}=e;const[s,a]=useReducer(orderReducer,orderInitialState);const n=useContext(CommerceLayerContext);const{persistKey:c,clearWhenPlaced:i,getLocalOrder:p,setLocalOrder:O,deleteLocalOrder:u}=useContext(OrderStorageContext);useEffect((()=>{if(n.accessToken){const e=c?p(c):r;if(e){a({type:"setOrderId",payload:{orderId:e}});if(!s.order){getApiOrder({id:e,dispatch:a,config:n,persistKey:c,clearWhenPlaced:i,deleteLocalOrder:u,state:s})}}}return()=>unsetOrderState(a)}),[n.accessToken,r,s.include]);const C=useMemo((()=>Object.assign(Object.assign({},s),{setOrder:e=>setOrder(e,a),getOrder:e=>getApiOrder({id:e,dispatch:a,config:n,state:s}),setOrderErrors:e=>setOrderErrors({dispatch:a,errors:e}),createOrder:async()=>await createOrder({persistKey:c,dispatch:a,config:n,state:s,orderMetadata:o,orderAttributes:d}),addToCart:e=>defaultOrderContext["addToCart"](Object.assign(Object.assign({},e),{persistKey:c,dispatch:a,state:s,config:n,errors:s.errors,orderMetadata:o||{},orderAttributes:d,setLocalOrder:O})),saveAddressToCustomerAddressBook:e=>defaultOrderContext["saveAddressToCustomerAddressBook"](Object.assign(Object.assign({},e),{dispatch:a})),setGiftCardOrCouponCode:({code:e})=>defaultOrderContext["setGiftCardOrCouponCode"]({code:e,dispatch:a,order:s.order,config:n}),removeGiftCardOrCouponCode:({codeType:e})=>defaultOrderContext["removeGiftCardOrCouponCode"]({codeType:e,dispatch:a,order:s.order,config:n}),addResourceToInclude:e=>defaultOrderContext["addResourceToInclude"](Object.assign(Object.assign({},e),{dispatch:a,resourcesIncluded:s.include})),updateOrder:async e=>await defaultOrderContext["updateOrder"](Object.assign(Object.assign({},e),{dispatch:a,config:n,include:s.include}))})),[s]);return _jsx(OrderContext.Provider,Object.assign({value:C},{children:t}),void 0)};OrderContainer.propTypes=propTypes;OrderContainer.defaultProps=defaultProps;OrderContainer.displayName=displayName;export default OrderContainer;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{useEffect,useReducer,useContext,useMemo}from"react";import orderReducer,{createOrder,getApiOrder,setOrderErrors,setOrder,orderInitialState}from"../reducers/OrderReducer";import CommerceLayerContext from"../context/CommerceLayerContext";import OrderContext,{defaultOrderContext}from"../context/OrderContext";import{unsetOrderState}from"../reducers/OrderReducer";import components from"../config/components";import OrderStorageContext from"../context/OrderStorageContext";const propTypes=components.OrderContainer.propTypes;const defaultProps=components.OrderContainer.defaultProps;const displayName=components.OrderContainer.displayName;const OrderContainer=e=>{const{orderId:r,children:t,metadata:o,attributes:d}=e;const[s,a]=useReducer(orderReducer,orderInitialState);const n=useContext(CommerceLayerContext);const{persistKey:c,clearWhenPlaced:i,getLocalOrder:p,setLocalOrder:O,deleteLocalOrder:u}=useContext(OrderStorageContext);useEffect((()=>{if(n.accessToken){const e=c?p(c):r;if(e){a({type:"setOrderId",payload:{orderId:e}});if(!s.order){getApiOrder({id:e,dispatch:a,config:n,persistKey:c,clearWhenPlaced:i,deleteLocalOrder:u,state:s})}}}return()=>unsetOrderState(a)}),[n.accessToken,r]);const C=useMemo((()=>Object.assign(Object.assign({},s),{setOrder:e=>setOrder(e,a),getOrder:e=>getApiOrder({id:e,dispatch:a,config:n,state:s}),setOrderErrors:e=>setOrderErrors({dispatch:a,errors:e}),createOrder:async()=>await createOrder({persistKey:c,dispatch:a,config:n,state:s,orderMetadata:o,orderAttributes:d}),addToCart:e=>defaultOrderContext["addToCart"](Object.assign(Object.assign({},e),{persistKey:c,dispatch:a,state:s,config:n,errors:s.errors,orderMetadata:o||{},orderAttributes:d,setLocalOrder:O})),saveAddressToCustomerAddressBook:e=>defaultOrderContext["saveAddressToCustomerAddressBook"](Object.assign(Object.assign({},e),{dispatch:a})),setGiftCardOrCouponCode:({code:e})=>defaultOrderContext["setGiftCardOrCouponCode"]({code:e,dispatch:a,order:s.order,config:n}),removeGiftCardOrCouponCode:({codeType:e})=>defaultOrderContext["removeGiftCardOrCouponCode"]({codeType:e,dispatch:a,order:s.order,config:n}),addResourceToInclude:e=>defaultOrderContext["addResourceToInclude"](Object.assign(Object.assign({},e),{dispatch:a,resourcesIncluded:s.include})),updateOrder:async e=>await defaultOrderContext["updateOrder"](Object.assign(Object.assign({},e),{dispatch:a,config:n,include:s.include}))})),[s]);return _jsx(OrderContext.Provider,Object.assign({value:C},{children:t}),void 0)};OrderContainer.propTypes=propTypes;OrderContainer.defaultProps=defaultProps;OrderContainer.displayName=displayName;export default OrderContainer;
@@ -1 +1 @@
1
- import baseReducer from"../utils/baseReducer";import isEmpty from"lodash/isEmpty";import{shipmentsFilled}from"../utils/shipments";import{saveBillingAddress,saveShippingAddress,saveToWallet}from"../utils/customerOrderOptions";import getSdk from"../utils/getSdk";import getErrors from"../utils/getErrors";export const placeOrderInitialState={errors:[],isPermitted:false};export const setPlaceOrderErrors=(e,t)=>{t&&t({type:"setErrors",payload:{errors:e}})};export const placeOrderPermitted=async({config:e,order:t,dispatch:r,options:s})=>{var a;if(t&&e){let e=true;if(t.privacy_url&&t.terms_url){e=localStorage.getItem("privacy-terms")==="true"}const i=t.billing_address;if(isEmpty(i))e=false;const o=t.shipping_address;if(isEmpty(o))e=false;const d=t.shipments;const p=d&&shipmentsFilled(d);if(!isEmpty(d)&&!p)e=false;const l=t.payment_method;const n=t.payment_source;if(t.total_amount_with_taxes_cents!==0&&isEmpty(l===null||l===void 0?void 0:l.id))e=false;r({type:"setPlaceOrderPermitted",payload:{isPermitted:e,paymentType:l===null||l===void 0?void 0:l.payment_source_type,paymentSecret:n===null||n===void 0?void 0:n.client_secret,paymentId:(a=n===null||n===void 0?void 0:n.options)===null||a===void 0?void 0:a.id,paymentSource:n,options:s}})}};export const setPlaceOrder=async({state:e,order:t,config:r,setOrderErrors:s,paymentSource:a})=>{const i={placed:false};try{debugger;if(e&&t&&r&&a){const o=getSdk(r);const{options:d,paymentType:p}=e;if(p==="paypal_payments"){if(!(d===null||d===void 0?void 0:d.paypalPayerId)&&(a===null||a===void 0?void 0:a.approval_url)){window.location.href=a===null||a===void 0?void 0:a.approval_url;return i}await o.paypal_payments.update({id:a.id,paypal_payer_id:d===null||d===void 0?void 0:d.paypalPayerId})}const l={id:t.id,_place:true};if(saveBillingAddress()){await o.orders.update({id:t.id,_save_billing_address_to_customer_address_book:true})}if(saveShippingAddress()){await o.orders.update({id:t.id,_save_shipping_address_to_customer_address_book:true})}switch(p){case"braintree_payments":if(saveToWallet()){await o.orders.update({id:t.id,_save_payment_source_to_customer_wallet:true})}await o.orders.update(l);s&&s([]);return{placed:true};default:if(saveToWallet()){await o.orders.update({id:t.id,_save_payment_source_to_customer_wallet:true})}await o.orders.update(l);s&&s([]);return{placed:true}}}return i}catch(e){const t=getErrors(e,"orders");s&&s(t);return Object.assign(Object.assign({},i),{errors:t})}};const type=["setErrors","setPlaceOrderPermitted"];const placeOrderReducer=(e,t)=>baseReducer(e,t,type);export default placeOrderReducer;
1
+ import baseReducer from"../utils/baseReducer";import isEmpty from"lodash/isEmpty";import{shipmentsFilled}from"../utils/shipments";import{saveBillingAddress,saveShippingAddress,saveToWallet}from"../utils/customerOrderOptions";import getSdk from"../utils/getSdk";import getErrors from"../utils/getErrors";export const placeOrderInitialState={errors:[],isPermitted:false};export const setPlaceOrderErrors=(e,t)=>{t&&t({type:"setErrors",payload:{errors:e}})};export const placeOrderPermitted=async({config:e,order:t,dispatch:r,options:s})=>{var a;if(t&&e){let e=true;if(t.privacy_url&&t.terms_url){e=localStorage.getItem("privacy-terms")==="true"}const i=t.billing_address;if(isEmpty(i))e=false;const o=t.shipping_address;if(isEmpty(o))e=false;const d=t.shipments;const p=d&&shipmentsFilled(d);if(!isEmpty(d)&&!p)e=false;const l=t.payment_method;const n=t.payment_source;if(t.total_amount_with_taxes_cents!==0&&isEmpty(l===null||l===void 0?void 0:l.id))e=false;r({type:"setPlaceOrderPermitted",payload:{isPermitted:e,paymentType:l===null||l===void 0?void 0:l.payment_source_type,paymentSecret:n===null||n===void 0?void 0:n.client_secret,paymentId:(a=n===null||n===void 0?void 0:n.options)===null||a===void 0?void 0:a.id,paymentSource:n,options:s}})}};export const setPlaceOrder=async({state:e,order:t,config:r,setOrderErrors:s,paymentSource:a})=>{const i={placed:false};try{if(e&&t&&r&&a){const o=getSdk(r);const{options:d,paymentType:p}=e;if(p==="paypal_payments"){if(!(d===null||d===void 0?void 0:d.paypalPayerId)&&(a===null||a===void 0?void 0:a.approval_url)){window.location.href=a===null||a===void 0?void 0:a.approval_url;return i}await o.paypal_payments.update({id:a.id,paypal_payer_id:d===null||d===void 0?void 0:d.paypalPayerId})}const l={id:t.id,_place:true};if(saveBillingAddress()){await o.orders.update({id:t.id,_save_billing_address_to_customer_address_book:true})}if(saveShippingAddress()){await o.orders.update({id:t.id,_save_shipping_address_to_customer_address_book:true})}switch(p){case"braintree_payments":if(saveToWallet()){await o.orders.update({id:t.id,_save_payment_source_to_customer_wallet:true})}await o.orders.update(l);s&&s([]);return{placed:true};default:if(saveToWallet()){await o.orders.update({id:t.id,_save_payment_source_to_customer_wallet:true})}await o.orders.update(l);s&&s([]);return{placed:true}}}return i}catch(e){const t=getErrors(e,"orders");s&&s(t);return Object.assign(Object.assign({},i),{errors:t})}};const type=["setErrors","setPlaceOrderPermitted"];const placeOrderReducer=(e,t)=>baseReducer(e,t,type);export default placeOrderReducer;