Files
juipnet/Services/Hncore.Pass.PaymentCenter/Pay/WxPay/WxJsPayDataBase.cs

51 lines
1.3 KiB
C#
Raw Normal View History

2020-10-07 20:25:03 +08:00
using System;
using System.Linq;
using System.Xml.Serialization;
namespace Hncore.Pass.PaymentCenter.WxPay.WechatJsPay
{
/// <summary>
/// 微信小程序、公众号支付 数据签名校验
/// </summary>
public class WxJsPayDataBase
{
public string GenerateNonceStr()
{
return Guid.NewGuid().ToString("N");
}
public WxPayChecker ToPayData()
{
var type = GetType();
var properties = type.GetProperties();
var data = new WxPayChecker();
foreach (var property in properties)
{
var xmlAttr = property.GetCustomAttributes(typeof(XmlElementAttribute), false);
if (!xmlAttr.Any())
{
continue;
}
string name = ((XmlElementAttribute)xmlAttr[0]).ElementName;
object valueObj = property.GetValue(this, null);
if (valueObj == null)
{
continue;
}
string value = valueObj.ToString();
if (!string.IsNullOrEmpty(value))
{
data[name] = value;
}
}
return data;
}
}
}