微信開放平臺手機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

相關文章
相關標籤/搜索