We have always believed that every business holds a unique use case. And we try to solve each one of them with the same Enthusiasm. So when we came across a case where our Merchants wanted to offer Warranty claims with Returns.
Fortunately, we found a way to Get that done :)
To Offer Warranty claims instead of Exchanges Below things can be done.
Navigate to Settings > General
Scroll down to find Manage Translations or click here
You will find a few tabs like the screenshot below.
4. Make sure to Translate all the Keywords where you find Exchanges with Warranty
5. Once you have Changed all the keywords, click on Save Button and you are done with the first step.
Now we have to configure a Reason that your customer will choose for Warranty Claims.
Follow the below steps to Set that Up.
Navigate to Settings > Reasons
Create a new reason called "Warranty Claims"
In the field that says "Show a specific message if the customer selects this reason", enter a message that says "Please Specify the Reason of the Warranty Claim in The Box below".
In the toggle that Says Notes Required, Make it yes.
Once you do all these Settings your Return Page Would look like the Screenshot below.
6. Click on Submit Button To save your Settings and You are done.
Once the above Required things are done, your theme code would require a Small Tweak to make your System Running up and live.
Steps to Edit the Theme code :-
Open your Shopify Admin.
Click on Online Store.
Click on Themes.
on your live theme Click on Edit Code
Find the theme.liquid file
Paste the below code in the bottom.
{% if request.path contains 'return_prime' %}
<script>
$(document).on("click",".exchange__btn",function(e) {
e.preventDefault();
e.stopPropagation();
let returnBtnHref = $(this).next().attr('href');
$( ".exchange__btn" ).unbind("click");
window.location.replace(`https://${window.location.host}${returnBtnHref}&warrenty=true`)
$('body').hide();
return false;
});
$(document).on("click",".return__btn ",function(e) {
e.preventDefault();
e.stopPropagation();
let returnBtnHref = $(this).attr('href');
$( ".exchange__btn" ).unbind("click");
window.location.replace(`https://${window.location.host}${returnBtnHref}`);
$('body').hide();
return false;
});
const urlParams = new URLSearchParams(window.location.search);
if(urlParams.has('warrenty')) {
var interval_one = setInterval(checkDomLoaded, 200);
var interval_two = setInterval(checkRefundText, 200);
function checkRefundText() {
if($('#refund_mode_heading').length) {
$('.next__btn').click();
$('#refund_mode_heading').text("Enter Additional Details to claim your Warranty");
clearInterval(interval_two);
}
}
function checkDomLoaded() {
if($('#return_reason_heading').length) {
$('#return_reason_heading').text("What is the issue with your item?");
$('select[name="reason_select"]').attr('disabled', 'disabled');
$("select[name='reason_select'] option[value='617a9ab7f6a077284d906300']").attr("selected","selected");
clearInterval(interval_one);
};
}
$(document).on('click', '.back__btn', function(e) {
interval_one = setInterval(checkDomLoaded, 200);
interval_two = setInterval(checkRefundText, 200);
});
}
</script>
{% endif %}
8. Save the file
And you are done :)
Pro Tip :- Always Re-order the Return Reasons with Warranty as the First Reason. |