2024 new shoulder crossbody bag

$35.50 $67.30 Save 47%
Color:  🔥Black
Quantity
Share the love
Free worldwide shipping
Free returns
Sustainably made
Secure payments
Description
  • TIPS: All goods are authentic, with genuine patents, counterfeit must be investigated! Customers, please identify our products!!!
  • 😊If you are not satisfied with the goods received, please contact us within 15 days after receipt, we will give you the best help!Please don't worry!
  • 🚢 Shipping>>Worldwide Express Shipping Available.

💛💚This week's special event: Randomly selected 20 lucky customers to get double the order product every day. We will send you an email, please remember to check, thanks for your support💜🧡

🔥🔥93.8% of customers bought 2 or more for their loved ones!

Is whether you need such a bag?
This bag is simple and atmospheric, the upper version is positive, has a sense of texture, soft and comfortable to the touch, heavy not deformed!
It's enough to have such a bag!

High quality leather material
Minimalist bag design with classic lychee texture
Noble quality Elegant in any occasion

Product Advantages

Back zipped pocket for small everyday items and security

The magnetic clasp is easy to open with a gentle grip

Textured hardware slider, bright colour, fashionable and novel, smooth pulling and closing

Textured five gold hook and loop, plating full of colour and texture! Strong load-bearing capacity, removable

Product parameters

Perfectly sized for your everyday needs, this small but mighty bag can fit all your essentials, including your phone, wallet, keys, and more. Whether you're running errands or hitting the town, this bag has got you covered!

Physical display


Since our establishment in 2018, we have received good feedback from more than 360,000+ customers. Providing customers with 100% after-sales guarantee is our trust in our products and our responsibility to our customers!

Worldwide Shipping ?
Please do note that shipping is insured. However, you may receive your items earlier. Tracking Numbers will ALWAYS be sent so you can track it every step of the way! Cool things are worth waiting for! 
OUR GUARANTEE?? Insured Worldwide Shipping: Each order includes real-time tracking details and insurance coverage in the unlikely event that a package gets lost or stolen in transit.
Money-Back Guarantee: If your items arrive damaged within 15 days of normal usage, we will gladly issue out a replacement or refund.
24/7 Customer Support: We have a team of live reps ready to help and answer any questions you have within a 24-hour time frame, 7 days a week. 
Safe & Secure Checkouts: Safe payments via PayPal® & credit/debit card, Keep your personal and financial information 100% protected.
How To Pay By Credit Card
If you want to checkout with Credit Card. Please Click Paypal and Search for ‘Pay with Debit or Credit Card’
Customer Reviews

Here are what our customers say.

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.