fix:提交银联支付绝对路径读取配置文件

This commit is contained in:
2025-09-25 16:23:42 +08:00
commit 0f18ff4641
42 changed files with 12523 additions and 0 deletions

BIN
.vs/Pos/v17/.wsuo Normal file

Binary file not shown.

View File

@@ -0,0 +1,12 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\backup\\Code\\Code\\QYZYYYY\\Pos\\",
"Documents": [],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": []
}
]
}

View File

@@ -0,0 +1,7 @@
{
"ExpandedNodes": [
""
],
"SelectedNode": "\\C:\\backup\\Code\\Code\\QYZYYYY\\Pos",
"PreviewInSolutionExplorer": false
}

17
AssemblyInfo.cs Normal file
View File

@@ -0,0 +1,17 @@
// Assembly MisPosFD, Version 2.0.0.1
[assembly: System.Runtime.CompilerServices.CompilationRelaxations(8)]
[assembly: System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)]
[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: System.Reflection.AssemblyTitle("MisPosFD")]
[assembly: System.Reflection.AssemblyDescription("银联MisPos封装")]
[assembly: System.Reflection.AssemblyConfiguration("")]
[assembly: System.Reflection.AssemblyCompany("广州方鼎软件科技发展有限公司")]
[assembly: System.Reflection.AssemblyProduct("MisPosFD")]
[assembly: System.Reflection.AssemblyCopyright("Copyright \x00a9 2025")]
[assembly: System.Reflection.AssemblyTrademark("")]
[assembly: System.Runtime.InteropServices.ComVisible(true)]
[assembly: System.Runtime.InteropServices.Guid("f8d14652-2d34-4866-a809-ed6072282ded")]
[assembly: System.Reflection.AssemblyFileVersion("2.0.0.2")]
[assembly: System.Runtime.Versioning.TargetFramework(".NETFramework,Version=v4.5", FrameworkDisplayName=".NET Framework 4.5")]

1
Global.cs Normal file
View File

@@ -0,0 +1 @@


64
MisPosFD.csproj Normal file
View File

@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<PropertyGroup>
<ProjectType>local</ProjectType>
<ProjectVersion>7.10.377</ProjectVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{CF67D09B-E914-4E35-B209-C55E21E2DDF4}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<AssemblyName>MisPosFD</AssemblyName>
<OutputType>Library</OutputType>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<Compile Include="AssemblyInfo.cs" />
<Compile Include="Global.cs" />
<Compile Include="MisPosFD\IOnline.cs" />
<Compile Include="MisPosFD\Online.cs" />
<Compile Include="MisPosFD\ISocial.cs" />
<Compile Include="MisPosFD\Social.cs" />
<Compile Include="MisPosFD\ITest.cs" />
<Compile Include="MisPosFD\Test.cs" />
<Compile Include="MisPosFD\IUnion.cs" />
<Compile Include="MisPosFD\Union.cs" />
<Compile Include="MisPosFD\Model\CorrectResponse.cs" />
<Compile Include="MisPosFD\Model\OnlineResponse.cs" />
<Compile Include="MisPosFD\Model\QueryResponse.cs" />
<Compile Include="MisPosFD\Model\TradeResponse.cs" />
<Compile Include="MisPosFD\Helper\CommonHelper.cs" />
<Compile Include="MisPosFD\Helper\ResponseHelper.cs" />
<Compile Include="MisPosFD\Domain\Online.cs" />
<Compile Include="MisPosFD\Domain\Social.cs" />
<Compile Include="MisPosFD\Domain\Union.cs" />
<Compile Include="MisPosFD\Api\MisPos.cs" />
</ItemGroup>
<ItemGroup>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\清远中医院\最终版本\MisPos调用v1.2\MisPos调用v1.2\Newtonsoft.Json.dll</HintPath>
</Reference>
</ItemGroup>
</Project>

25
MisPosFD.sln Normal file
View File

@@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.11.35312.102
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MisPosFD", "MisPosFD.csproj", "{CF67D09B-E914-4E35-B209-C55E21E2DDF4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CF67D09B-E914-4E35-B209-C55E21E2DDF4}.Debug|x86.ActiveCfg = Debug|x86
{CF67D09B-E914-4E35-B209-C55E21E2DDF4}.Debug|x86.Build.0 = Debug|x86
{CF67D09B-E914-4E35-B209-C55E21E2DDF4}.Release|x86.ActiveCfg = Release|x86
{CF67D09B-E914-4E35-B209-C55E21E2DDF4}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {66951C8B-3E2D-475A-A640-FBCF9068FE9E}
EndGlobalSection
EndGlobal

18
MisPosFD/Api/MisPos.cs Normal file
View File

@@ -0,0 +1,18 @@
namespace MisPosFD.Api
{
using System;
using System.Runtime.InteropServices;
using System.Text;
internal class MisPos
{
[DllImport("MisPos.dll", CharSet = CharSet.Ansi, SetLastError = true)]
public static extern int MyMisPos([MarshalAs(UnmanagedType.LPStr)] StringBuilder sappname, [MarshalAs(UnmanagedType.LPStr)] StringBuilder stransid, [MarshalAs(UnmanagedType.LPStr)] StringBuilder stime, [MarshalAs(UnmanagedType.LPStr)] StringBuilder sjsondata, [MarshalAs(UnmanagedType.LPStr)] StringBuilder outdata);
[DllImport("MisPos.dll", CharSet = CharSet.Ansi, SetLastError = true)]
public static extern int MyMisPosPath([MarshalAs(UnmanagedType.LPStr)] StringBuilder sappname, [MarshalAs(UnmanagedType.LPStr)] StringBuilder stransid, [MarshalAs(UnmanagedType.LPStr)] StringBuilder stime, [MarshalAs(UnmanagedType.LPStr)] StringBuilder sjsondata, [MarshalAs(UnmanagedType.LPStr)] StringBuilder setDizhi, [MarshalAs(UnmanagedType.LPStr)] StringBuilder outdata);
}
}

99
MisPosFD/Domain/Online.cs Normal file
View File

@@ -0,0 +1,99 @@
namespace MisPosFD.Domain
{
using MisPosFD.Api;
using MisPosFD.Helper;
using MisPosFD.Model;
using Newtonsoft.Json;
using System;
using System.Runtime.InteropServices;
using System.Text;
public class Online
{
public static string correct(string path ,string traceNo)
{
try
{
if (string.IsNullOrWhiteSpace(path))
{
return ResponseHelper.jError("传入conf.ini配置文件地址为空请检查入参", null);
}
StringBuilder sappname = new StringBuilder("05");
StringBuilder stransid = new StringBuilder("52");
StringBuilder stime = new StringBuilder(DateTime.Now.ToString("yyyyMMddHHmmss"));
StringBuilder sjsondata = new StringBuilder(JsonConvert.SerializeObject(new { sOrgTraceNo = traceNo }));
StringBuilder outdata = new StringBuilder(0x400);
StringBuilder infoPath = new StringBuilder(path);
int num = MisPos.MyMisPosPath(sappname, stransid, stime, sjsondata, infoPath, outdata);
string str = outdata.ToString();
if (num == 0)
{
OnlineResponse response = JsonConvert.DeserializeObject<OnlineResponse>(str);
if ("00".Equals(response.resCode))
{
var rdata = new {
amount = response.amt,
cardNo = response.cardNo,
traceNo = response.traceNo,
settleDate = response.settleDate,
refNo = response.refNo
};
return ResponseHelper.jSuccess("SUCCESS", rdata);
}
return ResponseHelper.jFailure(response.resMsg, null);
}
return ResponseHelper.jError(str, null);
}
catch (Exception exception1)
{
return ResponseHelper.jError(exception1.Message, null);
}
}
public static string pos(string path, string amount, string orderNo = "")
{
try
{
if (string.IsNullOrEmpty(orderNo))
{
orderNo = "FD" + DateTime.Now.ToString("yyyyMMddHHmmss") + CommonHelper.random(5);
}
StringBuilder sappname = new StringBuilder("05");
StringBuilder stransid = new StringBuilder("51");
StringBuilder stime = new StringBuilder(DateTime.Now.ToString("yyyyMMddHHmmss"));
StringBuilder sjsondata = new StringBuilder(JsonConvert.SerializeObject(new {
sAmt = amount,
sType = "00",
sMerOrderNo = orderNo
}));
StringBuilder outdata = new StringBuilder(0x400);
StringBuilder infoPath = new StringBuilder(path);
int num = MisPos.MyMisPosPath(sappname, stransid, stime, sjsondata, infoPath, outdata);
string str = outdata.ToString();
if (num == 0)
{
OnlineResponse response = JsonConvert.DeserializeObject<OnlineResponse>(str);
if ("00".Equals(response.resCode))
{
var rdata = new {
amount = response.amt,
cardNo = response.cardNo,
traceNo = response.traceNo,
settleDate = response.settleDate,
refNo = response.refNo,
orderNo = response.out_trade_no
};
return ResponseHelper.jSuccess("SUCCESS", rdata);
}
return ResponseHelper.jFailure(response.resMsg, null);
}
return ResponseHelper.jError(str, null);
}
catch (Exception exception1)
{
return ResponseHelper.jError(exception1.Message, null);
}
}
}
}

140
MisPosFD/Domain/Social.cs Normal file
View File

@@ -0,0 +1,140 @@
namespace MisPosFD.Domain
{
using MisPosFD.Api;
using MisPosFD.Helper;
using MisPosFD.Model;
using Newtonsoft.Json;
using System;
using System.Runtime.InteropServices;
using System.Text;
public class Social
{
public static string correct(string path ,string traceNo)
{
try
{
if (string.IsNullOrWhiteSpace(path))
{
return ResponseHelper.jError("传入conf.ini配置文件地址为空请检查入参", null);
}
StringBuilder sappname = new StringBuilder("03");
StringBuilder stransid = new StringBuilder("12");
StringBuilder stime = new StringBuilder(DateTime.Now.ToString("yyyyMMddHHmmss"));
StringBuilder sjsondata = new StringBuilder(JsonConvert.SerializeObject(new { sOrgTraceNo = traceNo }));
StringBuilder outdata = new StringBuilder(0x400);
StringBuilder infoPath = new StringBuilder(path);
int num = MisPos.MyMisPosPath(sappname, stransid, stime, sjsondata, infoPath, outdata);
string str = outdata.ToString();
if (num == 0)
{
CorrectResponse response = JsonConvert.DeserializeObject<CorrectResponse>(str);
if ("00".Equals(response.resCode))
{
var rdata = new {
amount = response.amt,
cardNo = response.cardNo,
traceNo = response.traceNo,
settleDate = response.settleDate,
refNo = response.refNo
};
return ResponseHelper.jSuccess("SUCCESS", rdata);
}
return ResponseHelper.jFailure(response.resMsg, null);
}
return ResponseHelper.jError(str, null);
}
catch (Exception exception1)
{
return ResponseHelper.jError(exception1.Message, null);
}
}
public static string query(string path)
{
try
{
if (string.IsNullOrWhiteSpace(path))
{
return ResponseHelper.jError("传入conf.ini配置文件地址为空请检查入参", null);
}
StringBuilder stransid = new StringBuilder("22");
StringBuilder stime = new StringBuilder(DateTime.Now.ToString("yyyyMMddHHmmss"));
StringBuilder sjsondata = new StringBuilder(0x400);
StringBuilder outdata = new StringBuilder(0x400);
StringBuilder infoPath = new StringBuilder(path);
int num = MisPos.MyMisPosPath(new StringBuilder("03"), stransid, stime, sjsondata, infoPath, outdata);
string str = outdata.ToString();
if (num == 0)
{
QueryResponse response = JsonConvert.DeserializeObject<QueryResponse>(str);
if ("00".Equals(response.resCode))
{
decimal num2 = decimal.Parse(response.amt) / 100M;
var rdata = new {
balance = num2.ToString(),
cardNo = response.cardNo
};
return ResponseHelper.jSuccess("SUCCESS", rdata);
}
return ResponseHelper.jFailure(response.resMsg, null);
}
return ResponseHelper.jError(str, null);
}
catch (Exception exception1)
{
return ResponseHelper.jError(exception1.Message, null);
}
}
public static string trade(string path, string amount, string orderNo = "")
{
try
{
if (string.IsNullOrWhiteSpace(path))
{
return ResponseHelper.jError("传入conf.ini配置文件地址为空请检查入参", null);
}
if (string.IsNullOrEmpty(orderNo))
{
orderNo = "FD" + DateTime.Now.ToString("yyyyMMddHHmmss") + CommonHelper.random(5);
}
StringBuilder sappname = new StringBuilder("03");
StringBuilder stransid = new StringBuilder("11");
StringBuilder stime = new StringBuilder(DateTime.Now.ToString("yyyyMMddHHmmss"));
StringBuilder sjsondata = new StringBuilder(JsonConvert.SerializeObject(new {
sAmt4 = amount,
sMerOrderNo = orderNo
}));
StringBuilder outdata = new StringBuilder(0x400);
StringBuilder infoPath = new StringBuilder(path);
int num = MisPos.MyMisPosPath(sappname, stransid, stime, sjsondata, infoPath, outdata);
string str = outdata.ToString();
if (num == 0)
{
TradeResponse response = JsonConvert.DeserializeObject<TradeResponse>(str);
if ("00".Equals(response.resCode))
{
var rdata = new {
amount = response.amt,
cardNo = response.cardNo,
traceNo = response.traceNo,
settleDate = response.settleDate,
refNo = response.refNo,
orderNo = response.sMerOrderNo
};
return ResponseHelper.jSuccess("SUCCESS", rdata);
}
return ResponseHelper.jFailure(response.resMsg, null);
}
return ResponseHelper.jError(str, null);
}
catch (Exception exception1)
{
return ResponseHelper.jError(exception1.Message, null);
}
}
}
}

139
MisPosFD/Domain/Union.cs Normal file
View File

@@ -0,0 +1,139 @@
namespace MisPosFD.Domain
{
using MisPosFD.Api;
using MisPosFD.Helper;
using MisPosFD.Model;
using Newtonsoft.Json;
using System;
using System.Runtime.InteropServices;
using System.Text;
public class Union
{
public static string correct(string path ,string traceNo)
{
try
{
if (string.IsNullOrWhiteSpace(path))
{
return ResponseHelper.jError("传入conf.ini配置文件地址为空请检查入参", null);
}
StringBuilder sappname = new StringBuilder("03");
StringBuilder stransid = new StringBuilder("32");
StringBuilder stime = new StringBuilder(DateTime.Now.ToString("yyyyMMddHHmmss"));
StringBuilder sjsondata = new StringBuilder(JsonConvert.SerializeObject(new { sOrgTraceNo = traceNo }));
StringBuilder outdata = new StringBuilder(0x400);
StringBuilder infoPath = new StringBuilder(path);
int num = MisPos.MyMisPosPath(sappname, stransid, stime, sjsondata, infoPath, outdata);
string str = outdata.ToString();
if (num == 0)
{
CorrectResponse response = JsonConvert.DeserializeObject<CorrectResponse>(str);
if ("00".Equals(response.resCode))
{
var rdata = new {
amount = response.amt,
cardNo = response.cardNo,
traceNo = response.traceNo,
settleDate = response.settleDate,
refNo = response.refNo
};
return ResponseHelper.jSuccess("SUCCESS", rdata);
}
return ResponseHelper.jFailure(response.resMsg, null);
}
return ResponseHelper.jError(str, null);
}
catch (Exception exception1)
{
return ResponseHelper.jError(exception1.Message, null);
}
}
public static string query(string path)
{
try
{
if (string.IsNullOrWhiteSpace(path))
{
return ResponseHelper.jError("传入conf.ini配置文件地址为空请检查入参", null);
}
StringBuilder stransid = new StringBuilder("21");
StringBuilder stime = new StringBuilder(DateTime.Now.ToString("yyyyMMddHHmmss"));
StringBuilder sjsondata = new StringBuilder(0x400);
StringBuilder outdata = new StringBuilder(0x400);
StringBuilder infoPath = new StringBuilder(path);
int num = MisPos.MyMisPosPath(new StringBuilder("03"), stransid, stime, sjsondata, infoPath, outdata);
string str = outdata.ToString();
if (num == 0)
{
QueryResponse response = JsonConvert.DeserializeObject<QueryResponse>(str);
if ("00".Equals(response.resCode))
{
decimal num2 = decimal.Parse(response.amt) / 100M;
var rdata = new {
balance = num2.ToString(),
cardNo = response.cardNo
};
return ResponseHelper.jSuccess("SUCCESS", rdata);
}
return ResponseHelper.jFailure(response.resMsg, null);
}
return ResponseHelper.jError(str, null);
}
catch (Exception exception1)
{
return ResponseHelper.jError(exception1.Message, null);
}
}
public static string trade(string path, string amount, string orderNo = "")
{
try
{
if (string.IsNullOrWhiteSpace(path))
{
return ResponseHelper.jError("传入conf.ini配置文件地址为空请检查入参", null);
}
if (string.IsNullOrEmpty(orderNo))
{
orderNo = "FD" + DateTime.Now.ToString("yyyyMMddHHmmss") + CommonHelper.random(5);
}
StringBuilder sappname = new StringBuilder("03");
StringBuilder stransid = new StringBuilder("31");
StringBuilder stime = new StringBuilder(DateTime.Now.ToString("yyyyMMddHHmmss"));
StringBuilder sjsondata = new StringBuilder(JsonConvert.SerializeObject(new {
sAmt = amount,
sMerOrderNo = orderNo
}));
StringBuilder outdata = new StringBuilder(0x400);
StringBuilder infoPath = new StringBuilder(path);
int num = MisPos.MyMisPosPath(sappname, stransid, stime, sjsondata, infoPath, outdata);
string str = outdata.ToString();
if (num == 0)
{
TradeResponse response = JsonConvert.DeserializeObject<TradeResponse>(str);
if ("00".Equals(response.resCode))
{
var rdata = new {
amount = response.amt,
cardNo = response.cardNo,
traceNo = response.traceNo,
settleDate = response.settleDate,
refNo = response.refNo,
orderNo = response.sMerOrderNo
};
return ResponseHelper.jSuccess("SUCCESS", rdata);
}
return ResponseHelper.jFailure(response.resMsg, null);
}
return ResponseHelper.jError(str, null);
}
catch (Exception exception1)
{
return ResponseHelper.jError(exception1.Message, null);
}
}
}
}

View File

@@ -0,0 +1,20 @@
namespace MisPosFD.Helper
{
using System;
internal class CommonHelper
{
private static int GenerateRandomNumber(int length)
{
int num = ((int) Math.Pow(10.0, (double) length)) - 1;
return new Random().Next(0, num + 1);
}
private static string GenerateRandomNumberString(int length) =>
GenerateRandomNumber(length).ToString().PadLeft(length, '0');
public static string random(int length) =>
GenerateRandomNumberString(length);
}
}

View File

@@ -0,0 +1,31 @@
namespace MisPosFD.Helper
{
using Newtonsoft.Json;
using System;
using System.Runtime.InteropServices;
public class ResponseHelper
{
public static string jError(string rmsg, object rdata = null) =>
JsonConvert.SerializeObject(new {
code = "-2",
msg = rmsg,
data = rdata
});
public static string jFailure(string rmsg, object rdata = null) =>
JsonConvert.SerializeObject(new {
code = "-1",
msg = rmsg,
data = rdata
});
public static string jSuccess(string rmsg, object rdata = null) =>
JsonConvert.SerializeObject(new {
code = "0",
msg = rmsg,
data = rdata
});
}
}

13
MisPosFD/IOnline.cs Normal file
View File

@@ -0,0 +1,13 @@
namespace MisPosFD
{
using System;
using System.Runtime.InteropServices;
[Guid("B85E1284-E657-4DB8-BBD4-EF39BE3208DD")]
public interface IOnline
{
string pos(string amount, string orderNo = "");
string correct(string traceNo);
}
}

14
MisPosFD/ISocial.cs Normal file
View File

@@ -0,0 +1,14 @@
namespace MisPosFD
{
using System;
using System.Runtime.InteropServices;
[Guid("06FF9559-0B27-47E2-8D3B-74B825011D32")]
public interface ISocial
{
string query();
string trade(string amount, string orderNo = "");
string correct(string traceNo);
}
}

12
MisPosFD/ITest.cs Normal file
View File

@@ -0,0 +1,12 @@
namespace MisPosFD
{
using System;
using System.Runtime.InteropServices;
[Guid("9439CB9C-5030-455F-85A1-5F6E4BC8FA3B")]
public interface ITest
{
int Add(int a, int b);
}
}

14
MisPosFD/IUnion.cs Normal file
View File

@@ -0,0 +1,14 @@
namespace MisPosFD
{
using System;
using System.Runtime.InteropServices;
[Guid("C48A2C52-E9F1-4E32-8535-9BA1F5B34CFB")]
public interface IUnion
{
string query();
string trade(string amount, string orderNo = "");
string correct(string traceNo);
}
}

View File

@@ -0,0 +1,39 @@
namespace MisPosFD.Model
{
using System;
using System.Runtime.CompilerServices;
internal class CorrectResponse
{
public string resCode { get; set; }
public string resMsg { get; set; }
public string merchantNo { get; set; }
public string terminalNo { get; set; }
public string amt { get; set; }
public string traceNo { get; set; }
public string refNo { get; set; }
public string cardNo { get; set; }
public string date { get; set; }
public string time { get; set; }
public string transChnName { get; set; }
public string appName { get; set; }
public string transId { get; set; }
public string settleDate { get; set; }
public string authNo { get; set; }
}
}

View File

@@ -0,0 +1,43 @@
namespace MisPosFD.Model
{
using System;
using System.Runtime.CompilerServices;
internal class OnlineResponse
{
public string resCode { get; set; }
public string resMsg { get; set; }
public string merchantNo { get; set; }
public string terminalNo { get; set; }
public string amt { get; set; }
public string traceNo { get; set; }
public string refNo { get; set; }
public string cardNo { get; set; }
public string out_trade_no { get; set; }
public string date { get; set; }
public string time { get; set; }
public string channelName { get; set; }
public string transChnName { get; set; }
public string appName { get; set; }
public string transId { get; set; }
public string settleDate { get; set; }
public string authNo { get; set; }
}
}

View File

@@ -0,0 +1,31 @@
namespace MisPosFD.Model
{
using System;
using System.Runtime.CompilerServices;
internal class QueryResponse
{
public string resCode { get; set; }
public string resMsg { get; set; }
public string merchantNo { get; set; }
public string terminalNo { get; set; }
public string amt { get; set; }
public string cardNo { get; set; }
public string date { get; set; }
public string time { get; set; }
public string appName { get; set; }
public string transId { get; set; }
public string authNo { get; set; }
}
}

View File

@@ -0,0 +1,43 @@
namespace MisPosFD.Model
{
using System;
using System.Runtime.CompilerServices;
internal class TradeResponse
{
public string resCode { get; set; }
public string resMsg { get; set; }
public string merchantNo { get; set; }
public string terminalNo { get; set; }
public string amt { get; set; }
public string traceNo { get; set; }
public string refNo { get; set; }
public string cardNo { get; set; }
public string date { get; set; }
public string time { get; set; }
public string channelName { get; set; }
public string transChnName { get; set; }
public string sMerOrderNo { get; set; }
public string appName { get; set; }
public string transId { get; set; }
public string settleDate { get; set; }
public string authNo { get; set; }
}
}

94
MisPosFD/Online.cs Normal file
View File

@@ -0,0 +1,94 @@
namespace MisPosFD
{
using MisPosFD.Api;
using MisPosFD.Helper;
using MisPosFD.Model;
using Newtonsoft.Json;
using System;
using System.Runtime.InteropServices;
using System.Text;
[Guid("C952B56E-BDFB-4FF9-A84C-1DD8AC013F0A"), ClassInterface(ClassInterfaceType.None)]
public class Online : IOnline
{
public string correct(string traceNo)
{
try
{
StringBuilder sappname = new StringBuilder("05");
StringBuilder stransid = new StringBuilder("52");
StringBuilder stime = new StringBuilder(DateTime.Now.ToString("yyyyMMddHHmmss"));
StringBuilder sjsondata = new StringBuilder(JsonConvert.SerializeObject(new { sOrgTraceNo = traceNo }));
StringBuilder outdata = new StringBuilder(0x400);
int num = MisPos.MyMisPos(sappname, stransid, stime, sjsondata, outdata);
string str = outdata.ToString();
if (num == 0)
{
OnlineResponse response = JsonConvert.DeserializeObject<OnlineResponse>(str);
if ("00".Equals(response.resCode))
{
var rdata = new {
amount = response.amt,
cardNo = response.cardNo,
traceNo = response.traceNo,
settleDate = response.settleDate,
refNo = response.refNo
};
return ResponseHelper.jSuccess("SUCCESS", rdata);
}
return ResponseHelper.jFailure(response.resMsg, null);
}
return ResponseHelper.jError(str, null);
}
catch (Exception exception1)
{
return ResponseHelper.jError(exception1.Message, null);
}
}
public string pos(string amount, string orderNo = "")
{
try
{
if (string.IsNullOrEmpty(orderNo))
{
orderNo = "FD" + DateTime.Now.ToString("yyyyMMddHHmmss") + CommonHelper.random(5);
}
StringBuilder sappname = new StringBuilder("05");
StringBuilder stransid = new StringBuilder("51");
StringBuilder stime = new StringBuilder(DateTime.Now.ToString("yyyyMMddHHmmss"));
StringBuilder sjsondata = new StringBuilder(JsonConvert.SerializeObject(new {
sAmt = amount,
sType = "00",
sMerOrderNo = orderNo
}));
StringBuilder outdata = new StringBuilder(0x400);
int num = MisPos.MyMisPos(sappname, stransid, stime, sjsondata, outdata);
string str = outdata.ToString();
if (num == 0)
{
OnlineResponse response = JsonConvert.DeserializeObject<OnlineResponse>(str);
if ("00".Equals(response.resCode))
{
var rdata = new {
amount = response.amt,
cardNo = response.cardNo,
traceNo = response.traceNo,
settleDate = response.settleDate,
refNo = response.refNo,
orderNo = response.out_trade_no
};
return ResponseHelper.jSuccess("SUCCESS", rdata);
}
return ResponseHelper.jFailure(response.resMsg, null);
}
return ResponseHelper.jError(str, null);
}
catch (Exception exception1)
{
return ResponseHelper.jError(exception1.Message, null);
}
}
}
}

125
MisPosFD/Social.cs Normal file
View File

@@ -0,0 +1,125 @@
namespace MisPosFD
{
using MisPosFD.Api;
using MisPosFD.Helper;
using MisPosFD.Model;
using Newtonsoft.Json;
using System;
using System.Runtime.InteropServices;
using System.Text;
[Guid("2BDD814F-0E23-427A-AFB8-DDFE6AF4ABE1"), ClassInterface(ClassInterfaceType.None)]
public class Social : ISocial
{
public string correct(string traceNo)
{
try
{
StringBuilder sappname = new StringBuilder("03");
StringBuilder stransid = new StringBuilder("12");
StringBuilder stime = new StringBuilder(DateTime.Now.ToString("yyyyMMddHHmmss"));
StringBuilder sjsondata = new StringBuilder(JsonConvert.SerializeObject(new { sOrgTraceNo = traceNo }));
StringBuilder outdata = new StringBuilder(0x400);
int num = MisPos.MyMisPos(sappname, stransid, stime, sjsondata, outdata);
string str = outdata.ToString();
if (num == 0)
{
CorrectResponse response = JsonConvert.DeserializeObject<CorrectResponse>(str);
if ("00".Equals(response.resCode))
{
var rdata = new {
amount = response.amt,
cardNo = response.cardNo,
traceNo = response.traceNo,
settleDate = response.settleDate,
refNo = response.refNo
};
return ResponseHelper.jSuccess("SUCCESS", rdata);
}
return ResponseHelper.jFailure(response.resMsg, null);
}
return ResponseHelper.jError(str, null);
}
catch (Exception exception1)
{
return ResponseHelper.jError(exception1.Message, null);
}
}
public string query()
{
try
{
StringBuilder stransid = new StringBuilder("22");
StringBuilder stime = new StringBuilder(DateTime.Now.ToString("yyyyMMddHHmmss"));
StringBuilder sjsondata = new StringBuilder(0x400);
StringBuilder outdata = new StringBuilder(0x400);
int num = MisPos.MyMisPos(new StringBuilder("03"), stransid, stime, sjsondata, outdata);
string str = outdata.ToString();
if (num == 0)
{
QueryResponse response = JsonConvert.DeserializeObject<QueryResponse>(str);
if ("00".Equals(response.resCode))
{
decimal num2 = decimal.Parse(response.amt) / 100M;
var rdata = new {
balance = num2.ToString(),
cardNo = response.cardNo
};
return ResponseHelper.jSuccess("SUCCESS", rdata);
}
return ResponseHelper.jFailure(response.resMsg, null);
}
return ResponseHelper.jError(str, null);
}
catch (Exception exception1)
{
return ResponseHelper.jError(exception1.Message, null);
}
}
public string trade(string amount, string orderNo = "")
{
try
{
if (string.IsNullOrEmpty(orderNo))
{
orderNo = "FD" + DateTime.Now.ToString("yyyyMMddHHmmss") + CommonHelper.random(5);
}
StringBuilder sappname = new StringBuilder("03");
StringBuilder stransid = new StringBuilder("11");
StringBuilder stime = new StringBuilder(DateTime.Now.ToString("yyyyMMddHHmmss"));
StringBuilder sjsondata = new StringBuilder(JsonConvert.SerializeObject(new {
sAmt4 = amount,
sMerOrderNo = orderNo
}));
StringBuilder outdata = new StringBuilder(0x400);
int num = MisPos.MyMisPos(sappname, stransid, stime, sjsondata, outdata);
string str = outdata.ToString();
if (num == 0)
{
TradeResponse response = JsonConvert.DeserializeObject<TradeResponse>(str);
if ("00".Equals(response.resCode))
{
var rdata = new {
amount = response.amt,
cardNo = response.cardNo,
traceNo = response.traceNo,
settleDate = response.settleDate,
refNo = response.refNo,
orderNo = response.sMerOrderNo
};
return ResponseHelper.jSuccess("SUCCESS", rdata);
}
return ResponseHelper.jFailure(response.resMsg, null);
}
return ResponseHelper.jError(str, null);
}
catch (Exception exception1)
{
return ResponseHelper.jError(exception1.Message, null);
}
}
}
}

13
MisPosFD/Test.cs Normal file
View File

@@ -0,0 +1,13 @@
namespace MisPosFD
{
using System;
using System.Runtime.InteropServices;
[Guid("6C165D8A-9A16-41CD-BA4F-A9D82073A669"), ClassInterface(ClassInterfaceType.None)]
public class Test : ITest
{
public int Add(int a, int b) =>
(a + b);
}
}

125
MisPosFD/Union.cs Normal file
View File

@@ -0,0 +1,125 @@
namespace MisPosFD
{
using MisPosFD.Api;
using MisPosFD.Helper;
using MisPosFD.Model;
using Newtonsoft.Json;
using System;
using System.Runtime.InteropServices;
using System.Text;
[Guid("95132F66-A747-4967-A284-5C3B2D8553C0"), ClassInterface(ClassInterfaceType.None)]
public class Union : IUnion
{
public string correct(string traceNo)
{
try
{
StringBuilder sappname = new StringBuilder("03");
StringBuilder stransid = new StringBuilder("32");
StringBuilder stime = new StringBuilder(DateTime.Now.ToString("yyyyMMddHHmmss"));
StringBuilder sjsondata = new StringBuilder(JsonConvert.SerializeObject(new { sOrgTraceNo = traceNo }));
StringBuilder outdata = new StringBuilder(0x400);
int num = MisPos.MyMisPos(sappname, stransid, stime, sjsondata, outdata);
string str = outdata.ToString();
if (num == 0)
{
CorrectResponse response = JsonConvert.DeserializeObject<CorrectResponse>(str);
if ("00".Equals(response.resCode))
{
var rdata = new {
amount = response.amt,
cardNo = response.cardNo,
traceNo = response.traceNo,
settleDate = response.settleDate,
refNo = response.refNo
};
return ResponseHelper.jSuccess("SUCCESS", rdata);
}
return ResponseHelper.jFailure(response.resMsg, null);
}
return ResponseHelper.jError(str, null);
}
catch (Exception exception1)
{
return ResponseHelper.jError(exception1.Message, null);
}
}
public string query()
{
try
{
StringBuilder stransid = new StringBuilder("21");
StringBuilder stime = new StringBuilder(DateTime.Now.ToString("yyyyMMddHHmmss"));
StringBuilder sjsondata = new StringBuilder(0x400);
StringBuilder outdata = new StringBuilder(0x400);
int num = MisPos.MyMisPos(new StringBuilder("03"), stransid, stime, sjsondata, outdata);
string str = outdata.ToString();
if (num == 0)
{
QueryResponse response = JsonConvert.DeserializeObject<QueryResponse>(str);
if ("00".Equals(response.resCode))
{
decimal num2 = decimal.Parse(response.amt) / 100M;
var rdata = new {
balance = num2.ToString(),
cardNo = response.cardNo
};
return ResponseHelper.jSuccess("SUCCESS", rdata);
}
return ResponseHelper.jFailure(response.resMsg, null);
}
return ResponseHelper.jError(str, null);
}
catch (Exception exception1)
{
return ResponseHelper.jError(exception1.Message, null);
}
}
public string trade(string amount, string orderNo = "")
{
try
{
if (string.IsNullOrEmpty(orderNo))
{
orderNo = "FD" + DateTime.Now.ToString("yyyyMMddHHmmss") + CommonHelper.random(5);
}
StringBuilder sappname = new StringBuilder("03");
StringBuilder stransid = new StringBuilder("31");
StringBuilder stime = new StringBuilder(DateTime.Now.ToString("yyyyMMddHHmmss"));
StringBuilder sjsondata = new StringBuilder(JsonConvert.SerializeObject(new {
sAmt = amount,
sMerOrderNo = orderNo
}));
StringBuilder outdata = new StringBuilder(0x400);
int num = MisPos.MyMisPos(sappname, stransid, stime, sjsondata, outdata);
string str = outdata.ToString();
if (num == 0)
{
TradeResponse response = JsonConvert.DeserializeObject<TradeResponse>(str);
if ("00".Equals(response.resCode))
{
var rdata = new {
amount = response.amt,
cardNo = response.cardNo,
traceNo = response.traceNo,
settleDate = response.settleDate,
refNo = response.refNo,
orderNo = response.sMerOrderNo
};
return ResponseHelper.jSuccess("SUCCESS", rdata);
}
return ResponseHelper.jFailure(response.resMsg, null);
}
return ResponseHelper.jError(str, null);
}
catch (Exception exception1)
{
return ResponseHelper.jError(exception1.Message, null);
}
}
}
}

BIN
bin/Debug/MisPosFD.dll Normal file

Binary file not shown.

BIN
bin/Debug/MisPosFD.pdb Normal file

Binary file not shown.

Binary file not shown.

11363
bin/Debug/Newtonsoft.Json.xml Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]

View File

@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")]

Binary file not shown.

View File

@@ -0,0 +1 @@
1be31c4151ab265193a894bf2488dfbc1e2e8cf7bf70a54f8f2a38841d8f625e

View File

@@ -0,0 +1,12 @@
C:\Users\Nine\Desktop\new\obj\x86\Debug\MisPosFD.csproj.CoreCompileInputs.cache
C:\Users\Nine\Desktop\new\bin\Debug\MisPosFD.dll
C:\Users\Nine\Desktop\new\bin\Debug\MisPosFD.pdb
C:\Users\Nine\Desktop\new\bin\Debug\Newtonsoft.Json.dll
C:\Users\Nine\Desktop\new\bin\Debug\Newtonsoft.Json.xml
C:\Users\Nine\Desktop\new\obj\x86\Debug\MisPosFD.csproj.CopyComplete
C:\Users\Nine\Desktop\new\obj\x86\Debug\MisPosFD.dll
C:\Users\Nine\Desktop\new\obj\x86\Debug\MisPosFD.pdb
C:\Users\Nine\Desktop\MisPosFD\obj\x86\Debug\MisPosFD.csproj.AssemblyReference.cache
C:\Users\Nine\Desktop\MisPosFD\obj\x86\Debug\MisPosFD.csproj.CoreCompileInputs.cache
C:\Users\Nine\Desktop\MisPosFD\obj\x86\Debug\MisPosFD.dll
C:\Users\Nine\Desktop\MisPosFD\obj\x86\Debug\MisPosFD.pdb

BIN
obj/x86/Debug/MisPosFD.dll Normal file

Binary file not shown.

BIN
obj/x86/Debug/MisPosFD.pdb Normal file

Binary file not shown.