public override PayResponseBaseHandler GetRefundResult(MemberTradeForRefund refund) { var requestHandler = new SwiftpassPayRequestHandler(swifpasskey); requestHandler.setParameter("out_trade_no", refund.TradeNo); //商户订单号 requestHandler.setParameter("transaction_id", refund.MechanismTradeNo); //平台订单号 requestHandler.setParameter("service", "unified.trade.refundquery"); //接口 unified.trade.query requestHandler.setParameter("mch_id", payinfo.MchId); //必填项,商户号,由平台分配 requestHandler.setParameter("version", "2.0"); //接口版本号 requestHandler.setParameter("sign_type", "RSA_1_256"); //签名方式 requestHandler.setParameter("nonce_str", Common.CommonUtil.CreateNoncestr(16)); //随机字符串,必填项,不长于 32 位 requestHandler.CreateSign(); //创建签名 //_logger.LogInformation("GetPayResult result 签名成功"); string data = toXml(requestHandler.getAllParameters());//生成XML报文 //_logger.LogInformation("GetPayResult result 生成XML报文:" + data); var result = Post(swifpasskey.ReqUrl, data); //Hashtable param = requestHandler.getAllParameters(); if (result.Status != 0 || result.ResultCode != 0) { throw new Exception($"错误代码2:{result.ErrCode},错误信息2:{result.ErrMsg}"); } return(result); }
public string GetPayInfo(MemberTradeForRechange rechange, string sub_openid, string sub_appid) { var requestHandler = new SwiftpassPayRequestHandler(swifpasskey); requestHandler.setParameter("out_trade_no", rechange.TradeNo); //商户订单号 requestHandler.setParameter("body", rechange.Detail); //商品描述 requestHandler.setParameter("attach", ""); //附加信息 requestHandler.setParameter("total_fee", rechange.TotalFee.ToString()); //总金额 requestHandler.setParameter("mch_create_ip", rechange.AddIP); //终端IP requestHandler.setParameter("time_start", rechange.AddTime.ToString("yyyyMMddHHmmss")); //订单生成时间 requestHandler.setParameter("time_expire", rechange.AddTime.AddHours(1).ToString("yyyyMMddHHmmss")); //订单超时时间 requestHandler.setParameter("service", "pay.weixin.jspay"); //接口类型:pay.weixin.jspay requestHandler.setParameter("mch_id", payinfo.MchId); //必填项,商户号,由平台分配 requestHandler.setParameter("version", options.Version); //接口版本号 requestHandler.setParameter("notify_url", options.NotifyUrl); //通知地址,必填项,接收平台通知的URL,需给绝对路径,255字符内;此URL要保证外网能访问 requestHandler.setParameter("nonce_str", Common.CommonUtil.CreateNoncestr(16)); //随机字符串,必填项,不长于 32 位 requestHandler.setParameter("charset", "UTF-8"); //字符集 requestHandler.setParameter("sign_type", "RSA_1_256"); //签名方式 requestHandler.setParameter("is_raw", "0"); //原生JS值 requestHandler.setParameter("is_minipg", "1"); //表示小程序支付 requestHandler.setParameter("device_info", ""); //终端设备号 requestHandler.setParameter("sub_appid", sub_appid); requestHandler.setParameter("sub_openid", sub_openid); //测试账号不传值,此处默认给空值。正式账号必须传openid值,获取openid值指导文档地址:http://www.cnblogs.com/txw1958/p/weixin76-user-info.html requestHandler.setParameter("callback_url", "https://www.swiftpass.cn"); //前台地址 交易完成后跳转的 URL,需给绝对路径,255字 符 内 格 式如:http://wap.tenpay.com/callback.asp requestHandler.setParameter("goods_tag", ""); //商品标记 requestHandler.CreateSign(); //创建签名 string data = toXml(requestHandler.getAllParameters()); //生成XML报文 var result = Post(swifpasskey.ReqUrl, data); //Hashtable param = requestHandler.getAllParameters(); if (result.isTenpaySign()) { if (result.Status != 0 || result.ResultCode != 0) { throw new Exception($"错误代码:{result.Status},错误信息:{result.Message}"); } return(result.PayInfo); } else { throw new Exception($"状态:{result.Status},信息:{result.Message}"); } }
public override object Refund(MemberTradeForRefund refund) { var requestHandler = new SwiftpassPayRequestHandler(swifpasskey); requestHandler.setParameter("out_trade_no", refund.TradeNo); //商户订单号 requestHandler.setParameter("total_fee", refund.TotalFee.ToString()); //总金额 requestHandler.setParameter("refund_fee", refund.TotalFee.ToString()); //退款金额 requestHandler.setParameter("out_refund_no", refund.RefundTradeNo); //商户退款单号 requestHandler.setParameter("service", "unified.trade.refund"); //接口类型:pay.weixin.jspay requestHandler.setParameter("mch_id", payinfo.MchId); //必填项,商户号,由平台分配 requestHandler.setParameter("version", "2.0"); //接口版本号 requestHandler.setParameter("nonce_str", Common.CommonUtil.CreateNoncestr(16)); //随机字符串,必填项,不长于 32 位 requestHandler.setParameter("charset", "UTF-8"); //字符集 requestHandler.setParameter("sign_type", "RSA_1_256"); //签名方式 requestHandler.setParameter("op_user_id", payinfo.MchId); //必填项,操作员帐号,默认为商户号 requestHandler.CreateSign(); //创建签名 string data = toXml(requestHandler.getAllParameters()); //生成XML报文 return(Post(swifpasskey.ReqUrl, data)); }