微信:用户付款码规则:18位纯数字,前缀以10、11、12、13、14、15开头
支付宝:25~30开头的长度为16~24位的数字,实际字符串长度以开发者获取的付款码长度为准
<?php
/**
* 判断扫码支付的方式
* @param string $code 扫码获得的条码字符串
* @return string 支付方式(微信支付、支付宝支付、无法识别的支付方式)
*/
function detectPaymentMethod($code) {
if(in_array(substr($code, 0,2), [ "10", "11", "12", "13", "14", "15" ])){
return "WECHAT";
}elseif (in_array(substr($code, 0,2), [ "25", "26", "27", "28", "29", "30" ])) {
return"ALIPAY";
}elseif (in_array(substr($code, 0,2), [ "62" ])) {
return "OTHER";
}
return "";
}
// 使用示例
$barcode1 = '101234567890'; // 微信支付
$barcode2 = '280001234567890'; // 支付宝支付
$method1 = detectPaymentMethod($barcode1);
$method2 = detectPaymentMethod($barcode2);
echo $method1."\r\n"; // 输出:微信支付
echo $method2; // 输出:支付宝支付