全部
全部

【c#】如何更新5.1.0开发包


先判断是哪个版本的开发包:

看银联的sdk的文件夹下是否存在AcpService.cs,不存在后续看分支1,存在后续看分支2。(分支2的发布时间大概是2016年的1-3月各产品陆续更新的,分支间可能有迷一样的过度分支,请自行根据实际情况看。)


分支1:

1. 旧的sdk的文件夹的里的cs都删掉替换新的。
net1.png

2. 加引用:

1) 加log4net引用。

2) 加BC引用。
net2.png

3. 改配置文件。

1) Web.Config按新开发包的Web.Config文件添加配置。acpsdk.middleCert.path和acpsdk.rootCert.path是新加的配置,代替原来的sdk.validateCert.dir,非常重要请不要遗漏;其他自行比对添加。
1.png

2) 配置文件加log4net的配置,方便打日志排错。不加也可运行,但出错会比较麻烦。
net3.2.png

4. 配置文件中acpsdk.middleCert.path和acpsdk.rootCert.path配置的文件在开发包assets/测试环境证书(或者生产环境证书)文件夹下取,复制到配置的路径,如果文件名和配置的不一样时注意修改配置的文件名。
1482115014374014766.png

5. 引用sdk时的namespace从upacp_sdk_net.com.unionpay.sdk改为com.unionpay.acp.sdk
net4.png

6. 替换调用sdk的方法,方法不知道如何调用的话可以看新开发包的demo,以下列出了一部分需要替换的方法:

CertUtil.GetSignCertId删除(在Sign方法里会自动添加certId)。

SDKUtil.Sign改为AcpService.Sign。

HttpClient的一系列方法改为AcpService.Post。

SDKUtil.CreateAutoSubmitForm->AcpService.CreateAutoFormHtml

SDKUtil.Validate改为AcpService.Validate
net5.png

7. version改为5.1.0,但此处建议version和signMethod都改为读配置文件,方便以后再更新sdk版本时可减少改动。
net6.png

8. 其他细节如果有问题,请自己根据自己使用的产品的demo修改,多数对外的sdk方法都在AcpService里。

9. 5.1.0对发backTransReq.do、cardTransReq.do的资金类交易,就算失败了也会发后台通知,请注意后台通知相关的代码修改一下逻辑。


分支2:

1. 旧的sdk的文件夹的里的cs都删掉替换新的。

2. 加引用:

1) 加BC引用。
net2.png

3. 改配置文件。

1) Web.Config按新开发包的Web.Config文件添加配置。acpsdk.middleCert.path和acpsdk.rootCert.path是新加的配置,代替原来的sdk.validateCert.dir,非常重要请不要遗漏;其他自行比对添加。
1.png

4. 配置文件中acpsdk.middleCert.path和acpsdk.rootCert.path配置的文件在开发包assets/测试环境证书(或者生产环境证书)文件夹下取,复制到配置的路径,如果文件名和配置的不一样时注意修改配置的文件名。
1482115014374014766.png

5. version改为5.1.0,但此处建议version和signMethod都改为读配置文件,方便以后再更新sdk版本时可减少改动。net6.png

6. 遇到其他问题,请自己根据自己使用的产品的demo修改。可能存在部分方法的参数列表有小改动的情况。

7. 5.1.0对发backTransReq.do、cardTransReq.do的资金类交易,就算失败了也会发后台通知,请注意后台通知相关的代码修改一下逻辑。


其他注意点:

1. token产品5.0.0的accNo固定返回明文的卡号后4位,5.1.0中改为了密文的卡号后4位,解密代码请参考前台通知里对accNo的处理。

2. 所有的后台类接口的后台通知增加了失败通知,请注意对应修改。前台类交易的后台通知仍然只有成功才会发。

咨询服务