DEMO¶
JAVA 版 DEMO¶
DEMO 分别提供了页面浏览器调用方式的快捷支付 APP 版接口和后台系统调用方式的 APP 支付接口调用示例。使用 DEMO 之前商户需要申请 CFCA 加解签证(商户在汇付开户后,会有邮件通知下载)
硬件需求
服务可以部署在 linux 和 windows 等具有 JVM 环境的服务容器内,比如 jboss,tomcat 等(暂提供 jboss)。安装 JDK1.7 并配置好 JDK 的环境变量。
部署服务
将证书文件放到服务器 $path 目录下,上传 war 包到服务器。
启动服务器
- Windows服务器下执行**/jboss/bin/standalone.bat -DmerCertPath=#商户证书地址.pfx -DpfxparTest=#密码 -DhsCertPath=#汇付证书地址.cer
如:**/jboss/bin/standalone.bat -DpfxFile=”/app/etc/product/888888-NEW.pfx” -DpfxFilePwd=”123456” -DcerFile=”/app/etc/product/CFCA_ACS_TEST_OCA31.cer”
- Linux服务器下,执行**/jboss/bin/standalone.sh -DmerCertPath=#商户证书地址.pfx -DpfxparTest=#密码 -DhsCertPath=#汇付证书地址.cer
如:**/jboss/bin/standalone.sh -DpfxFile=”/app/etc/product/888888-NEW.pfx” -DpfxFilePwd=”123456” -DcerFile=”/app/etc/product/CFCA_ACS_TEST_OCA31.cer”
接口 | 调用方式 | 访问地址 | 说明 |
---|---|---|---|
快捷支付 APP 版接口 | 页面浏览器提交 | http://ip:port/service-demo/quickPay/pay.json | 请求后跳转快捷支付页面 |
APP 支付接口 | 后台系统调用 | http://ip:port/service-demo/appPay/pay?pay_type=10 | 请求后返回APP支付参数 |
PHP DEMO( Linux 版)¶
Demo 运行
- 安装对应版本的PHP
- 安装运行时环境(glibc库等)
3. 修改PHP的配置文件php.ini 修改php.ini,使php允许加载扩展,并将当前扩展添加到其扩展列表中 enable_dl = On extension=libSADKExtension.so.3.4.0.1
4. 在DemoRSA目录下替换证书和cer文件 pfx为私钥文件请妥善保管不要泄露给他人 cer文件为颁发者公钥,用来验证汇付公钥
- 配置 cfcalog.conf cfca日志文件
6. 通过命令行终端运行Demo文件 php huifuCFCALinuxDemo.php
Msg PKCS7-attached Sign | 为使用 pfx 证书加签 |
PKCS7-attached-Verify | 为验证汇付的签名 |
cfca_verifyCertificate | 为验证证书链合法性 |
cfca_getCertificateInfo | 为获取证书信息(非必要) |
PHP DEMO( Windows 版)¶
Demo 运行
环境要求:WinServer2008 64bit、 WinServer2012 64bit 1. 配置php.ini php -i|findstr ini ,找到php.ini所在路径 将重命名后的 php.ini 文件内的“; extension_dir = “ext””行,修改为 “extension_dir = “./ext””。然后,在 php.ini 文件末尾,添加以下两行内容: [COM_DOT_NET] extension=php_com_dotnet.dll
2. 注册com组件 64位下执行 regsvr32 CryptoKit.Standard.x64.dll 32位下执行 regsvr32 CryptoKit.Standard.x86.dll
3. 在DemoRSA目录下替换证书和cer文件 pfx为私钥文件请妥善保管不要泄露给他人 cer文件为颁发者公钥,用来验证汇付公钥
4. 在Demo目录下执行 php huifuCFCAWindowsDemo.php
SignData_PKCS7Attached | 为使用 pfx 证书加签 |
VerifyDataSignature_PKCS7Attached | 为验证汇付的签名 |
VerifyCertificate | 为验证证书链合法性 |
GetCertificateInfo | 为获取证书信息(非必要) |