$AppConfig['embed_app_id'], 'vendor_sn' => $AppConfig['fbpay_vendor_sn'], 'secret' => $AppConfig['fbpay_secret'], 'merchant_id' => $AppConfig['fbpay_merchant_id'], 'store_id' => $AppConfig['fbpay_store_id'], 'fbapp_id' => $AppConfig['fbpay_app_id'], ]; return [ 'extraData' => [ 'payParams' => aes_encrypted($payParams, $AppConfig['embed_key']), 'order_no' => $orderNo, 'trade_no' => $orderNo, 'open_id' => $user['open_id'], 'pay_price' => $payPrice, 'order_type' => $orderType, 'pay_source' => $pay_source, 'multiple' => $multiple, 'shop_supplier_id' => $shop_supplier_id, 'wxapp_id' => $wxConfig['wxapp_id'], 'pay_type' => 20, 'notify_url' => base_url() . 'index.php/job/notify/fbpay', ], 'embed_app_id' => $AppConfig['embed_app_id'], // 半屏小程序的appId 'embed_path' => $AppConfig['embed_path'], // 半屏小程序的路径 'is_embed' => $AppConfig['is_embed'], ]; } if($AppConfig["apitype"]) { //付呗支付 return self::fbpay($user, $orderNo, $payPrice, $orderType, $pay_source,$multiple,$shop_supplier_id); } else { return self::wechatpay($user, $orderNo, $payPrice, $orderType, $pay_source,$multiple,$shop_supplier_id); } } /** * 构建微信支付 */ public static function wechatpay( $user, $orderNo, $payPrice, $orderType, $pay_source, $multiple = 0, $shop_supplier_id = 0 ) { // 统一下单API if($pay_source == 'wx'){ $app = AppWx::getWxPayApp($user['app_id'],$shop_supplier_id); $open_id = $user['open_id']; }else if($pay_source == 'mp'){ $app = AppMp::getWxPayApp($user['app_id']); $open_id = $user['mpopen_id']; } else if($pay_source == 'payH5'){ $app = AppMp::getWxPayApp($user['app_id']); $open_id = ''; } else if($pay_source == 'android'||$pay_source == 'ios'){ $app = AppOpen::getWxPayApp($user['app_id']); $open_id = $user['appopen_id']; } $WxPay = new WxPay($app); $payment = $WxPay->unifiedorder($orderNo, $open_id, $payPrice, $orderType, $pay_source, $multiple, $user['app_id']); if($pay_source == 'wx'){ return $payment; }else if($pay_source == 'mp'){ $jssdk = $app->jssdk; return $jssdk->bridgeConfig($payment['prepay_id']); }else if($pay_source == 'payH5'){ return $payment; }else if($pay_source == 'android'||$pay_source == 'ios'){ return $payment; } return false; } /** * 构建支付宝支付 */ public static function alipay( $user, $orderNo, $payPrice, $orderType, $pay_source, $multiple = 0 ) { $AliPay = new AliPay(); $payment = $AliPay->unifiedorder($orderNo, $payPrice, $orderType, $pay_source, $multiple); return $payment; } /** * 构建付呗支付 by lyzflash */ public static function fbpay( $user, $orderNo, $payPrice, $orderType, $pay_source, $multiple = 0, $shop_supplier_id = 0 ) { // 统一下单API $app = FbPay::getFbPayApp($user['app_id'], $shop_supplier_id); if($pay_source == 'wx'){ $open_id = $user['open_id']; }else if($pay_source == 'mp'){ $open_id = $user['mpopen_id']; } else if($pay_source == 'payH5'){ $open_id = ''; } else if($pay_source == 'app'){ $open_id = $user['appopen_id']; } $FbPay = new FbPay($app); $payment = $FbPay->unifiedorder($orderNo, $open_id, $payPrice, $orderType, $pay_source, $multiple); if($pay_source == 'wx'){ return $payment; }else if($pay_source == 'mp'){ $jssdk = $app->jssdk; return $jssdk->bridgeConfig($payment['prepay_id']); }else if($pay_source == 'payH5'){ return $payment; }else if($pay_source == 'app'){ return $payment; } } }