本条还可参阅:
要在订单交付给客户时收款,卖家可以使用货到付款 (COD) 方式。但是,与提前付款相比,您的客户对购买的承诺较少,如果他们下高价值的订单但退回这些订单,卖家将面临很大的风险。本文将指导您对使用COD方式付款的订单限制价值以降低这种风险。

指南

在ShopBase后台中,转到 Online store > Preferences



Additional script部分中,将以下脚本粘贴到 Head选项卡的文本框中。


<script >
    	window.sbsdk.ready(function() {
    		window.sbsdk.page.onContextUpdate(function(context) {
    			if (context.type === 'checkout' || context.type === 'process_checkout') {
    				const maxItem = 3
    				const maxValue = 550
    
    				const type = 'semi'
    
    				var readyCheckInterval = setInterval(function() {
    					const btn = document.getElementsByClassName("step__continue-button")[0] || document.getElementsByClassName("step__complete-order")[0]
    
    					function addAlert() {
    					    console.log(btn)
    						btn.disabled = true
    						var text = ""
    						if (type === "value") {
    							text = `Your order reaches the maximum amount. It should be less than or equal to $${maxValue}. Please select another payment method or update your cart.`
    						}
    						if (type === "item") {
    							text = `Your order reaches the maximum quantity. It should be less than or equal to ${maxItem} items. Please select another payment method or update your cart.`
    						}
    						if (type === "semi") {
    							text = `Your order reaches the maximum quantity and/or amount. It should be less than or equal to ${maxItem} items and/or $${maxValue}. Please select another payment method or update your cart.`
    						}
    						document.getElementById('cod-cod-header').insertAdjacentHTML('afterend', `<div id="alert_cod" style="
                    /* padding-top: 10px; */
                    padding: 16px;
                    background: rgb(252,246,230);
                ">
                <div style="
                font-size: 12px;
                display: flex;
                width: 100%;
                justify-content: space-evenly;
                ">
                <img src="https://upload.wikimedia.org/wikipedia/commons/9/99/OOjs_UI_icon_alert-yellow.svg">
                <div style="
        padding-left: 20px;
    ">${text}</div>
        
                </div>
                </div>`)
    					}
    
    					function removeAlert() {
    						const alert = document.getElementById("alert_cod")
    						if (alert !== null) {
    							document.getElementById("alert_cod").remove()
    							btn.disabled = false
    						}
    
    					}
    
    					var a = document.getElementsByClassName("payment_method")
    					for (let i = 0; i < a.length; i++) {
    						if (a[i].id === "cod-cod-header") {
    							continue
    						}
    						a[i].addEventListener("click", removeAlert)
    					}
    
    					function validValue() {
    						const text = document.getElementsByClassName("payment-due__price")[0].innerHTML
    						let numb = text.match(/[0-9/(.)]/g);
    						numb = Number(numb.join(""));
    						return numb > maxValue
    					}
    
    					function validItem() {
    						let count = 0
    						const listItem = document.getElementsByClassName('checkout-product-thumbnail__quantity')
    						for (let item of listItem) {
    							count += parseInt(item.innerHTML)
    						}
    						return count > maxItem
    					}
    
    					function valid() {
    						if (type === "value") {
    							return validValue()
    						}
    						if (type === "item") {
    							return validItem()
    						}
    						if (type === "semi") {
    							return validValue() || validItem()
    						}
    
    					}
    					if (document.getElementById("cod-cod-header") !== null) {
    						document.getElementById("cod-cod-header").addEventListener("click", item => {
    							const alert = document.getElementById('alert_cod')
    							if (valid() && alert === null) {
    								addAlert()
    							}
    						})
    					}
    					setInterval(() => {
    					    if (document.getElementById("cod-cod-section")) {
        						if (!btn.disabled && document.getElementById("cod-cod-section").style.display === '' && document.getElementById("alert_cod") === null && valid()) {
        							addAlert()
        						}
        					}	
    					}, 500)
    
    				}, 500);
    			}
    		});
    	}); 
    	</script>


您可以直接在脚本中自定义最大的商品数量和/或订单金额。

要限制商品数量,请按照以下步骤操作

在脚本中查找 const maxItem = 3 这一行。
3 替换为您允许客户订购的最大商品数量。

要限制订单金额,请按照以下步骤操作

在脚本中查找 const maxValue = 550 这一行。
550 换为您允许客户购买的最大金额。

要确定限制的值,请按照以下步骤操作

在脚本中查找 const type = 'semi' 这一行。
semi 替换为以下值: semi (如果您要同时限制商品数量和订单金额); value (如果您只要限制商品数量); item (如果您只要限制订单金额)。

完成后,请点击 Save

此逻辑将立即应用,结帐页面将如下显示。



此逻辑不适用于 售后优惠,因为您的客户可以在售后步骤中添加任何其他商品。您可以按照 此教程的指南禁用售后优惠

关联页面

支付渠道概述
在商店上激活货到付款(COD)方式
这篇文章有帮助吗?
取消
谢谢!