com.jfinal.weixin.sdk.api.CardPayApi Maven / Gradle / Ivy
package com.jfinal.weixin.sdk.api;
import com.jfinal.kit.Kv;
import com.jfinal.weixin.sdk.utils.HttpUtils;
import com.jfinal.weixin.sdk.utils.JsonUtils;
/**
* 付费券点
* @author L.cm
*/
public class CardPayApi {
private static String activateUrl = "https://api.weixin.qq.com/card/pay/activate?access_token=";
/**
* 开通券点账户接口
* @return {ApiResult}
*/
public static ApiResult activate() {
String jsonResult = HttpUtils.get(activateUrl + AccessTokenApi.getAccessTokenStr());
return new ApiResult(jsonResult);
}
private static String getPayPriceUrl = "https://api.weixin.qq.com/card/pay/getpayprice?access_token=";
/**
* 对优惠券批价
* @param cardId 是 string(32) 需要来配置库存的card_id
* @param quantity 是 int 本次需要兑换的库存数目
* @return {ApiResult}
*/
public static ApiResult getPayPrice(String cardId, int quantity) {
Kv data = Kv.by("card_id", cardId).set("quantity", quantity);
String jsonResult = HttpUtils.post(getPayPriceUrl + AccessTokenApi.getAccessTokenStr(), JsonUtils.toJson(data));
return new ApiResult(jsonResult);
}
private static String getCoinsInfoUrl = "https://api.weixin.qq.com/card/pay/getcoinsinfo?access_token=";
/**
* 查询券点余额接口
* @return {ApiResult}
*/
public static ApiResult getCoinsInfo() {
String jsonResult = HttpUtils.get(getCoinsInfoUrl + AccessTokenApi.getAccessTokenStr());
return new ApiResult(jsonResult);
}
private static String confirmUrl = "https://api.weixin.qq.com/card/pay/confirm?access_token=";
/**
* 确认兑换库存接口
* @param cardId 是 string(32) 需要来配置库存的card_id
* @param quantity 是 int 本次需要兑换的库存数目
* @param orderId 是 string 仅可以使用批价得到的订单号,保证批价有效性
* @return {ApiResult}
*/
public static ApiResult confirm(String cardId, int quantity, String orderId) {
Kv data = Kv.by("card_id", cardId).set("quantity", quantity).set("order_id", orderId);
String jsonResult = HttpUtils.post(confirmUrl + AccessTokenApi.getAccessTokenStr(), JsonUtils.toJson(data));
return new ApiResult(jsonResult);
}
private static String rechargeUrl = "https://api.weixin.qq.com/card/pay/recharge?access_token=";
/**
* 充值券点接口
* @param coinCount 是 int 需要充值的券点数目,1点=1元
* @return {ApiResult}
*/
public static ApiResult recharge(int coinCount) {
Kv data = Kv.by("coin_count", coinCount);
String jsonResult = HttpUtils.post(rechargeUrl + AccessTokenApi.getAccessTokenStr(), JsonUtils.toJson(data));
return new ApiResult(jsonResult);
}
private static String getOrderUrl = "https://api.weixin.qq.com/card/pay/getorder?access_token=";
/**
* 查询订单详情接口
* @param orderId 是 int 充值券点接口中获得的订单号,作为一次交易的唯一凭证,由于类型不是100%确定改为Stirng
* @return {ApiResult}
*/
public static ApiResult getOrder(String orderId) {
Kv data = Kv.by("order_id", orderId);
String jsonResult = HttpUtils.post(getOrderUrl + AccessTokenApi.getAccessTokenStr(), JsonUtils.toJson(data));
return new ApiResult(jsonResult);
}
private static String getOrderListUrl = "https://api.weixin.qq.com/card/pay/getorderlist?access_token=";
/**
* 查询券点流水详情接口
* @param jsonStr JSON数据
* @return {ApiResult}
*/
public static ApiResult getOrderList(String jsonStr) {
String jsonResult = HttpUtils.post(getOrderListUrl + AccessTokenApi.getAccessTokenStr(), jsonStr);
return new ApiResult(jsonResult);
}
}