//向微信接口发送支付数据,并获得带有二维码数据的URL
public class NativePay
{

public string GetPayUrl(string title, string title_dasp, string ordsn, string fee, string productId) {
WxPayData data = new WxPayData(); data.SetValue("body", title);//商品描述 data.SetValue("attach", title_dasp);//附加数据 data.SetValue("out_trade_no", ordsn); //订单号 data.SetValue("total_fee", fee);//总金额 data.SetValue("time_start", DateTime.Now.ToString("yyyyMMddHHmmss"));//交易起始时间
data.SetValue("time_expire",DateTime.Now.AddMinutes(10).ToString("yyyyMMddHHmmss"));
//交易结束时间
data.SetValue("trade_type", "NATIVE");//交易类型 data.SetValue("product_id", productId);//商品ID
WxPayData result = WxPayApi.UnifiedOrder(data);//调用统一下单接口 (PS:统一下单接口WxPayApi是微信官方DEMO中包含,可直接使用) string url = result.GetValue("code_url").ToString();//获得统一下单接口返回的二维码链接 return url; }
}
在页面加入下面代码块,可以是Form_load 可以是其它方式
下面代码块作用,就是获得上述代码块取得URL,URL用data:image/gif形式,显示支付二维码
NativePay nativePay = new NativePay();
string url = nativePay.GetPayUrl("XXX产品订阅费","XXX产品的订阅费用",“202358584743”, //订单号"500",// 订单费用 单位分 500即5元“232984” //商户自己的订单ID
);
string strUrl = "data:image/gif;base64," + Convert.ToBase64String(App_Core.CommFun.QRcodeGen(url).ToArray()); //App_Core.CommFun.QRcodeGen是将URL转换成字节的函数,是微信官方DEMO中包含,可直接使用
前台用图片控件显示 strUrl 这个变量。就是微信支付二维码。
微信扫描此二维码后,微信端显示下图
-完-