小程序支付功能開通、支付流程等
2017年6月14日,小程序支付功能開通已經(jīng)是當(dāng)下最熱門的話題,下面將從多方面來談?wù)勑〕绦蛑Ц豆δ荛_通、支付流程等相關(guān)的內(nèi)容。
6月14日消息,據(jù)彭博社報(bào)道,為了與新東家沃爾瑪(Walmart)融合得更加順暢,Jet.com(去年8月被沃爾瑪以33億美元收購)正計(jì)劃逐步剔除自己平臺(tái)上所售的Costco旗下品牌產(chǎn)品。
6月18日,永輝將在福州開出第一家永輝生活店。值得注意的是,這也是永輝首家24小時(shí)營業(yè)門店。據(jù)了解,這家24小時(shí)門店商品由永輝物流統(tǒng)一配送,沒有熟食但提供蔬菜水果以及冷凍冰鮮類商品。
支付步驟邏輯:
1. 小程序發(fā)起請(qǐng)求預(yù)支付
2. 服務(wù)端調(diào)用接口發(fā)起預(yù)支付信息
3. 微信小程序調(diào)起支付完成支付
1. 小程序發(fā)起請(qǐng)求預(yù)支付
2. 服務(wù)端調(diào)用接口發(fā)起預(yù)支付信息
服務(wù)端接收到請(qǐng)求后,調(diào)用微信的api接口,調(diào)用成功會(huì)得到一個(gè)prepay_id 這個(gè)就是相當(dāng)于小程序的預(yù)支付id 過程中會(huì)生成簽名,按照官方文檔的實(shí)例參數(shù)生成即可,如果非必填可選擇不填,然后向 api 發(fā)送一個(gè)xml
參數(shù)講解官方文檔地址:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1eg:
<xml>
<appid>wx2421b1c4370ec43b</appid>
<attach>支付測試</attach>
<body>JSAPI支付測試</body>
<mch_id>10000100</mch_id>
<detail><![CDATA[{ "goods_detail":[ { "goods_id":"iphone6s_16G", "wxpay_goods_id":"1001", "goods_name":"iPhone6s 16G", "quantity":1, "price":528800, "goods_category":"123456", "body":"蘋果手機(jī)" }, { "goods_id":"iphone6s_32G", "wxpay_goods_id":"1002", "goods_name":"iPhone6s 32G", "quantity":1, "price":608800, "goods_category":"123789", "body":"蘋果手機(jī)" } ] }]]></detail>
<nonce_str>1add1a30ac87aa2db72f57a2375d8fec</nonce_str>
<notify_url>[url]http://wxpay.wxutil.com/pub_v2/pay/notify.v2.php</notify_url>[/url]
<openid>oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</openid>
<out_trade_no>1415659990</out_trade_no>
<spbill_create_ip>14.23.150.211</spbill_create_ip>
<total_fee>1</total_fee>
<trade_type>JSAPI</trade_type>
<sign>0CB01533B8C1EF103065174F50BCA001</sign>
</xml>
需要注意sign 生成方式和公眾號(hào)生成方式一致,下面是PHP生成簽名方法, 可根據(jù)不同的框架修改,記得修改 key
/**
* 生成簽名
* @return 簽名,本函數(shù)不覆蓋sign成員變量,如要設(shè)置簽名需要調(diào)用SetSign方法賦值
*/
public function MakeSign()
{
//簽名步驟一:按字典序排序參數(shù)
ksort($this->_prepay);
$string = $this->ToUrlParams();
//簽名步驟二:在string后加入KEY
$string = $string . "&key=".WxPayConfig::KEY;
//簽名步驟三:MD5加密
$string = md5($string);
//簽名步驟四:所有字符轉(zhuǎn)為大寫
$result = strtoupper($string);
return $result;
}
/**
* 格式化參數(shù)格式化成url參數(shù)
*/
public function ToUrlParams()
{
$buff = "";
foreach ($this->values as $k => $v)
{
if($k != "sign" && $v != "" && !is_array($v)){
$buff .= $k . "=" . $v . "&";
}
}
$buff = trim($buff, "&");
return $buff;
}
調(diào)用統(tǒng)一下單api
/**
* 統(tǒng)一下單調(diào)取返回值
* @return mixed
* $output['return_code'] 狀態(tài)碼 SUCCESS/FAIL
* $output['return_msg'] 返回信息,如非空,為錯(cuò)誤原因 簽名失敗 參數(shù)格式校驗(yàn)錯(cuò)誤
* $output['time'] 當(dāng)前時(shí)間戳
* $output['nonceStr'] 隨機(jī)字符串
* $output['prepay_id'] 預(yù)支付id
* $output['sign'] 簽名
* */
public function pay_place_order()
{
$xml = '<xml>
<appid>'.$this->_prepay['appid'].'</appid>
<body>'.$this->_prepay['body'].'</body>
<mch_id>'.$this->_prepay['mch_id'].'</mch_id>
<nonce_str>'.$this->_prepay['nonce_str'].'</nonce_str>
<notify_url>'.$this->_prepay['notify_url'].'</notify_url>
<openid>'.$this->_prepay['openid'].'</openid>
<out_trade_no>'.$this->_prepay['out_trade_no'].'</out_trade_no>
<spbill_create_ip>'.$this->_prepay['spbill_create_ip'].'</spbill_create_ip>
<total_fee>'.$this->_prepay['total_fee'].'</total_fee>
<trade_type>'.$this->_prepay['trade_type'].'</trade_type>
<sign>'.$this->MakeSign().'</sign>
</xml>';
//調(diào)用api,自定義對(duì)參數(shù)進(jìn)行處理,改請(qǐng)求方式是自定義方式
$xml_result = post_request_https('https://api.mch.weixin.qq.com/pay/unifiedorder', $xml);
對(duì)返回的參數(shù)從新生成sign,得到一個(gè)新的sign,返回小程序
注意: 生成返回小程序簽的名參與生成的簽名的字段有下圖,記得拼接key ,使用的是調(diào)取api 返回的值
參數(shù)詳解:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7&index=3
3. 微信小程序調(diào)起支付完成支付
參數(shù)詳解:
https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-pay.html?t=20161122
注意: 支付成功后微信回調(diào)通知簽名驗(yàn)證,需要的參數(shù)是所有返回的參數(shù)字段除去sign字段,生成簽名 = 返回字段中的sign(簽名)
參數(shù)詳解:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_7
-
微信小程序商城系統(tǒng)開發(fā)其實(shí)很簡單
微信小程序商城系統(tǒng)開發(fā)其實(shí)很簡單,只需要五步就可以完成,整個(gè)過程包括開發(fā)、上線、發(fā)布都可以輕松搞定...詳情
-
微信小程序商城系統(tǒng)免費(fèi)注冊(cè)體驗(yàn)
微信小程序商城系統(tǒng)免費(fèi)注冊(cè)體驗(yàn),接下來是微信小程序的時(shí)代,這一波紅利在不抓住互聯(lián)網(wǎng)就再也沒什么機(jī)會(huì)了...詳情
想了解更多微信小程序開發(fā)和微信小程序大全都可以進(jìn)入微信小程序商城系統(tǒng)開發(fā)了解。
第二部分:如何開通一個(gè)小商店