PHP中
用户支付金额$true_cash= '120';
其中支付金额划分:余额$balance = 100;微信支付$wx = 20;
退款逻辑:
1.优先执行退款至余额$refund_balance,如有剩余金额则退款至微信支付$refund_wx
2.如果$price申请退款金额大于支付金额$true_cash则提示itoast('退款金额不可大于用户支付金额', referer(), 'error');
3.如果$price申请退款金额小于支付金额$true_cash则根据余额$balance = 100;微信支付$wx = 20;计算所需退款金额$refund_balance、$refund_wx
4.如果$price申请退款金额为空,则获取$true_cash支付金额为申请退款金额,并根据余额$balance = 100;微信支付$wx = 20;计算所需退款金额$refund_balance、$refund_wx
// 判断退款金额是否为空
if (empty($price)) {
$price_s = $rechargerecord['true_cash'];
}else{
$price_s = $price;
}
// 判断退款金额是否大于用户支付金额
if ($price_s > $rechargerecord['true_cash']) {
itoast('退款金额不可大于用户支付金额', referer(), 'error');
exit; // 退出脚本执行
}
// 计算退款至余额和微信支付的金额
$refund_balance = 0;
$refund_wx = 0;
// 计算退款金额
if ($price_s <= $order_data['balance']) {
// 如果申请退款金额小于或等于余额,则全部退款至余额
$refund_balance = $price_s;
} else {
// 如果申请退款金额大于余额,则先退款至余额,剩余部分退款至微信支付
$refund_balance = $order_data['balance'];
$refund_wx = round($price_s - $order_data['balance'], 2);
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)