工程做完了 来个总结
1.提交订单 1.1 提交参数(主要参数) 用户id、商家id、服务id、服务单价、数量、总价 1.2 验证提交过来的信息是否正确 验证参数:单价与总价 1.3 向订单表插入数据 状态:未付款、未评价 1.4 返回订单id
//如下2~10是微信支付、查询、退款流程 2.支付(先说微信支付流程,支付宝的下面说) 2.1 提交参数(不涉及三方接口需求参数) 用户id、订单id、支付金额、商品描述(微信支付接口需要) 2.2 支付前检查订单信息(存在今年下单明年支付,服务价格发生变化的情况) 验证参数:单价与总价 2.3 微信支付所需参数 //https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1 应用ID、商品描述、商户号、随机字符串、微信回调地址、商户订单ID、终端IP、交易类型、交易金额、签名 2.4 向微信发送支付请求 2.5 微信返回请求信息 2.5.1 请求成功(return_code=SUCCESS)(注意:请求成功不代表支付成功,具体看微信支付文档) 接着判断return_msg,如果为非空,则说明请求失败(其实这里不用判断也行), 2.5.1.1 向微信预支付记录表插入一条记录(即每次发起微信支付请求,无论成功与否,都要向微信预支付记录表插入记录,记录包括:客户端请求信息与微信服务端返回信息) 2.5.2 请求失败 很明显,直接向微信预支付记录表插入一条记录。 2.6 请求成功,验证签名信息 根据微信返回的参数 进行签名验证,验证失败,向微信预支付记录表插入一条记录。 2.7 请求成功,验证签名成功 2.7.1 解析微信返回的信息 2.7.2 判断(result_code=SUCCESS),这是交易码,它用于判断支付成功/失败 2.7.2.1 成功,说明交易成功了,设置返回给移动端的数据 2.7.2.2 失败,说明请求成功了,支付失败了 2.8 无论成功/失败,向微信预支付记录表插入一条记录。
3.移动端确认支付 //微信支付流程 https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_3 移动端开发流程详见 https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5 3.1 移动端调用微信支付 2.7交易成功返回给移动端预支付id、扩展字段、签名等字段,移动端注册appId、调起微信支付接口、发起微信支付请求(微信支付流程中的8,9,10三个步骤);接着微信服务器授权验证,通过后,返回给移动端输入密码的页面,移动端输入正确的密码&