php微信支付分取消订单,微信支付PHP开发教程五关闭订单
重要:本文最后更新于2019-06-01 08:22:14,某些文章具有時效性,若有錯誤或已失效,請在下方留言或聯系代碼狗。
前面我們已經完成了微信支付的正常下單,并且能夠正常收款。如果用戶在支付過程中放棄了購買行為,那么為了保證訂單正確,微信官方要求我們關閉訂單,據我測試關不關都沒多大影響,可能運氣好,哈哈。在開發中切記不能抱有僥幸心理,特別是涉及到錢的事兒,一定要謹慎,嚴格按照官方要求去做。下面來學習下如果關閉微信支付訂單吧,本文接前面教程,不清楚的地方自己去看。
商戶訂單支付失敗需要生成新單號重新發起支付,要對原訂單號調用關單,避免重復支付;系統下單后,用戶支付超時,系統退出不再受理,避免用戶繼續,請調用關單接口。
注意:訂單生成后不能馬上調用關單接口,最短調用時間間隔為5分鐘。
微信支付-關閉訂單
接口地址:https://api.mch.weixin.qq.com/pay/closeorder
是否需要證書:否
文檔地址:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_3
請求參數:
字段名
變量名
必填
類型
公眾賬號ID
appid
是
String(32)
商戶號
mch_id
是
String(32)
商戶訂單號
out_trade_no
是
String(32)
隨機字符串
nonce_str
是
String(32)
簽名
sign
是
String(32)
簽名類型
sign_type
否
String(32)
返回結果
字段名
變量名
必填
類型
返回狀態碼
return_code
是
String(16)
返回信息
return_msg
是
String(128)
更多返回信息自己看文檔,以后就不多介紹了。
PHP關閉微信訂單源碼
//關閉訂單
public function closeorder($order){
$apiparams=[
'appid'=>self::appid,
'mch_id'=>self::mch_id,
'out_trade_no'=>$order,
'nonce_str'=>Util::getNonceStr(),
];
$apiparams['sign']=$this->GetSign($apiparams);
$xml=Util::ArrToXml($apiparams);
$result=Util::postXmlCurl($xml,'https://api.mch.weixin.qq.com/pay/closeorder');
$arr=Util::XmlToArr($result);
if($arr['return_code']=='SUCCESS'){
file_put_contents('./log.txt',$result);
return 'success';
}else{
file_put_contents('./error.txt',$result);
return false;
}
}
這段源碼是接前面寫的支付類的,把這個關閉訂單方法放進支付類中進行調用即可。該方法執行結果將會在當前文件夾中生成一個log.txt文件,里面記錄了本次請求的結果。如果發生錯誤,可以通過閱讀該文件中的記錄內容進行排查!
總結
以上是生活随笔為你收集整理的php微信支付分取消订单,微信支付PHP开发教程五关闭订单的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么把鼻子弄小
- 下一篇: php脚本查杀,无敌强大的Shell脚本