服务端)
1) 企业用户申请2.0签约
- 请商户在b.alipay.com里进行产品签约;
- 审核:商户登录qy.alipay.com,可在“签约订单”中查看审核进度。
需要上传企业基本信息、用户信息、移动应用Demo、移动应用简介等
2)查询“移动支付”下载SDK及Demo文件
3)把Demo文件的 app_code文件夹的数据拖到项目中,把log文件夹拖到项目中(readme.txt文本是帮助文档)
4)生成私钥
(1)打开\DEMO\openssl\bin目录
(2)打开openssl.exe
(3)输入 genrsa -out rsa_private_key.pem 1024 命令,bin文件夹下会生成rsa_private_key.pem 文件,用记事本方式打开它,可以看到-----BEGIN RSA PRIVATE KEY-----开头,-----END RSA PRIVATE KEY-----结尾的没有换行的字符串,这个就是原始的私钥。别着急!这段原始私钥代码中是用不到的,我们需要将它转化为PKCS8格式。继续在openssl.exe中输入:pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt 并回车,不包含BEGIN PRIVATE KEY和END PRIVATE KEY这两行的是 PKCS8格式的私钥
注:右键点击openssl窗口上边边缘,选择编辑→标记,选中要复制的文字(如上图),
此时继续右键点击openssl窗口上边边缘,选择编辑→复制,
把复制的内容粘贴进一个新的记事本中,可随便命名,只要知道这个是PKCS8格式的私钥即可。
5)生成公钥
(1)同样打开 openssl.exe,
(2)输入 rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
(3)会生成rsa_public_key.pem 文件 ,用记事本方式打开它不包含BEGIN PRIVATE KEY和END PRIVATE KEY这两行就是公钥
6)配置demo文件打开 app_code下的AlipayConfig.cs类,根据注释把相关信息输入进去
7)把\DEMO\服务端demo\CSHARP-UTF-8\notify_url.aspx.cs的源码粘贴到回调路径,根据业务逻辑修改一下就Ok了
8)AlipayNotify.cs 的Verify方法最好加个日志记录
例: LogHelper.WriteLog("responseTxt=" + responseTxt + "\n isSign=" + isSign.ToString() + "\n 返回回来的参数:" + GetPreSignStr(inputPara) + "\n ");
便于发现问题!
注:以上实现必须在签约审核通过!