小程式端
伺服器端
<?php準備資料(都在後台系統中可查到)
$mch_id='12******02'; //
商戶號$key='lk******afk12';
$openid = trim($_post['openid']);
//$out_trade_no = $mch_id.time();
$out_trade_no = trim($_post['out_trade_no']);
//$body = "答題獎金";
//統一下單介面
$unifiedorder = $this->unifiedorder();
$parameters = array
(小程式id
'timestamp' => '' . time() . '', //
時間戳 'noncestr' => $this->createnoncestr(), //
隨機串 'package' => 'prepay_id=' . $unifiedorder['prepay_id'], //
資料報 'signtype' => 'md5'//
簽名方式
);
//簽名
$parameters['paysign'] = $this->getsign($parameters
);
return
$parameters
; }
//統一下單介面
private
function
unifiedorder()
private
static
function postxmlcurl($xml, $url, $second = 30)
else
}//陣列轉換成xml
private
function arraytoxml($arr
) else
}$xml .= "";
return
$xml
; }
//xml轉換成陣列
private
function xmltoarray($xml
)
//作用:產生隨機字串,不長於32位
private
function createnoncestr($length = 32)
return
$str
; }
//作用:生成簽名
private
function getsign($obj
)
//簽名步驟一:按字典序排序引數
ksort($parameters
);
$string = $this->formatbizqueryparamap($parameters, false
);
//簽名步驟二:在string後加入key
$string = $string . "&key=" . $this->key
;
//簽名步驟三:md5加密
$string = md5($string
);
//簽名步驟四:所有字元轉為大寫
$result_ = strtoupper($string
);
return
$result_
; }
//作用:格式化引數,簽名過程需要使用
private
function formatbizqueryparamap($paramap, $urlencode
)
$buff .= $k . "=" . $v . "&";
}$reqpar
;
if (strlen($buff) > 0)
return
$reqpar
; }
}?>
php微信小程式支付
class wxpaymodel 隨機數 param length param int numeric return string public function random length,numeric 0 return hash 自定義訂單 return string public funct...
微信小程式微信支付流程
1.小程式呼叫wx.login獲取登入憑證code wx.login 無請求引數 返回code 有效期5分鐘 wx.login 2.小程式通過code獲取openid 向介面位址 請求引數 返回引數 openid 使用者唯一標識 session key 回話金鑰 3.小程式向服務端傳送openid,...
微信小程式 微信支付模組
1 小程式登入介面 獲取openid 小程式登入 2 商戶端呼叫支付統一下單介面,返回預付單資訊 統一下單 3 小程式端顯示 客戶掃碼支付,小程式端鑑權調起支付,返回支付結果到小程式端 再次簽名 4 推送支付結果到小程式端 支付結果通知api 5 商戶查詢支付結果 查詢訂單api 注意點 1 簽名 ...