123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using MySystem.Models;
- using Library;
- using LitJson;
- using System.Threading;
- using System.Security.Cryptography;
- namespace MySystem
- {
- public class PayApply
- {
- public string taskNo { get; set; }
- public string entOrderNo { get; set; }
- public string payeeName { get; set; }
- public string payeeIdCard { get; set; }
- public string payeePhone { get; set; }
- public string payeeAccount { get; set; }
- public string paymentModel { get; set; }
- public string amount { get; set; }
- public string callbackUrl { get; set; }
- public string remark { get; set; }
- }
- public class CashBase
- {
- public readonly static CashBase Instance = new CashBase();
- private CashBase()
- { }
- public string PrivateKey = ""; //私钥
- public string PublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoZa64mEChZCYmn6t+33ZksHoV9Me/SR2oOkbNifkwP8EmhtopMZE00yumd3zKY0enJvqZ+22x486MUUu3d658n+nl6k8taSAYVrUb6vIfFueUYcbvorxzZNLvdi3AnQGJybRGJis/9WOYJc0XioNq9ywP/RLWMNGmuF+RBFYoRic9dGMoPF2I4Y/RazxUNN9mJRQwIacAd7r+miikBzrQ0kdC0QdNR4eEc2u8UEy2VhMuMqc9oKXVSdlVV+8Cx5m9kZzyRL0UryvUV6VYk8zMxoQVHpTtu0GjL8nXBfiJzglCqIpum989AIxrafgIwvwj8fTMnET4eTwT7nUyskgewIDAQAB"; //公钥
- public string EnterpriseNo = "8880010000269"; //平台分配的企业编码
- public string ChannelNo = "8880010000267"; //平台分配的渠道编码
- public string RequestUrl = "http://yhs-service-pay2data.juheba.top:8888/"; //请求地址
- //查询签约状态
- public string QuerySignStatus(string IdCard)
- {
- Dictionary<string, object> data = new Dictionary<string, object>();
- data.Add("apiCode", "3003"); //接口编号,固定:3003
- data.Add("enterpriseNo", EnterpriseNo); //平台分配的企业编码
- data.Add("channelNo", ChannelNo); //平台分配的渠道编码
- data.Add("timestamp", function.GetCurTimestamp()); //时间戳(毫秒)
- data.Add("idCard", IdCard); //从业者身份证号
- return PostData("api/personal/signed/result", data, new Dictionary<string, object>());
- }
- //从业者数据提交
- public string CreateInfo(string Name, string IdCard, string Phone, string FrontCertImg, string BackCertImg)
- {
- Dictionary<string, object> data = new Dictionary<string, object>();
- data.Add("apiCode", "3000"); //接口编号,固定:3003
- data.Add("enterpriseNo", EnterpriseNo); //平台分配的企业编码
- data.Add("channelNo", ChannelNo); //平台分配的渠道编码
- data.Add("timestamp", function.GetCurTimestamp()); //时间戳(毫秒)
- data.Add("name", Name); //从业者姓名
- data.Add("idCard", IdCard); //从业者身份证号
- data.Add("phone", Phone); //从业者手机号
- Dictionary<string, object> fileData = new Dictionary<string, object>();
- fileData.Add("frontCertImg", FrontCertImg); //身份证正面照
- fileData.Add("backCertImg", BackCertImg); //身份证反面照
- return PostData("api/personal/create", data, fileData);
- }
- //发起签约确认
- public string ConfirmSign(string IdCard)
- {
- Dictionary<string, object> data = new Dictionary<string, object>();
- data.Add("apiCode", "3004"); //接口编号,固定:3003
- data.Add("enterpriseNo", EnterpriseNo); //平台分配的企业编码
- data.Add("channelNo", ChannelNo); //平台分配的渠道编码
- data.Add("timestamp", function.GetCurTimestamp()); //时间戳(毫秒)
- data.Add("idCard", IdCard); //从业者身份证号
- return PostData("api/personal/sign", data, new Dictionary<string, object>());
- }
- //提价代付申请
- public string PayApply(PayApply ReqData)
- {
- Dictionary<string, object> data = new Dictionary<string, object>();
- data.Add("apiCode", "3004"); //接口编号,固定:3003
- data.Add("enterpriseNo", EnterpriseNo); //平台分配的企业编码
- data.Add("channelNo", ChannelNo); //平台分配的渠道编码
- data.Add("timestamp", function.GetCurTimestamp()); //时间戳(毫秒)
- data.Add("taskNo", ReqData.taskNo); //企业后台创建的任务编码
- data.Add("entOrderNo", ReqData.entOrderNo); //企业流水号
- data.Add("payeeName", ReqData.payeeName); //收款人姓名
- data.Add("payeeIdCard", ReqData.payeeIdCard); //收款人身份证号
- data.Add("payeePhone", ReqData.payeePhone); //收款人手机号
- data.Add("payeeAccount", ReqData.payeeAccount); //收款人帐号(银行卡号、支付宝帐号)
- data.Add("paymentModel", ReqData.paymentModel); //支付类型
- data.Add("amount", ReqData.amount); //金额(单位:分)
- data.Add("callbackUrl", ReqData.callbackUrl); //通知地址
- data.Add("remark", ReqData.remark); //结算单备注信息
- return PostData("api/pay/apply", data, new Dictionary<string, object>());
- }
- //公用请求方法
- public string PostData(string path, Dictionary<string, object> data, Dictionary<string, object> fileData)
- {
- Dictionary<string, object> main = new Dictionary<string, object>();
- main.Add("enterpriseNo", EnterpriseNo);
- main.Add("channelNo", ChannelNo);
- function.WriteLog(DateTime.Now.ToString(), "代付公用请求方法");
- function.WriteLog("path:" + path, "代付公用请求方法");
- string body = Newtonsoft.Json.JsonConvert.SerializeObject(data);
- function.WriteLog("body:" + body, "代付公用请求方法");
- body = Encrypt(body);
- main.Add("body", body);
- if (fileData.Keys.Count > 0)
- {
- main.Add("fileData", fileData);
- }
- string req = Newtonsoft.Json.JsonConvert.SerializeObject(main);
- function.WriteLog("req:" + req, "代付公用请求方法");
- string result = function.PostWebRequest(RequestUrl + path, req, "application/json");
- function.WriteLog("result:" + result, "代付公用请求方法");
- function.WriteLog("-----------------", "代付公用请求方法");
- return result;
- }
- //加密
- public string Encrypt(string content)
- {
- // var toDecryptArray = System.Text.Encoding.UTF8.GetBytes(content);
- // var keyArray = System.Text.Encoding.UTF8.GetBytes(PublicKey);
- // var rsa = RSA.Create();
- // rsa.ImportRSAPublicKey(keyArray, out _);
- // var contentArray = rsa.Encrypt(toDecryptArray, RSAEncryptionPadding.Pkcs1);
- // return Convert.ToBase64String(contentArray);
-
- return new RSAHelper(RSAType.RSA, System.Text.Encoding.UTF8, "", PublicKey).Encrypt(content);
- }
- }
- }
|