1.先来一张微信的流程图
2.整体逻辑
(2.1)根据微信开发文档的统一下单的参数写在接口里面,return_code 和result_code都为SUCCESS的时候把对应的参数json格式返回页面给安卓,然后安卓通过SDK调起支付,给php返回支付结果状态值,php在异步地址里面写逻辑
3.写接口这只有给安卓返回的数据
4.数据json返回页面安卓,安卓返回支付状态值
5.回调 案例(不是真实代码)
/* 微信 参数 */
$mch_id = '商户id';
$data['appid']='appid';
$data['mch_id']='商户id';
$data['nonce_str']=createNonceStr();//签名获取字符串
$data['body']='购买商品';
$data['out_trade_no']=$orderinfo['ordersn'].'_'.date('his');
$data['total_fee']=($orderinfo['price']*100);
$data['spbill_create_ip']=getip();
$data['time_start']=date("YmdHis");
$data['time_expire']=(date("YmdHis", time() + 600));
$data['notify_url']='异步';
$data['trade_type']='APP';
$data['sign']=tuikuan_hb_MakeSign($data,'密钥'); //生成签名 密钥
$xml=tuikuan_hb_arraytoxml($data);//转换xml格式
$url='https://api.mch.weixin.qq.com/pay/unifiedorder'; //接口连接
$res=tuikuan_hb_curl($xml,$url);
$return=tuikuan_hb_xmltoarray($res);
if($return['return_code'] == 'SUCCESS' && $return['result_code'] == 'SUCCESS'){
$time=time();
$msg['appid']=$data['appid'];//appid
$msg['partnerid']=$data['mch_id'];//商户号
$msg['prepayid']=$return['prepay_id'];//微信返回的支付交易会话ID
$msg['noncestr']= $data['nonce_str'];
//$msg['signType']='MD5';
$msg['timestamp']=$time;
$msg['package']='Sign=WXPay';
$msg['sign']=$this->tuikuan_hb_MakeSign($msg,'密钥');
$msg['timeStamp']=$time;
}