# Demo项目文件介绍

## 一、目录结构

5upay-sdk-Nodejs

├── cfca/
 │   ├── client/           # 客户私钥证书，商户需要替换自己实际证书
 │   └── server/          # 平台公钥书，生产环境公钥证书
├── demo/
 │   ├── notify.js        # 异步通知示例
 │   └── query.js         # 查询接口示例，其他接口调用方式参考此文件
├── lib/
 │   ├── apiSdk.js        # API SDK 实现
 │   ├── config.js         # 读取配置文件模块
 │   ├── cryptoUtils.js # 加密、解密、签名、验签工具模块
 │   └── notifySdk.js    # 异步通知处理模块
├── config.json          # 配置文件模板
├── package.json       # npm 包配置文件
└── README.md        # 项目文档

## 二、安装

### 1、下载demo项目文件、解压；

### 2、进行项目目录、安装依赖；

    npm install

### 3、运行demo

进入demo目录后，运行示例文件
    node query.js
    node notify.js

### 三、配置文件说明

1、配置文件 config.json，配置文件内容示例如下

{
	"http.content.type.v3": "application/vnd.5upay-v3.0+json",
	"server.public.key.path": "../cfca/server/public.pem",
	"90689210.client.private.key.path": "../cfca/client/private.key"
}

注：第3行是商户私钥证书配置，商户生产应用时需要替换生产环境的商户号、商户私钥证书

### 四、证书文件说明

商户根据证书两码下载证书文件后需要进行格式转换
1、从 client.pfx 里提取私钥，注：商户商用时需要对生产证书进行转换
openssl pkcs12 -in client.pfx -nodes -out client.pem
openssl rsa -in client.pem -out private.key

2、server.cer 提取公钥文件，注：项目文件中的 public.pem 为平台生产环境证书，商户不需要再处理
openssl x509 -inform der -in server.cer -pubkey -out public.pem
