|
Server : Microsoft-IIS/10.0 System : Windows NT EBS-6136 10.0 build 17763 (Windows Server 2016) i586 User : jxgj ( 0) PHP Version : 7.0.33 Disable Function : passthru,exec,system,shell_exec,proc_open,popen,pcntl_exec,socket_bind,stream_socket_server Directory : D:/tmp_aspnet/root/cae6aa2e/15328683/ |
?#pragma checksum "D:\wwwroot\anlian2025\wwwroot\App_Code\wxshaoma\NativePay.cs" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "48BFE1B3E52C8943F65E923FF1EE405CDD00B49E"
#line 1 "D:\wwwroot\anlian2025\wwwroot\App_Code\wxshaoma\NativePay.cs"
using System;
using System.Collections.Generic;
using System.Web;
using System.IO;
using System.Data.SqlClient;
namespace WxPayAPI
{
public class NativePay
{
/**
* 天生扫描支付模式一URL
* @param productId 商品ID
* @return 模式一URL
*/
public string GetPrePayUrl(string productId)
{
WxPayData data = new WxPayData();
data.SetValue("appid", WxPayConfig.APPID);//公家帐号id
data.SetValue("mch_id", WxPayConfig.MCHID);//商户号
data.SetValue("time_stamp", WxPayApi.GenerateTimeStamp());//功夫戳
data.SetValue("nonce_str", WxPayApi.GenerateNonceStr());//随机字符串
data.SetValue("product_id", productId);//商品ID
data.SetValue("sign", data.MakeSign());//署名
string str = ToUrlParams(data.GetValues());//转换为URL串
string url = "weixin://wxpay/bizpayurl?" + str;
return url;
}
/**
* 天生直接支付url,支付url有效期为2幼时,模式二
* @param productId 商品ID
* @return 模式二URL
*/
public string GetPayUrl(string productId, string total_fee)
{
WxPayData data = new WxPayData();
data.SetValue("body", "叶子足球");//商品描述
data.SetValue("attach", "叶子足球");//附加数据
data.SetValue("out_trade_no", productId);//随机字符串
data.SetValue("total_fee", total_fee);//总金额
data.SetValue("time_start", DateTime.Now.ToString("yyyyMMddHHmmss"));//买卖肇始功夫
data.SetValue("time_expire", DateTime.Now.AddMinutes(10).ToString("yyyyMMddHHmmss"));//买卖实现功夫
data.SetValue("goods_tag", "");//商品象征
data.SetValue("trade_type", "NATIVE");//买卖类型
data.SetValue("product_id", productId);//商品ID
WxPayData result = WxPayApi.UnifiedOrder(data);//挪用统一下单接口
string url = result.GetValue("return_msg").ToString();//获得统一下单接口返回的二维码链接
return url;
}
/**
* 参数数组转换为url体式
* @param map 参数名与参数值的映射表
* @return URL字符串
*/
private string ToUrlParams(SortedDictionary<string, object> map)
{
string buff = "";
foreach (KeyValuePair<string, object> pair in map)
{
buff += pair.Key + "=" + pair.Value + "&";
}
buff = buff.Trim('&');
return buff;
}
}
}
#line default
#line hidden