Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL
1 / 8

Men Long Sleeve Shirt Button Up Casual Top Male V-Neck Button Tee Shirts M-2XL

The current produc does not participate any Rebate. Switch the participating product to check the design.
(This prompt will not be displayed on the client-side.)
var theme = window.C_SETTINGS && C_SETTINGS.theme && C_SETTINGS.theme.merchant_theme_name; var isFlash = /Flash/gi.test(theme); var isGeek = /Geek/gi.test(theme); var isNova23 = /Nova 2023/gi.test(theme); var isWind = /Wind/gi.test(theme); var isOnePage = /OnePage/gi.test(theme); var isHero = /Hero/gi.test(theme); var isBoost = /Boost/gi.test(theme); var isEva = /Eva/gi.test(theme); var isFarida = /Farida/gi.test(theme); var isPluto = /Pluto/gi.test(theme); var isLifeStyle = /Life Style/gi.test(theme); if(window.self === window.top) { (window.disabled_exts ||=[]).push('product_detail_rebate'); } class SpzRebateComponent extends SPZ.BaseElement { constructor(element) { super(element); } xhr_ = SPZServices.xhrFor(this.win); viewport_ = this.getViewport(); action_ = null; lang = document.documentElement.lang || 'en-US'; landPage = "\/promotions\/rebate\/"; pageType = 1; cart = []; initData = null; rebateInfo = null; renderData = null; footerImage = `${this.win.SHOPLAZZA["image_domain"]}oss/operation/e8ebb03dbb710457ca3b4b6a70898ab2.svg`; isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.initData = this.getProduct(); this.action_ = SPZServices.actionServiceForDoc(this.element); this.registerAction("triggerGetRenderData", () => { const event = SPZUtils.Event.create(this.win, "triggerGetRenderData", this.renderData); this.action_.trigger(this.element, "getRenderData", event); }); this.registerAction("bindPropagation", () => { document.querySelector(".product_detail_rebate_list").addEventListener("click", e => { e.stopPropagation(); this.win.sa && this.win.sa.track("plugin_rebate_promotion_click", { plugin_timestamp: Date.now(), plugin_location: "info", product_id: this.initData.product.id, discount_id: this.rebateInfo.discount_list.map((item) => item.discount_id)[0], }); }); }); } async mountCallback() { document.addEventListener("dj.variantChange", e => { const data = e.detail; if (document.querySelector("#product-select-modal.show")) return; this.initData = this.getProductJson(data); if (this.initData && this.initData.product && data.product && this.initData.product.id === data.product.id) { this.initRebate(this.initData, true); } else { this.getRebateInfo(); } }); document.addEventListener("dj.addToCart", e => { const v = e.detail; this.rebateInfo && this.win.sa && this.win.sa.track("plugin_rebate_atc", { variant_discount_id: this.getVariantDiscountId(v.variant_id).map(item => item.discount_id), discount_ids: this.rebateInfo.discount_list.map(item => item.discount_id), variant_id: v.variant_id, product_id: v.product_id, price: v.item_price, number: v.number, }); }); await this.getRebateInfo(); setTimeout(()=>{ if (document.querySelector(".plugin-container__bottom-fixed")) { this.showDiscountPopupsInfoBar(); } else { this.win.addEventListener("extloaded", () => { this.showDiscountPopupsInfoBar(); }); } },1000) } getProductJson = (mergeData = {}) => { const productJson = document.querySelector("#product-json"); let productJsonData = {}; if (productJson && productJson.textContent) { try { productJsonData = JSON.parse(productJson.textContent); } catch (e) {} } // 深度合并函数 const deepMerge = (target, source) => { if (source === null || source === undefined) { return target; } if (typeof source !== 'object' || Array.isArray(source)) { return source; } const result = { ...target }; for (const key in source) { if (source.hasOwnProperty(key)) { if ( typeof source[key] === 'object' && source[key] !== null && !Array.isArray(source[key]) && typeof target[key] === 'object' && target[key] !== null && !Array.isArray(target[key]) ) { result[key] = deepMerge(target[key], source[key]); } else { result[key] = source[key]; } } } return result; }; return deepMerge(productJsonData, mergeData); } getProduct = (() => { document.addEventListener("dj.variantChange", e => { if (!e.detail || !e.detail.product) return; let productJsonData = getProductJson(e.detail); if (this.win.jQuery && this.win.jQuery.fn && this.win.jQuery(document).data("djproduct") && productJsonData) { this.win.jQuery(document).data("djproduct", productJsonData); } }); return () => { let productData = null; if (this.win.jQuery && this.win.jQuery.fn) { try { let product = this.win.jQuery(document).data("djproduct"); if (product) { productData = JSON.parse(JSON.stringify(product)); } else { productData = null; } } catch (error) { productData = null; } } if (!productData) { const productJson = document.querySelector("#product-json"); productData = (productJson && productJson.textContent && JSON.parse(productJson.textContent)) || null; } return productData; }; })(); clearRebateInfoDom = () => { // 1. 清除 apis.render 渲染的 DOM (app_rebate_section) const rebateSection = document.getElementById('app_rebate_section'); if (rebateSection) { const rebateRuleSection = rebateSection.querySelector('.rebate_rule_section'); if (rebateRuleSection) { rebateRuleSection.remove(); } } // 2. 清除 templates_.renderTemplate 渲染的 DOM (app_rebate_block) const rebateBlock = document.getElementById('app_rebate_block'); if (rebateBlock) { const appRebateList = rebateBlock.querySelector('.app_rebate_list'); if (appRebateList) { appRebateList.remove(); } } // 3. 清除 insertProductDetailRebateTag 插入的 DOM // 清除所有 rebate-tag 元素 document.querySelectorAll('.slider-discount-tag.dj_skin_product_title.rebate-tag').forEach(tag => { tag.remove(); }); // 移除 data-rebate-tag 属性 const productContainer = document.querySelector('.product-details, .product-details, .page_container, .product-images, [data-section-type="product"]'); if (productContainer && productContainer.hasAttribute('data-rebate-tag')) { productContainer.removeAttribute('data-rebate-tag'); } }; initRebate = this.win.SPZCore.Types.debounce( this.win, (async (data) => { let discount_list = Object.assign([], this.rebateInfo?.discount_list); /* 按子商品的多少对优惠信息进行排序 */ discount_list && discount_list.sort((a, b) => { return b.variant_ids.length - a.variant_ids.length; }); /* 选中子商品时 筛选子商品的优惠信息 */ if (data.selected && data.selected.id) { discount_list = this.getVariantDiscountId(data.selected.id); } /* 无满减信息 */ if (!(discount_list && discount_list.length)) { this.clearRebateInfoDom(); return; } const isSection = !!document.querySelector( `div[data-section-type^="shoplazza://apps/publicapp/blocks/rebate"] #rebate_custom_component` ); if ( (this.rebateInfo.rebate_type == "sku" && data && data.selected && data.selected.id) || this.rebateInfo.rebate_type == "spu" ) { let nowLandpage = this.landPage; if (discount_list[0]) { nowLandpage = this.landPage + discount_list[0].discount_id || ""; } const info = { rebate: discount_list[0], maxShowCount: this.win.innerWidth > 768 ? 3 : 1, landPage: nowLandpage, modalFooterImg: `url(${`${this.win.SHOPLAZZA["image_domain"]}oss/operation/e8ebb03dbb710457ca3b4b6a70898ab2.svg`})`, }; this.renderData = info; if(isSection) { SPZ.whenApiDefined( document.getElementById("app_rebate_section") ).then(apis => { apis.render(info, true); }); } else { // 重新渲染 抖动问题处理 this.templates_ = SPZServices.templatesForDoc(); const newTplDom = await this.templates_.renderTemplate(document.querySelector('#appRebateBlockTpl'), info) const parentDiv = document.querySelector('#app_rebate_block'); const oldDom = parentDiv.querySelector('.app_rebate_list'); if(oldDom){ parentDiv.replaceChild(newTplDom, oldDom); } else { parentDiv.appendChild(newTplDom); } } } this.insertProductDetailRebateTag(this.rebateInfo.tag); var pluginCurrencyEvent = new CustomEvent("plugin_currency_update"); document.dispatchEvent(pluginCurrencyEvent); }).bind(this), 10 ); getRebateInfo = async () => { if (this.initData && this.initData.product && this.initData.product.id) { var variant_ids = this.initData.product.variants.map(variant => variant.id); const res = await this.xhr_.fetchJson( "\/api\/discount-rebate\/product-discount", { method: "POST", body: { product_id: this.initData.product.id, product_type: this.initData.product.product_type, variant_ids: variant_ids, }, } ); if (!SPZCore.Types.isEmptyObject(res.rebate_info)) { res.rebate_info.tag = res.tag; res.rebate_info.rebate_type = res.rebate_type; this.rebateInfo = res.rebate_info; this.initRebate(this.initData); } else { if (this.win.top !== this.win.self) { const noActivity = document.getElementById("no-rebate-activity"); noActivity && (noActivity["style"].display = "block"); } } } }; getVariantDiscountId = (variant_id) => { if (!variant_id || !this.rebateInfo) return []; var rebateId = this.rebateInfo.variant_discount_map[variant_id]; return this.rebateInfo.discount_list.filter(item => item.discount_id == rebateId) || []; }; insertProductDetailRebateTag = (tag) => { if (!tag) return // 旧判断逻辑 const productSelectModal = document.querySelector('#product-select-modal'); if (productSelectModal && productSelectModal.classList.contains('show')) { return; } setTimeout(() => { var $tag_container = []; if (isNova23) { $tag_container = document.querySelectorAll('.product-details .product-images-container'); } else if (isFlash) { $tag_container = document.querySelectorAll('.product-detail .product-images .product-main-images-container'); } else if (isGeek) { $tag_container = document.querySelectorAll('.product-images #product-images-inner-container spz-carousel .i-spzhtml-slide-item'); } else if (isWind) { $tag_container = document.querySelectorAll('.product-detail .product-images-container .i-spzhtml-slides-container'); } else if (isOnePage) { $tag_container = document.querySelectorAll('.product-details .product-main-images'); } else if (isHero) { $tag_container = document.querySelectorAll('.product-detail #product-images-container #product-images-carousel .spz-carousel-slide'); } else if (isBoost) { $tag_container = document.querySelectorAll('.boost-product-detail .product-image__layout-list .slides .slides-item .product-info__slide .slider-zoom'); } else if (isEva) { $tag_container = document.querySelectorAll('.page_container [data-section-type="product"] .support-slick'); } else if (isFarida) { $tag_container = document.querySelectorAll('.product-details .product-images-container'); } else if (isLifeStyle) { $tag_container = document.querySelectorAll('.page_container [data-section-type="product_detail"] .sep-slider,.support-slick'); } else if (isPluto) { $tag_container = document.querySelectorAll('.page_container [data-section-type="product_detail"] .sep-slider,.support-slick'); } if($tag_container.length === 0) return; // 给商祥页添加满送插件的标识属性 const $product_container = document.querySelector('.product-details, .product-details, .page_container, .product-images, [data-section-type="product"]') if($product_container) { $product_container.setAttribute('data-rebate-tag', 'true'); } // 部分主题需要调整样式 if (isWind) { Array.from($tag_container).forEach(container => { container.style.position = 'relative'; }); } document.querySelectorAll('.slider-discount-tag.dj_skin_product_title.rebate-tag').forEach(tag => tag.remove()); // 遍历所有容器并插入标签 Array.from($tag_container).forEach(container => { container.insertAdjacentHTML('beforeend', `<div class="slider-discount-tag dj_skin_product_title rebate-tag">${tag}</div>`); }); }, 1000) }; fetchInfoBar = async () => { let discount_ids = []; if (this.pageType === 1) { discount_ids = this.rebateInfo && this.rebateInfo.discount_list.map(item => item.discount_id); } else if (this.pageType === 38) { discount_ids = [this.win.rebateObj.rebateCollection_id] || []; } const productObj = this.getProduct(); const { cart } = await this.xhr_.fetchJson('/api/cart') return this.xhr_.fetchJson("\/api\/discount-rebate\/global-text", { method: "POST", body: { product_type: productObj && productObj.product && productObj.product.product_type, line_items: (cart?.line_items || []).map(item => ({ variant_id: item.variant_id, product_id: item.product_id, quantity: item.quantity, price: item.price, selected: !item.unchecked, })), discount_ids: discount_ids, }, }); }; renderBottomBanner = res => { if (!res.tips) return; document.querySelector(".discount__info-bar")?.remove(); var bar_style = `background:linear-gradient(90deg,${res.config.background_color_start},${res.config.background_color_end}); color:${res.config.color};`; let data = { tips: res.tips, landPage: this.landPage + res.id, bar_style }; const html = SPZCore.Dom.htmlFor(this.element); const banner = html([ `<a impr="1" imprevt="1" id="rebate_bottom_bar" href=${data.landPage} class="discount__info-bar text-truncate" data-activity-type="rebate" style="${data.bar_style}">${data.tips}</a>`, ]); document.querySelector(".plugin-container__bottom-fixed").appendChild(banner); const pluginCurrencyEvent = new CustomEvent("plugin_currency_update"); document.dispatchEvent(pluginCurrencyEvent); if (res.id) { var trackParams = { page: this.pageType, discount_id: res.id, product_id: this.getProduct()?.product.id, }; banner.addEventListener("click", () => { this.win.sa && this.win.sa.track("plugin_rebate_promotion_click", { plugin_timestamp: Date.now(), plugin_location: "bottom_bar", product_id: trackParams.product_id, discount_id: trackParams.discount_id, }); }); this.win.sa && this.win.sa.track("plugin_rebate_banner_pv", trackParams); } }; showDiscountPopupsInfoBar = () => { if ([13, 14, 19, 30, 31].includes(this.pageType)) return; if (document.querySelector(".plugin-container__bottom-fixed .discount__info-bar")) return; this.fetchInfoBar().then(this.renderBottomBanner); document.addEventListener("dj.cartChange", () => { this.fetchInfoBar().then(this.renderBottomBanner); }); }; } SPZ.defineElement("spz-custom-rebate", SpzRebateComponent);
Color - Blue-173
Please select a color
Size
Please select a size
Price
$20.57
$0.00

Quantity

Features:100cm Brand new and high qualityMen Casual Pure Color Long Sleeve Flax Button Up ShirtMade of quality flax material, soft, breathable and comfortable to wearThe slim fit goes perfectly with your body curves Suitable for casual, office, street wear, date, meeting, party, etc Shirt only, any other accessories not included Specification:Material: CottonColor: White | Yellow | Blue | Black | PinkSize: M / L / XL / XXL Note:1. Please allow slight 1-3cm difference due to manual measurement and a little color variation for different display setting2. Size doesn't fit all, please carefully check size chart and select the size based on your real size Thank you and nice day! Package Includes:1 x Shirt






Shipping Policy

The items will be shipped by China Post , It will take 15-25 working days from shipment date.

The items will be shipped by USPS to USA, Absolutely Safe! EVERY PACKAGE HAVE TRACKING NUMBER. It will take 7-12workingdays from shipment date.

We also supply with DHL, UPS, EMS express shipping, but you need pay more money for express shipping. If you need express shipping service,please contact us before order(Telephone are must for international express shipping, If you need express shipping service, Please note your Telephone when your payment.)

Shiping Time:

All items will be posted to you within 3 working day (on the weekdays - Monday to Friday) the payment is cleared on seller's side

Estimated delivery time:

International package takes about 15-20 days to ship to destination; By post office past shipping statistic report, here below is the arrival lead time performance table for some countries, which is for buyer reference

Alipay

AliExpress supports Visa, Boleto, MasterCard, Maestro Debit Card, Western Union, Webmoney, QIWI and wire Transfer via banks. If you still have any questions on the payment, Feel free to contact us

1. We offer 14 days money back guarantee return policy.

2. Our warranty does not extended to any products that are physically damaged or that are not under normal operating conditions as a result of misuse or improper installation on the buyer/user's part.

3. For all returned products, buyers MUST contact us for the returning address.

4. In all cases, buyers pay shipping fees at their own cost to return products for exchange or refund. We will be responsible for the postage of replacements. Refund will be made upon receipt of the returned

About Feedback

1.When you satisfied with our product and services please leave us positive feedback and Five stars.

2.If you have any question, please contact us, we will try our best to help you solve it.

About Shipping

Receiving Time

Receiving time = Processing time +Shipping time.

  • Processing time: Normally 1-3 Business Days

The time we are talking about is a business day and may be delayed if we encounter holidays.

  • Shipping Time & Shipping Fees

 United States, Australia, Canada, New Zealand:

United States Standard Shipping (8-15 business days) - US$6.99(Orders Below USD$59)

Standard Shipping (8-15 business days) - Free(Orders Over USD$59)

Standard Shipping (8-15 business days) - US$9.9(Orders Below USD$59)

Rest of world (238 countries and regions):

Standard Shipping( 8-18 business days)- US$20

 

Delivery

You tracking number and the express company website link will be sent in e-mail immediately after we ship the order out.

Please contact us within 5 months since shipment if no receipt or delivery, our representative will resolve this problem within 24 hours. Note that overdue requests may not be accepted.

 

Important Notice:

1. Due to the virus problem, we disinfection all item and packages for your safety concern, and we suggest you disinfection the package when get it. And packages might be delayed. Please understand.

2. Processing time: In order to guarantee the quality of our products, FineGina.com has to prepare your goods carefully before they are shipped out. Our professionally trained technicians perform strict in-house quality control checks on all products and carefully package your items to ensure they arrive in excellent condition.

3. Under the virus situation, we use DHL or FedEx for the first part of shipping and transfer to local post service(USPS, AU Post~) to get it delivered for fastest shipping. You might be not able to track it at website for few days early, but we promise it should be delivered in time and it is legit number.

4. In Covid-19 outbreak, international logistics may encounter a 5-8 days delay.

 

Custom Tax or Duty

Normally customers will not be charged of any additional fees via regular mail. However, due to increasingly strict customs inspection, sometimes customers may have to pay tariff. 


Tips for shipping:

1) For delivering successfully, we suggest you leave correct email address, shipping address and mobile number during checkout process.

2) Unsuccessful delivery caused by blank mobile column cannot be compensated. 

3) PO Box  is not accepted if you choose express shipping. Your address should be detailed enough, even include apartment or unit number. Nondelivery or extra shipping fee due to personal reasons will not be taken by FineGina.com.

4) We apologize that military addresses (APO, FPO, DPO) cannot be delivered.

30 Days Return Guarantee

Thank you for shopping at FineGina.com.
We gladly accept the return/exchange within 30 days of receipt if you are not quite pleased with the items you received. However, please make sure items in new condition. And inimate products like swimwear is not returnable.
Simply drop us an email or note before return/exchange, we will try our best to meet your request.
Please note overdue requests may not be accepted.

 

What’s FineGina’s Return/Exchange Policy?

  1. Returns must be received in new condition, unused, unworn, unwashed. Otherwise, returns will be subject to refusal. Swimwear, underwear and other private products are not retunrnable.
  2. FineGina is not liable for problems under the following: Wrong size or color picked; Customer‘s subjective factors and just dislikes the item. Return shipping fees and the shipping fees from FineGina to customer are at customer's own expense.
  3. We do not accept returned package without notifying us upfront.
  4. We do not accept packages returned using COD service.
  5. Don't return the package to the shipping address on shipping label,  we cannot receive the package. If so, we cann't make any refund. 

 

How should I make a return?

1.Email return request2.Request approved3.Receive return address4.Customer send shipping info after return5.Returned package received6.Release refund

  1. Submitting return request by dropping an email.
  2. Our customer service will communicate with you in the email, please pay attention to the reply. (Usually will reply within one working day)
  3. Please return through your local post office to avoid tax when it arrives in our country.
  4. Please send us tracking info after you return, which is quite important. Without return info, there will be no refund.
  5. Refund will be released within 5 working days after we received the package.

 

 How should I make an exchange?

  1. Return package first, as steps above.
  2. Resend will be arranged once we get return info.

 

     

    Contact us

    Email us at: service@FineGina.com