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);
            }

 

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。