0){ // (必填) 商户网站订单系统中唯一订单号,64个字符以内,只能包含字母、数字、下划线, // 需保证商户系统端不能重复,建议通过数据库sequence生成, //$outTradeNo = "qrpay".date('Ymdhis').mt_rand(100,1000); $outTradeNo = $out_trade_no; // (必填) 订单标题,粗略描述用户的支付目的。如“xxx品牌xxx门店当面付扫码消费” $subject = $body; // (必填) 订单总金额,单位为元,不能超过1亿元 // 如果同时传入了【打折金额】,【不可打折金额】,【订单总金额】三者,则必须满足如下条件:【订单总金额】=【打折金额】+【不可打折金额】 $totalAmount = $Total_fee; // (不推荐使用) 订单可打折金额,可以配合商家平台配置折扣活动,如果订单部分商品参与打折,可以将部分商品总价填写至此字段,默认全部商品可打折 // 如果该值未传入,但传入了【订单总金额】,【不可打折金额】 则该值默认为【订单总金额】- 【不可打折金额】 //String discountableAmount = "1.00"; // // (可选) 订单不可打折金额,可以配合商家平台配置折扣活动,如果酒水不参与打折,则将对应金额填写至此字段 // 如果该值未传入,但传入了【订单总金额】,【打折金额】,则该值默认为【订单总金额】-【打折金额】 $undiscountableAmount = "0"; // 卖家支付宝账号ID,用于支持一个签约账号下支持打款到不同的收款账号,(打款到sellerId对应的支付宝账号) // 如果该字段为空,则默认为与支付宝签约的商户的PID,也就是appid对应的PID //$sellerId = ""; // 订单描述,可以对交易或商品进行一个详细地描述,比如填写"购买商品2件共15.00元" //$body = "购买商品2件共15.00元"; //商户操作员编号,添加此参数可以为商户操作员做销售统计 $operatorId = ""; // (可选) 商户门店编号,通过门店号和商家后台可以配置精准到门店的折扣信息,详询支付宝技术支持 $storeId = ""; // 支付宝的店铺编号 $alipayStoreId= ""; // 业务扩展参数,目前可添加由支付宝分配的系统商编号(通过setSysServiceProviderId方法),系统商开发使用,详情请咨询支付宝技术支持 $providerId = ""; //系统商pid,作为系统商返佣数据提取的依据 $extendParams = new ExtendParams(); $extendParams->setSysServiceProviderId($providerId); $extendParamsArr = $extendParams->getExtendParams(); // 支付超时,线下扫码交易定义为5分钟 $timeExpress = "30m"; // 商品明细列表,需填写购买商品详细信息, $goodsDetailList = array(); // 创建一个商品信息,参数含义分别为商品id(使用国标)、名称、单价(单位为分)、数量,如果需要添加商品类别,详见GoodsDetail $goods1 = new GoodsDetail(); $goods1->setGoodsId($ServiceOrdID); $goods1->setGoodsName($body); $goods1->setPrice($Total_fee*100); $goods1->setQuantity(1); //得到商品1明细数组 $goods1Arr = $goods1->getGoodsDetail(); // 继续创建并添加第一条商品信息,用户购买的产品为“xx牙刷”,单价为5.05元,购买了两件 //$goods2 = new GoodsDetail(); //$goods2->setGoodsId("apple-02"); //$goods2->setGoodsName("ipad"); //$goods2->setPrice(1000); //$goods2->setQuantity(1); //得到商品1明细数组 //$goods2Arr = $goods2->getGoodsDetail(); //$goodsDetailList = array($goods1Arr,$goods2Arr); $goodsDetailList = array($goods1Arr); //第三方应用授权令牌,商户授权系统商开发模式下使用 $appAuthToken = "";//根据真实值填写 // 创建请求builder,设置请求参数 $qrPayRequestBuilder = new AlipayTradePrecreateContentBuilder(); $qrPayRequestBuilder->setOutTradeNo($outTradeNo); $qrPayRequestBuilder->setTotalAmount($totalAmount); $qrPayRequestBuilder->setTimeExpress($timeExpress); $qrPayRequestBuilder->setSubject($subject); $qrPayRequestBuilder->setBody($body); $qrPayRequestBuilder->setUndiscountableAmount($undiscountableAmount); $qrPayRequestBuilder->setExtendParams($extendParamsArr); $qrPayRequestBuilder->setGoodsDetailList($goodsDetailList); $qrPayRequestBuilder->setStoreId($storeId); $qrPayRequestBuilder->setOperatorId($operatorId); $qrPayRequestBuilder->setAlipayStoreId($alipayStoreId); $qrPayRequestBuilder->setAppAuthToken($appAuthToken); // 调用qrPay方法获取当面付应答 $qrPay = new AlipayTradeService($config); $qrPayResult = $qrPay->qrPay($qrPayRequestBuilder); // 根据状态值进行业务处理 switch ($qrPayResult->getTradeStatus()){ case "SUCCESS": //echo "支付宝创建订单二维码成功:"."
---------------------------------------
"; $response = $qrPayResult->getResponse(); $qrcode = $qrPay->create_erweima($response->qr_code); $qrcode = $response->qr_code; //echo $qrcode."
"; //print_r($response); break; case "FAILED": echo "支付宝创建订单二维码失败!!!"."
--------------------------
"; if(!empty($qrPayResult->getResponse())){ print_r($qrPayResult->getResponse()); } break; case "UNKNOWN": echo "系统异常,状态未知!!!"."
--------------------------
"; if(!empty($qrPayResult->getResponse())){ print_r($qrPayResult->getResponse()); } break; default: echo "不支持的返回状态,创建订单二维码返回异常!!!"; break; } //return ; } ?> 支付宝 - 扫码支付

请打开手机支付宝的“扫一扫”功能

扫描以下二唯码进行支付

支付金额: