Commit e6e323e1 by 陶然

优化扫码支付撤销方法

parent 5dd9d6ec
......@@ -342,6 +342,42 @@ namespace Com.Bocom.OpenApi
}
}
public static MPNG020705ResponseV1 CloseReceiveCode(string payMerTranNo)
{
payMerTranNo.ThrowIfNullOrEmpty("缺少订单号信息");
DefaultBocomClient client = new DefaultBocomClient(Configs.appIdQrCode, Configs.priKeyQrCode, Configs.pubKeyQrCode, BocomConstants.ENCRYPT_TYPE_RSA_AND_AES);
/**
* 测试环境可以忽略SSL证书告警,生产环境不可忽略
*/
client.IgnoreSslHostnameVerifier();
var request = new MPNG020705RequestV1();
request.SetServiceUrl(Configs.basicUrlQrCode + Configs.MPNG020705RequestV1);
var bizContent = new MPNG020705RequestV1.MPNG020705RequestV1Biz();
bizContent.req_head = new MPNG020705RequestV1.MPNG020705RequestV1Biz.ReqHead();
bizContent.req_head.trans_time = DateTime.Now.ToString("yyyyMMddHHmmss");
bizContent.req_head.version = "V-1.0";
bizContent.req_body = new MPNG020705RequestV1.MPNG020705RequestV1Biz.ReqBody();
bizContent.req_body.mer_ptc_id = Configs.mer_ptc_idQrCode;//"301310063009501";//商户号,需要配置信息到位
bizContent.req_body.mer_trade_date = DateTime.Now.ToString("yyyyMMdd");
bizContent.req_body.pay_mer_tran_no = payMerTranNo;
bizContent.req_body.close_mer_tran_no = payMerTranNo;
request.SetBizContent(bizContent);
var response = client.Execute(request, Guid.NewGuid().ToString().Replace("-", ""));
if (response.IsSuccess())
{
var rtns = response as MPNG020705ResponseV1;
if (rtns.rsp_head.response_status != "S") throw new Exception(rtns.rsp_head.response_msg);
return rtns;
}
else
{
throw new Exception($"ReturnCode:{response.GetRspCode()}{Environment.NewLine}ReturnMsg:{response.GetRspMsg()}");
}
}
/// <summary>
/// 删除收款码订单信息
/// </summary>
......@@ -357,6 +393,7 @@ namespace Com.Bocom.OpenApi
}
var details = conn.Select<ReceiveCodeDetail>(o => o.ReceiveCodeKvid == receiveCode.Kvid);
Extension.CloseReceiveCode(receiveCode.pay_mer_tran_no);
IDbTransaction trans = null;//事务,如果外部来了Connection,不生成事务
if (useTransaction) trans = conn.OpenTransaction();
......
......@@ -4,8 +4,6 @@ using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
using static Com.Bocom.OpenApi.MPNG020702RequestV1;
using static Com.Bocom.OpenApi.MPNG020705RequestV1;
namespace Com.Bocom.OpenApi
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment