# IAPKit-Sample-ServerDemo
**Repository Path**: harmonyos_samples/iapkit-sample-serverdemo
## Basic Information
- **Project Name**: IAPKit-Sample-ServerDemo
- **Description**: 此示例主要介绍如何使用IAP Kit提供的RestAPI。
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: Java
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 1
- **Created**: 2025-01-24
- **Last Updated**: 2025-09-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 应用内支付-服务器API示例-Java
## 目录
* [介绍](#介绍)
* [支持环境](#支持环境)
* [依赖](#依赖)
* [配置](#配置)
* [示例代码](#示例代码)
* [开源许可](#开源许可)
## 介绍
应用内支付-服务器API示例 提供了一些关于IAP服务端的API代码示例,以供参考或使用。相关的类或包如下:
> > JWTGenetator:生成jwt的示例代码。更多详细信息,请参考[生成服务端请求的token](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/iap-jwt-description)。
>
> > IAPServer:请求IAP服务器的示例代码。更多详细信息,请参考[公共说明](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/iap-rest-common-statement)。
>
> > OrderService:订单相关的示例代码。更多详细信息,请参考[订单状态查询(消耗型/非消耗型/非续期订阅商品)](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/iap-query-order-status)和[订单确认发货(消耗型/非消耗型/非续期订阅商品)](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/iap-confirm-purchase-for-order)。
>
> > SubscriptionService:订阅相关的示例代码。更多详细信息,请参考[订阅状态查询](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/iap-query-subscription-status)和[订阅确认发货](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/iap-confirm-purchase-for-sub)。
>
> > JWSChecker:jws校验的示例代码。更多详细信息,请参考[对返回结果验签](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/iap-verifying-signature)。
>
> > notification:关键事件通知的示例代码。更多详细信息,请参考[服务端关键事件通知](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/iap-key-event-notifications)。
## 支持环境
推荐使用JDK 1.8及以上版本。
## 依赖
### Maven
```xml
com.auth0
java-jwt
4.4.0
commons-codec
commons-codec
1.9
com.fasterxml.jackson.core
jackson-databind
2.13.4.2
compile
```
## 配置
要使用示例中提供的方法,需要配置以下相关参数。
> JWTGenetator.java中的参数说明如下。更多详细信息,请参考[生成服务端请求的token](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/iap-jwt-description)。
>
> > | 参数 | 说明 |
> > | ----------------- | ------------------------------------------------------- |
> > | JWT_PRI_KEY_PATH | 私钥文件路径。 |
> > | ACTIVE_TIME_SECOND | JWT有效期,UTC时间戳,以秒为单位。有效期不能超过1小时。 |
> > | kid | 密钥ID。 |
> > | iss | 密钥颁发者ID。 |
> > | aid | APP ID。 |
>
> JWSChecker.java中的参数说明如下。更多详细信息,请参考[对返回结果验签](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/iap-verifying-signature)。
>
> > | 参数 | 说明 |
> > | --------------------- | ------------------------------------ |
> > | CA_CERT_FILE_PATH | Huawei CBG Root CA G2 证书文件路径。 |
> > | CRL_SOFT_FAIL_ENABLED | 是否忽略CRL网络错误。 |
## 示例代码
APIExample中已提供了一些示例,可以参考以下代码进行测试。
```java
public class APIExample {
public static void main(String[] args) throws Exception {
testGenJwt();
}
public static void testGenJwt() throws Exception {
Map bodyMap = new HashMap<>();
bodyMap.put("purchaseOrderId", "purchaseOrderId");
bodyMap.put("purchaseToken", "purchaseToken");
ObjectMapper objectMapper = new ObjectMapper();
String bodyJsonStr = objectMapper.writeValueAsString(bodyMap);
String jwt = JWTGenerator.genJwt(bodyJsonStr);
System.out.println(jwt);
}
}
```
## 开源许可
应用内支付-服务器API示例在[Apache许可证,版本2.0](http://www.apache.org/licenses/LICENSE-2.0)下获得许可。