摘要:對于微信支付訂單以及退款訂單可以根據微信支付的流水號進行查詢。
payment 項目2.0版本
微信并未提供一個統一的查詢接口。對應每種查詢均需要不同的api。為了便于大家在項目中使用,忽略細節。對以上三種進行了封裝。通過工廠的方式降低調用成本。
$wxconfig = [ "app_id" => "wxxxx", // 公眾賬號ID "mch_id" => "xxxx",// 商戶id "md5_key" => "xxxxxx",// md5 秘鑰 "notify_url" => "http://test.helei.com/pay-notify.html", "time_expire" => "14", // 涉及資金流動時,需要提供該文件 "cert_path" => dirname(__FILE__) . DIRECTORY_SEPARATOR . "wx" . DIRECTORY_SEPARATOR . "apiclient_cert.pem", "key_path" => dirname(__FILE__) . DIRECTORY_SEPARATOR . "wx" . DIRECTORY_SEPARATOR . "apiclient_key.pem", ]; use PaymentQueryContext; use PaymentCommonPayException; use PaymentConfig; $query = new QueryContext(); // 通過交易號查詢, 推薦 $data = [ //"order_no" => "2016011402433464",// 商戶訂單號 "transaction_id" => "4007572001201607098672633287",// 微信訂單查詢 微信退款單查詢 //"trans_no" => "1007570439201601142692427764", // 微信批量轉款查詢 ]; try { // 微信訂單查詢 $query->initQuery(Config::WEIXIN, $wxconfig); // 微信退款訂單狀態查詢 //$query->initQuery(Config::WEIXIN_REFUND, $wxconfig); // 微信企業付款查詢 //$query->initQuery(Config::WEIXIN_TRANS, $wxconfig); $ret = $query->query($data); } catch (PayException $e) { echo $e->errorMessage();exit; }
訂單查詢非常簡單。對于微信支付訂單以及退款訂單可以根據微信支付的流水號進行查詢。對于微信支付的訂單還可根據商戶的訂單號進行查詢。但是強烈建議通過微信自身的流水號進行查詢。
對于批量轉款查詢。需要提供再轉款時,生產的轉款單號(此單號是由商家自行生產的)。這里我也蠻迷惑,為什么不提供使用微信返回的轉款流水號進行查詢呢?
接下來對返回值進行解釋,以下結構為一個頂層結構
參數 | 參數名 | 參數說明 | 是否必須 |
---|---|---|---|
is_success | 成功標識 | 請求是否成功,T:成功,F:失敗 | 是 |
error | 錯誤提示 | 只有is_success=F時才返回 | 否 |
response | 響應數據 | 查詢成功后返回的數據,一個數組,is_success=T時返回 | 否 |
支付訂單中關于 response 中包含字段的描述
參數 | 參數名 | 參數說明 | 是否必須 |
---|---|---|---|
amount | 交易金額 | 本次訂單總金額,單位為元,最多兩位小數 | 是 |
channel | 支付渠道 | 本處取值: wx | 是 |
order_no | 商戶網站唯一訂單號 | 商戶生成的訂單號,必須確保在系統中唯一 | 是 |
buyer_id | 用戶標識 | 用戶在商戶appid下的唯一標識 | 是 |
trade_state | 交易狀態 | 支付成功與否,可取值:success not_pay | 是 |
transaction_id | 微信交易號 | 微信系統中的交易流水號,可用于查詢訂單狀態 | 是 |
time_end | 交易付款時間 | 格式為2016-07-28 16:01:01 | 是 |
退款有以下兩點需要注意
交易時間超過一年的訂單無法提交退款;
微信支付退款支持單筆交易分多次退款,多次退款需要提交原支付訂單的商戶訂單號和設置不同的退款單號。一筆退款失敗后重新提交,要采用原來的退款單號。總退款金額不能超過用戶實際支付金額。
由于一筆支付訂單,可能存在多筆退單的情況,因此退款記錄將返回一個數組
退款訂單中關于 response 中包含字段的描述
參數 | 參數名 | 參數說明 | 是否必須 |
---|---|---|---|
amount | 交易金額 | 本次訂單總金額,單位為元,最多兩位小數 | 是 |
order_no | 商戶網站唯一訂單號 | 商戶生成的訂單號,必須確保在系統中唯一 | 是 |
transaction_id | 微信交易號 | 微信系統中的交易流水號,可用于查詢訂單狀態 | 是 |
refund_data | 退款數據 | 其結構是一個數組,每一個元素包含一個退單信息 | 是 |
refund_data 中包含字段的描述
參數 | 參數名 | 參數說明 | 是否必須 |
---|---|---|---|
refund_no | 商戶退款單號 | 商戶退款單號 | 是 |
refund_id | 微信退款單號 | 微信退款單號 | 是 |
refund_channel | 退款渠道 | ORIGINAL—原路退款 BALANCE—退回到余額 | 是 |
refund_fee | 退款金額 | 退款總金額,單位為元,可以做部分退款 | 是 |
refund_status | 退款狀態 | SUCCESS—退款成功 FAIL—退款失敗 PROCESSING—退款處理中 NOTSURE—未確定,需要商戶原退款單號重新發起 CHANGE—轉入代發 | 是 |
recv_accout | 退款入賬賬戶 | 退款入賬賬戶 | 是 |
"trans_id" => $data["detail_id"],// 付款單號 "trans_status" => $data["status"],// 轉賬狀態 "reason" => $data["reason"],// 失敗原因 "buyer_id" => $data["openid"], "trans_name" => $data["transfer_name"],// 收款用戶姓名 "trans_time" => $data["transfer_time"], "desc" => $data["desc"],// 付款描述
參數 | 參數名 | 參數說明 | 是否必須 |
---|---|---|---|
amount | 付款金額 | 付款金額 單位元 | 是 |
order_no | 商戶單號 | 商戶使用查詢API填寫的單號的原路返回. | 是 |
trans_id | 付款單號 | 調用企業付款API時,微信系統內部產生的單號 | 是 |
trans_status | 轉賬狀態 | SUCCESS:轉賬成功 FAILED:轉賬失敗 PROCESSING:處理中 | 是 |
reason | 失敗原因 | 如果失敗則有失敗原因 | 否 |
buyer_id | 收款用戶openid | 收款用戶openid | 是 |
trans_name | 收款用戶姓名 | 真實姓名,如果是需要實名驗證,則會返回 | 否 |
trans_time | 轉賬時間 | 發起轉賬的時間 格式:2015-04-21 20:00:00 | 是 |
desc | 付款描述 | 付款時候的描述 | 是 |
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/21899.html
摘要:項目版本微信的退款操作,通過封裝與前面支付寶退款除了配置文件,基本一樣。微信僅能每次退款筆如果想要實現一次退訂多筆訂單,可在客戶端通過循環來處理。 payment 項目2.0版本 微信的退款操作,通過封裝與前面支付寶退款除了配置文件,基本一樣。 退款代碼如下: use PaymentRefundContext; use PaymentCommonPayException; use P...
摘要:是金額企業付款金額,單位為元是企業付款描述信息企業付款操作說明信息。 payment 項目2.0版本 這個功能與支付寶的批量付款到支付寶帳號功能類似。但是當前支付寶這個接口已經停止審核了。 當前很多提問平臺就用到了這兩個平臺。比如[來問醫生],你提的問題如果被人看了。醫生得0.5元,你得0.5元。然后累積夠1元后,[來問醫生]就會通過微信的企業付款功能給你的微信余額增加1元。 代碼調用...
摘要:注意交易時間超過一年的訂單無法提交退款微信支付退款支持單筆交易分多次退款,多次退款需要提交原支付訂單的商戶訂單號和設置不同的退款單號。 本文是【淺析微信支付】系列文章的第八篇,主要講解商戶如何處理微信申請退款、退款回調、查詢退款接口,其中有一些坑的地方,會著重強調。 淺析微信支付系列已經更新七篇了喲~,沒有看過的朋友們可以看一下哦。 淺析微信支付:查詢訂單和關閉訂單 淺析微信支付:支...
摘要:本文是淺析微信支付系列文章的第九篇,主要講解商戶下載對賬單接口和資金賬單接口的實現和一些注意事項。注意微信側未成功下單的交易不會出現在對賬單中。 本文是【淺析微信支付】系列文章的第九篇,主要講解商戶下載對賬單接口和資金賬單接口的實現和一些注意事項。 淺析微信支付系列已經更新九篇了喲~,沒有看過的朋友們可以看一下哦。 淺析微信支付:申請退款、退款回調接口、查詢退款 淺析微信支付:查詢訂...
摘要:支付流程以上是微信支付的流程用戶進入選擇商品進行購買,在內部結算時生成用戶本系統訂單待支付狀態,此時返回訂單信息與支付方式列表用戶確認金額無誤,并選擇支付方式。 支付流程 showImg(https://segmentfault.com/img/bVytNT?w=894&h=1042); 以上是微信app支付的流程: 用戶進入app選擇商品進行購買,在app內部結算時生成用戶本系統訂...
閱讀 3968·2021-11-16 11:44
閱讀 5189·2021-10-09 09:54
閱讀 2031·2019-08-30 15:44
閱讀 1678·2019-08-29 17:22
閱讀 2753·2019-08-29 14:11
閱讀 3389·2019-08-26 13:25
閱讀 2324·2019-08-26 11:55
閱讀 1595·2019-08-26 10:37