KO
|
EN
gitlite — search
Search
#javascript
#python
#hacktoberfest
#react
#ai
#typescript
#llm
#go
#golang
#android
#machine-learning
#rust
#deep-learning
#linux
isv-xiaowei
★ 12
Open GitHub ↗
微信支付服务商小微进件接口
Download README (.md)
Explore Similar Repositories
JobAnalysis
:
Python分析拉钩职位信息
AoIP
:
No description available.
t80
:
Configurable cpu core that supports Z80, 8080 and gameboy instruction sets.
ED_triage_ML_children
:
A summary script of the study, "Machine learning-based prediction of clinical outcomes for children during emergency department triage"
minhtml-template
:
HTML/CSS/JSやるときの最小テンプレート
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
isv-xiaowei
?
Download (.md)
# isv-xiaowei 微信支付服务商小微进件接口(.NET Framework 4.6) 2018版新小微进件接口逻辑较复杂,流程如下: 1、升级CA权威新证书并下载。 2、设置V3密钥。 3、使用https://api.mch.weixin.qq.com/risk/getcertficates 接口获取敏感信息加密公钥密文。 4、使用此类库 AESGCM.Decrypt() 方法AEAD_AES_256_GCM算法解密获取实际的敏感信息加密公钥。 5、调用主代码传递相关服务商信息发起进件请求。 注:进件的身份证、门店照片应事先用图片上传接口上传并获得media_id,为避免编写复杂的C#代码,可使用System.Diagnostics.Process类调用curl.exe上传图片,并读取media_id,接口文档 https://pay.weixin.qq.com/wiki/doc/api/download/img_upload.pdf var cert_sn = ""; // 加密证书系列号 var mch_id = "1000077001"; // 服务商户号 var secret = ""; // 服务商密钥 var path = @"cert.p12"; // 证书路径 var cert = new X509Certificate2(path, mch_id); // 从本地加载微信支付商户后台下载的 p12 证书文件 var publicKey = File.ReadAllBytes(@"public.pem"); // 从平台接口下载到的公钥 // 初始化请求类,并完善参数,加密敏感信息 var client = new Client(cert_sn, mch_id); client["contact"] = Utils.RSAEncrypt("姓名", publicKey); client["id_card_name"] = Utils.RSAEncrypt("姓名", publicKey); client["account_name"] = Utils.RSAEncrypt("姓名", publicKey); client["contact_phone"] = Utils.RSAEncrypt("13800138000", publicKey); client["id_card_number"] = Utils.RSAEncrypt("460106198404060137", publicKey); client["account_number"] = Utils.RSAEncrypt("460106198404060137", publicKey); // 发起请求,返回完整XML即通讯成功,XML提示签名失败则secret错误,XML提示解密敏感信息解密失败则加密公钥用错 var result = client.Submit(secret, cert); Console.WriteLine(result); Console.ReadLine(); /* 请求成功时,返回如下XML * <xml><return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[OK]]></return_msg> <nonce_str><![CDATA[PRmBNusxC7OzkLQA]]></nonce_str> <sign><![CDATA[5F215605EBF93BFCD3573B78594B43349DED665630737E1ED65AA215EA5B360A]]></sign> <result_code><![CDATA[SUCCESS]]></result_code> <applyment_id><![CDATA[2000000000428996]]></applyment_id> </xml> * */