微信js支付

2021-09-11 19:59:42 字數 2940 閱讀 9037

你的js調起支付檔案是wcjspay.php,其目錄是www.domain.com/wchat/pay/wcjspay.php那麼js介面安全網域名稱就要為

設定網頁授權目錄這個只需為你的**根目錄即可。

開戶郵箱中有

接下來就是接入支付了下面是php源**

1.這是調起js支付的**檔案(wcjspay.php)

<?php

ini_set('date.timezone','asia/shanghai');

require_once "./lib/wclib.php";

require_once "./lib/config.php";

//new 乙個工具類。(位於/lib/wclib.php)

$tools = new jsapipay();

//獲取openid

$openid = $tools->getopenid();

//這裡需要自行設定引數。

//設定統一下單的資料

$order['attach'] = "深圳分店";

$order['out_trade_no'] = wxpayconfig::mchid.date("ymdhis");

//下單金額

$order['total_fee'] = "1";

$order['time_start']=date("ymdhis");

$order['time_expire']=date("ymdhis", time() + 600);

$order['notify_url'] = "";

$order['trade_type']="jsapi"; 

$order['openid'] = $openid;

//商戶號id

$order['mch_id'] = wxpayconfig::mchid;

//使用者端ip

$order['spbill_create_ip'] = $_server['remote_addr'];

//生成隨機字串

$order['nonce_str'] = $tools-> getnoncestr();

//生成簽名

$order['sign'] = $tools->makesign($order);

//將資料轉換為xml格式

$xml_order = $tools->toxml($order);

$result = $tools->unifiedorder($xml_order);

$jsapiparameters = $tools->getjsapiparameters($result);

?>

function jsapicall()

);} function callpay()

else if (document.attachevent)

}else }

該筆訂單支付金額為1分錢

立即支付

wclib.php檔案

注意在此檔案中使用了php 的curl模組。如果php沒有安裝此模組執行會出錯。

<?php

//require_once "./config.php";

class jsapipay

else 

} //通過code獲取openid

public function getopenidfrommp($code)

//獲取jsapi支付的引數

public function getjsapiparameters($unifiedorderresult)

// 構造獲取code的url連線

public function __createoauthurlforcode($redirecturl)

// 構造獲取openid和access_toke的url位址

public function __createoauthurlforopenid($code)

public function unifiedorder($xml_order, $timeout = 6)

//將xml格式資料轉化為陣列

public function fromxml($xml)

// 以post方式提交xml到對應的介面url

public function postxmlcurl($xml, $url, $usecert = false, $second = 30)

//post提交方式

curl_setopt($ch, curlopt_post, true);

curl_setopt($ch, curlopt_postfields, $xml);

//執行curl

$data = curl_exec($ch);

//返回結果

if($data) else 

} //簽名演算法

public function makesign($order)

/*** 格式化引數格式化成url引數

*/

public function tourlparams($order)

}$buff = trim($buff, "&");

return $buff; }

//生成隨機字串

public function getnoncestr($length = 32) 

return $str;

} //將陣列轉換成xml格式。

public function toxml($order)

else

}$xml.="";

return $xml; }

}?>

接下來是配置檔案config.php

<?php

class wxpayconfig

?>

js呼叫微信支付

if typeof weixinjsbridge undefined else if document.attachevent else這段判斷,此時weixinjsbridge 未初始化完成,故值為undefined 走if語句,此時的onbridgeready方法沒有要求傳引數,故取不到data...

微信支付 微信JSAPI支付

pay.php baby extend wx pay.php namespace wx class pay 通過redirecturi獲取授權資訊 return mixed public function getauthinfo 通過code換取網頁授權資訊 res this curlgetreq ...

python微信支付 微信支付 python版

需求 說明坑 簽名校驗通過時還是提示簽名錯誤,可能時候商戶號key配置的問題了,重置一下key,你可以繼續使用原來的key來重置 需要的id和key wpc 複製 流程簡介 那麼開發思路便是一步步回朔了.1.獲取code buy click function 複製 2.獲取openid classm...