微信开放平台手机APP支付

                PHP对接APP微信支付php


微信开放平台手机APP支付总结html

1. 微信开放平台手机APP支付总结json

支付功能连接: https://pay.weixin.qq.com/wiki/doc/api/index.htmlapi

APP支付功能文档: https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_3微信

Demo下载地址: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1微信开发

    首先了解微信手机APP开放平台文档支付流程, 虽然我的感受微信给出的文档没有支付宝官方给出的文档详细, 可是认真研究仍是能够克服困难的, 有的问题在网上也是能够找到解决方案的. 微信开放平台和微信公众平台的所使用的demo使用的都是同一个JsApi的demo,业务流程是同样的, 只要服务端作好处理将业务参数传给客户端便可. 还有一个要注意的问题, 是在退款时须要用到商户的证书.
app


2.  传递商户交易号和价格去微信进行生成预支付订单微信公众平台

利用微信统一下单方法生成预申请id异步

$input = new WxPayUnifiedOrder();
$input->SetBody($body);  
$input->SetAttach(''test”);    
$input->SetOut_trade_no($order_sn);  
$input->SetTotal_fee($price); 
$input->SetTime_start(date("YmdHis"));  
$input->SetTime_expire(date("YmdHis", time() + 60*10));    //订单失效时间,报错可不写
$input->SetGoods_tag("tag");       //设置商品标记,说明详见代金券或立减优惠
$input->SetNotify_url($notify_url);   //设置接收微信支付异步通知回调地址
$input->SetTrade_type("APP");      //设置类型以下:JSAPI,NATIVE,APP
$order_data = WxPayApi::unifiedOrder($input);  //统一下单


注释:$order_data 为微信返回的订单生成结果。以下所示
appid    mch_id    nonce_str    prepay_id   result_code   return_code    return_msg
sign (签名,此时返回的签名不能给APP端调用,须要从新生成签名)
trade_type      prepay_id (数据最重要。)ide


3.  将微信返回的prepay_id数据再次签名,再返回给APP端。

获取到 prepay_id 后,将参数 appid、noncestr、package(注意:Sign=WXPay)、partnerid、prepayid、timestamp 签名后返回给 APP。

$order_data['timestamp'] = time();
$str = 'appid='.$order_data['appid'].'&noncestr='.$order_data['nonce_str'].'&package=Sign=WXPay&partnerid='.WxPayConfig::MCHID.'&prepayid='.$order_data['prepay_id'].'&timestamp='.$order_data['timestamp'];
$order_data['sign'] = strtoupper(md5($str.'&key='.WxPayConfig::KEY));
echo json_encode($order_data);

4.  支付完成回调处理

可参考demo回调处理方法notify.php进行业务逻辑处理便可.



支付完成!  可根据本身的业务流程修改业务逻辑 .



参考连接: http://blog.csdn.net/shihunzhe/article/details/53535838

相关文章
相关标签/搜索