php支付宝订单关闭接口,微信支付PHP开发教程五关闭订单

重要:本文最后更新于2019-06-01 08:22:14,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗。

前面我们已经完成了微信支付的正常下单,并且能够正常收款。如果用户在支付过程中放弃了购买行为,那么为了保证订单正确,微信官方要求我们关闭订单,据我测试关不关都没多大影响,可能运气好,哈哈。在开发中切记不能抱有侥幸心理,特别是涉及到钱的事儿,一定要谨慎,严格按照官方要求去做。下面来学习下如果关闭微信支付订单吧,本文接前面教程,不清楚的地方自己去看。

商户订单支付失败需要生成新单号重新发起支付,要对原订单号调用关单,避免重复支付;系统下单后,用户支付超时,系统退出不再受理,避免用户继续,请调用关单接口。

注意:订单生成后不能马上调用关单接口,最短调用时间间隔为5分钟。

d2fa17270d1684a7de95584a9385eec3.png

微信支付-关闭订单

接口地址: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文件,里面记录了本次请求的结果。如果发生错误,可以通过阅读该文件中的记录内容进行排查!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值