SetBody("test"); //商品或支付单简要描述 $input->SetAttach("test"); //附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据 $input->SetOut_trade_no(WxPayConfig::MCHID.date("YmdHis"));//商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号 $input->SetTotal_fee("1");//订单总金额,单位为分,详见支付金额 $input->SetTime_start(date("YmdHis")); //订单生成时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010。其他详见时间规则 $input->SetTime_expire(date("YmdHis", time() + 600));//订单失效时间,格式为yyyyMMddHHmmss,如2009年12月27日9点10分10秒表示为20091227091010。其他详见时间规则 $input->SetGoods_tag("test"); $input->SetNotify_url("http://paysdk.weixin.qq.com/example/notify.php"); $input->SetTrade_type("APP");//JSAPI--公众号支付、NATIVE--原生扫码支付、APP--app支付,统一下单接口trade_type的传参可参考这里,MICROPAY--刷卡支付,刷卡支付有单独的支付接口,不调用统一下单接口 $order = WxPayApi::unifiedOrder($input); $ret = $this->handle_order($order); //$ret['sign'] = $order['sign']; $ret['prepayid'] = $order['prepay_id']; $ret['partnerid'] = WxPayConfig::MCHID; joutput_data($ret); } private function handle_order($order) { $jsapi = new WxPayJsApiPay(); $jsapi->SetAppid($order["appid"]); $timeStamp = time(); $jsapi->SetTimeStamp("$timeStamp"); $jsapi->SetNonceStr(WxPayApi::getNonceStr()); //$jsapi->SetPackage('Sign=WXPay'); $jsapi->SetPackage("prepay_id=" . $order['prepay_id']); $jsapi->SetSignType("MD5"); //$sign = $jsapi->MakeSign(); $jsapi->SetSign(); $jsapi->SetPaySign($jsapi->MakeSign()); return $jsapi->GetValues(); } public function notifyOp() { } }