บทความนี้แสดงให้เห็นถึงวิธีการของ PHP ในการตระหนักถึงการชำระเงินของบุคคลที่มีบัญชี WeChat Enterprise รายละเอียดมีดังนี้:
บทนำ: ผู้จัดจำหน่ายวิธีถอนเงินจากธุรกิจ WeChat?
จ่ายโดยตรงกับ WeChat
การดำเนินการมีดังนี้:
การกำหนดค่าการชำระเงิน WeChat
/*การชำระเงิน weChat*/'pay_weixin' => array ('appid' => 'xxxx', 'appsecret' => 'xxxxxx,' mchid '=>' 1283301801 ', // หมายเลขพ่อค้า' 'conf/cert/apiclient_cert.pem', // ใบรับรองผู้ค้า apiclient_cert.pem 'apiclient_key' => 'conf/cert/apiclient_key.pem', // ใบรับรองการค้า apiclient_key.pem)arraytoxml
/*** อาร์เรย์เป็น xml*/ฟังก์ชั่น arraytoxml ($ arr) {$ xml = "<xml>"; foreach ($ arr เป็น $ key => $ val) {ถ้า (is_numeric ($ val)) {$ xml. = "<". $ key. ">". $ val. "</". $ key. ">"; } else $ xml. = "<". $ key. "> <! [cdata [". $ val. "]> </". $ key. ">"; } $ xml. = "</xml>"; ส่งคืน $ xml;}ใช้ใบรับรองเพื่อส่ง XML ไปยัง URL อินเตอร์เฟสที่เกี่ยวข้องในโพสต์
/*** ฟังก์ชั่น: ใช้ใบรับรองเพื่อส่ง XML ไปยัง URL อินเตอร์เฟสที่เกี่ยวข้อง*/ฟังก์ชั่น postxmlsslcurl ($ xml, $ url, $ วินาที, $ cert, $ cert, $ key) {$ ch = curl_init (); // เวลาหมดเวลา curl_setopt ($ ch, curlopt_timeout, $ วินาที? $ วินาที: $ this-> หมดเวลา); // ตั้งค่าพร็อกซีที่นี่ถ้ามีหนึ่ง // curl_setopt ($ ch, curlopt_proxy, '8.8.8.8'); // curl_setopt ($ ch, curlopt_proxyport, 8080); curl_setopt ($ ch, curlopt_url, $ url); curl_setopt ($ ch, curlopt_ssl_verifypeer, false); curl_setopt ($ ch, curlopt_ssl_verifyhost, false); // ตั้งส่วนหัว curl_setopt ($ ch, curlopt_header, false); // ตั้งค่าผลลัพธ์เป็นสตริงและเอาต์พุตไปยังหน้าจอ CURL_SETOPT ($ CH, CURLOPT_RETURNTRANSFER, TRUE); // ตั้งค่าใบรับรอง // ใช้ใบรับรอง: ใบรับรองและคีย์มันเป็นของไฟล์. pem สองไฟล์ตามลำดับ // รูปแบบเริ่มต้นคือ PEM คุณสามารถใส่คำอธิบายประกอบ curl_setopt ($ ch, curlopt_sslcerttype, 'pem'); curl_setopt ($ ch, curlopt_sslcert, $ cert); // รูปแบบเริ่มต้นคือ PEM คุณสามารถใส่คำอธิบายประกอบ curl_setopt ($ ch, curlopt_sslkeytype, 'pem'); curl_setopt ($ ch, curlopt_sslkey, $ key); // วิธีการส่งโพสต์ curl_setopt ($ ch, curlopt_post, true); curl_setopt ($ ch, curlopt_postfields, $ xml); $ data = curl_exec ($ ch); // ส่งคืนผลลัพธ์ถ้า ($ data) {curl_close ($ ch); ส่งคืน $ this-> xmltoarray ($ data); } else {$ error = curl_errno ($ ch); echo "ข้อผิดพลาด curl, รหัสข้อผิดพลาด: $ error". "<br>"; curl_close ($ ch); กลับเท็จ; -ธุรกิจจ่ายเงินบุคคล
// องค์กรจ่ายค่าใช้จ่ายสาธารณะ paytouser ($ params, $ key, $ apcent_cert, $ apiclient_key) {$ url = 'https://api.mch.weixin.qq.com/mmpaymktransfers/promotion/transfers'; // การตรวจจับพารามิเตอร์ที่ต้องการถ้า ($ params ["partner_trade_no"] == null) {// exit ("อินเทอร์เฟซแอปพลิเคชันคืนเงินพารามิเตอร์ที่ต้องการ partner_trade_no!". "<br>"); } elseif ($ params ["openId"] == null) {ออก ("อินเตอร์เฟสแอปพลิเคชันคืนเงิน, พารามิเตอร์ที่ต้องการ OpenId!". "<br>"); } elseif ($ params ["check_name"] == null) {// no_check: ไม่มีการตรวจสอบชื่อจริง force_check: การตรวจสอบที่แข็งแกร่งของชื่อจริง (ผู้ใช้ที่ไม่มีชื่อจริงจะไม่สามารถตรวจสอบได้ อินเตอร์เฟสพารามิเตอร์ที่ต้องการตรวจสอบ _name หายไป! "." <br> "); } elseif (($ params ["check_name"] == 'force_check' หรือ $ params ["check_name"] == 'option_check') && ($ params ["re_user_name"] == null)) {// ชื่อจริงของผู้ใช้การชำระเงิน ออก ("อินเทอร์เฟซแอปพลิเคชันคืนเงินพารามิเตอร์ที่ต้องการ re_user_name หายไป!". "<br>"); } elseif ($ params ["จำนวน"] == null) {ออก ("อินเตอร์เฟสแอปพลิเคชันคืนเงินจำนวนพารามิเตอร์ที่ต้องการหายไป!". "<br>"); } elseif ($ params ["desc"] == null) {ออก ("อินเตอร์เฟสแอปพลิเคชันคืนเงินพารามิเตอร์ที่ต้องการ desc!". "<br>"); } $ params ["mch_appid"] = $ this-> appid; // id บัญชีสาธารณะ $ params ["mchid"] = $ this-> mchid; // หมายเลขผู้ค้า $ params ["nonce_str"] = $ this-> createnoncest - '192.127.1.1': $ _Server ['remote_addr']; // รับ ip $ params ["sign"] = $ this-> getSign ($ params, $ key); // ลายเซ็น $ xml = $ this-> arraytoxml ($ params); ส่งคืน $ this-> postxmlsslcurl ($ xml, $ url, false, $ apcent_cert, $ apiclient_key);}