微信小程式PHP 微信支付介面呼叫

2022-06-20 08:12:17 字數 2791 閱讀 2910

小程式端

伺服器端

<?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 簽名 ...