SDK for java
<h2>1.适用条件</h2>
<p>适用于Java语言、jdk版本1.8及以上的开发环境。
</p>
<h2>2. JavaSDK集成</h2>
<ol>
<li>SDK已经对签名验签逻辑做了封装,使用SDK可直接调用API。</li>
<li>确定接口对应的类
例如接口名:paycloud.pay.barcodepay
在SDK中对应的类为:每个单词首字母大写,并去掉分隔符(“.”),末尾加上Request(或Response)
如上接口名对应的类为:</li>
</ol>
<p>PaycloudPayBarcodepayRequest(请求类)
PaycloudPayBarcodepayResponse(响应类)</p>
<h3>使用步骤</h3>
<ol>
<li>
<p><strong>下载jar包,添加到你的工程中</strong></p>
<p><a href="https://wangpos-sand.oss-cn-shanghai.aliyuncs.com/openapi.java.sdk.v2.zip">openapi.java.sdk.v2.zip</a> 更新时间:2021-09-24
</p>
</li>
</ol>
<p></p>
<p><strong><em> <strong>注:</strong>更新jar包版本,请务必先做完整测试,无误后再更新生产环境</em></strong></p>
<ol>
<li>
<p>该jar包依赖一些开源第三方jar,如果你的项目中没有集成这些jar,你需要手动添加依赖到你的项目中</p>
<pre><code class="language-xml"><dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.11</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.6</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.6</version>
</dependency></code></pre>
</li>
<li>调用示例
<pre><code class="language-java">
// 获取配置
String appId = "<此处请替换为您的应用ID>";
String appRsaPrivateKey = "<此处请替换为您的应用RSA私钥,用于签名>";
String payCloudRsaPublicKey = "<此处为平台方分配给您的PayCloud平台公钥,用于验签>";</code></pre></li>
</ol>
<p>//实例化客户端
OpenApiClient openapiClient = new OpenApiClient(Constants.PAYCLOUD_SERVER_URL_PROD,
appRsaPrivateKey, payCloudRsaPublicKey);</p>
<p>//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:paycloud.pay.barcodepay
PaycloudPayBarcodepayRequest request = new PaycloudPayBarcodepayRequest();</p>
<p>//SDK已经封装了公共参数,这里只需要传入业务参数
request.setApp_id(appId);
request.setSign_type(Constants.SIGN_TYPE_RSA2);
// 此处只是演示,其他参数请根据接口定义进行设置
//.....</p>
<p>// 调用接口
PaycloudPayBarcodepayResponse response = null;
try {
response = openapiClient.execute(request);
} catch (OpenApiException e) {
// 调用失败,输出错误信息
System.out.println("error:" + e.getErrCode() + "->>" + e.getErrMsg());
return;
}</p>
<p>if(response.isSuccess()){
if(response.getTrans_status() != null) {
if (2 == response.getTrans_status()) {
// 交易成功
//.....
} else if (1 == response.getTrans_status()) {
// 交易失败
//.....
} else {
// 交易中,调用查询接口进行查询
//.....
}
}
}else{
// 调用失败,输出错误信息,调用查询接口进行查询
System.out.println("error:" + response.getCode() + "->>" + response.getMsg());
}</p>
<pre><code>
### 注意事项
- OpenApiClient的实现类都是线程安全的,所以没有必要每次API请求都新建一个OpenApiClient实现类;</code></pre>