先判断是哪个版本的开发包:
看银联的sdk的文件夹下是否存在AcpService.cs,不存在后续看分支1,存在后续看分支2。(分支2的发布时间大概是2016年的1-3月各产品陆续更新的,分支间可能有迷一样的过度分支,请自行根据实际情况看。)
分支1:
1. 旧的sdk的文件夹的里的cs都删掉替换新的。
2. 加引用:
1) 加log4net引用。
2) 加BC引用。
3. 改配置文件。
1) Web.Config按新开发包的Web.Config文件添加配置。acpsdk.middleCert.path和acpsdk.rootCert.path是新加的配置,代替原来的sdk.validateCert.dir,非常重要请不要遗漏;其他自行比对添加。
2) 配置文件加log4net的配置,方便打日志排错。不加也可运行,但出错会比较麻烦。
4. 配置文件中acpsdk.middleCert.path和acpsdk.rootCert.path配置的文件在开发包assets/测试环境证书(或者生产环境证书)文件夹下取,复制到配置的路径,如果文件名和配置的不一样时注意修改配置的文件名。
5. 引用sdk时的namespace从upacp_sdk_net.com.unionpay.sdk改为com.unionpay.acp.sdk
6. 替换调用sdk的方法,方法不知道如何调用的话可以看新开发包的demo,以下列出了一部分需要替换的方法:
CertUtil.GetSignCertId删除(在Sign方法里会自动添加certId)。
SDKUtil.Sign改为AcpService.Sign。
HttpClient的一系列方法改为AcpService.Post。
SDKUtil.CreateAutoSubmitForm->AcpService.CreateAutoFormHtml
SDKUtil.Validate改为AcpService.Validate
7. version改为5.1.0,但此处建议version和signMethod都改为读配置文件,方便以后再更新sdk版本时可减少改动。
8. 其他细节如果有问题,请自己根据自己使用的产品的demo修改,多数对外的sdk方法都在AcpService里。
9. 5.1.0对发backTransReq.do、cardTransReq.do的资金类交易,就算失败了也会发后台通知,请注意后台通知相关的代码修改一下逻辑。
分支2:
1. 旧的sdk的文件夹的里的cs都删掉替换新的。
2. 加引用:
1) 加BC引用。
3. 改配置文件。
1) Web.Config按新开发包的Web.Config文件添加配置。acpsdk.middleCert.path和acpsdk.rootCert.path是新加的配置,代替原来的sdk.validateCert.dir,非常重要请不要遗漏;其他自行比对添加。
4. 配置文件中acpsdk.middleCert.path和acpsdk.rootCert.path配置的文件在开发包assets/测试环境证书(或者生产环境证书)文件夹下取,复制到配置的路径,如果文件名和配置的不一样时注意修改配置的文件名。
5. version改为5.1.0,但此处建议version和signMethod都改为读配置文件,方便以后再更新sdk版本时可减少改动。
6. 遇到其他问题,请自己根据自己使用的产品的demo修改。可能存在部分方法的参数列表有小改动的情况。
7. 5.1.0对发backTransReq.do、cardTransReq.do的资金类交易,就算失败了也会发后台通知,请注意后台通知相关的代码修改一下逻辑。
其他注意点:
1. token产品5.0.0的accNo固定返回明文的卡号后4位,5.1.0中改为了密文的卡号后4位,解密代码请参考前台通知里对accNo的处理。
2. 所有的后台类接口的后台通知增加了失败通知,请注意对应修改。前台类交易的后台通知仍然只有成功才会发。