微信APP統一下單

2021-08-08 18:28:35 字數 3025 閱讀 7880

一、
<?php

/*** 下單方法

* @param $params 下單引數

*/ public function unifiedorder( $params )

$result = $this->xml_to_data( $response );

if( !empty($result['result_code']) && !empty($result['err_code']) )

return $result;

} /**

* 查詢訂單資訊

* @param $out_trade_no 訂單號

* @return array

*/ public function orderquery( $out_trade_no )

$result = $this->xml_to_data( $response );

if( !empty($result['result_code']) && !empty($result['err_code']) )

return $result;

} /**

* 關閉訂單

* @param $out_trade_no 訂單號

* @return array

*/ public function closeorder( $out_trade_no )

$result = $this->xml_to_data( $response );

return $result;

} /**

* * 獲取支付結果通知資料

* return array

*/ public function getnotifydata()

$data = $this->xml_to_data( $xml );

if( !empty($data['return_code']) )

} return $data;

} /**

* 接收通知成功後應答輸出xml資料

* @param string $xml

*/ public function replynotify()

/*** @param $prepayid 預支付id

*/ /**

* 生成簽名

* @return 簽名

*/ public function makesign( $params )

/*** 將引數拼接為url: key=value&key=value

* @param $params

* @return string

*/ public function tourlparams( $params )

$string = implode("&",$array);

} return $string;

} /**

* 輸出xml字元

* @param $params 引數名稱

* return string 返回組裝的xml

**/public function data_to_xml( $params )

$xml = "";

foreach ($params as $key=>$val)

else

}$xml.="";

return $xml;

} /**

* 將xml轉為array

* @param string $xml

* return array

*/ public function xml_to_data($xml)

//將xml轉為array

//禁止引用外部xml實體

libxml_disable_entity_loader(true);

$data = json_decode(json_encode(******xml_load_string($xml, '******xmlelement', libxml_nocdata)), true);

return $data;

} /**

* 獲取毫秒級別的時間戳

*/ private static function getmillisecond()

/*** 產生乙個指定長度的隨機字串,並返回給使用者

* @param type $len 產生字串的長度

* @return string 隨機字串

*/ private function genrandomstring($len = 32)

return $output;

} /**

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

* * @param string $xml 需要post的xml資料

* @param string $url url

* @param bool $usecert 是否需要證書,預設不需要

* @param int $second url執行超時時間,預設30s

* @throws wxpayexception

*/ private 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 }

/*** 錯誤**

* @param $code 伺服器輸出的錯誤**

* return string

*/ public function error_code($code) }

}

二、呼叫方法

function wxpay($new_order_id, $goods_amount)

C 微信支付統一下單 APP支付介面

第二坑 packagestr 這個東西必須要加上 sign wxpay 把 這些工作做完了 現在我們看 下面的 本人親自 測試完全沒問題 直接可以用 只要你的上面的配置沒問題 public string notifyurl 支付類建構函式,三個關鍵引數缺一不可,均不能為空 總金額,單位 分,不能為空...

微信統一下單 非同步通知介面

注意 該鏈結 不能攜帶引數 有些php框架預設的路由形式是帶有引數的,如 index.php?r site index,這樣也會導致返回失敗。class wxpay else echo json encode arr private function send prepaycurl xmldata ...

微信支付之前的統一下單

1.客戶下單,該單據儲存在自己的庫存中 1.統一下單介面講解 統一下單介面 欄位名變數名 必填型別 示例值描述 公眾賬號id 是string 32 wxd678efh567hg6787 商戶號mch id 是string 32 1230000109 裝置號device info 否string 32...