SDK&DEMO
JAVA版SDK示例
public static CashierClient getClient() {
String appId = "ebuydev100100100";
String appSecret = "9dcbf642c78137f656ba7c24381ac25b";
String lang = "zh_CN";
HttpUtil httpUtil = new HttpUtil(HttpClientConstants.CONNECT_TIMEOUT,
HttpClientConstants.CONNECTION_REQUEST_TIMEOUT, HttpClientConstants.SOCKET_TIMEOUT);
return CashierClient.getCashierClient(Constants.UAT_URL, appId, appSecret, lang, httpUtil);
}
/**
* 退款
*/
public static void refund() {
CashierClient cashierClient = getClient();
RefundRequest refundRequest = new RefundRequest();
refundRequest.setOutTradeNo("20210620685060605084");
refundRequest.setRefundTradeNo("20210620-cnlvmkdihinrkwknhp");
refundRequest.setRefundAmount(BigDecimal.valueOf(1.99));
PaasResponse refundResponse = cashierClient.refund(refundRequest);
}
/**
* 统一下单
*/
public static void createTrade() {
CashierClient cashierClient = getClient();
CreateTradeRequest createTradeRequest = new CreateTradeRequest();
createTradeRequest.setPreferential(false);
createTradeRequest.setOutTradeNo("20210623mtt1445");
createTradeRequest.setUseScene("H5");
List<OutGoodsDto> goodsDetail = new ArrayList<>();
OutGoodsDto outGoodsDto = new OutGoodsDto();
outGoodsDto.setGoodsId("1061797738");
outGoodsDto.setGoodsNum(41);
outGoodsDto.setPriceSale(BigDecimal.valueOf(6339.38));
goodsDetail.add(outGoodsDto);
createTradeRequest.setGoodsDetail(goodsDetail);
createTradeRequest.setTotalAmount(BigDecimal.valueOf(0.02));
createTradeRequest.setCurrency("CNY");
List<PayMethod> payMethod = new ArrayList<>();
PayMethod method = new PayMethod();
method.setAssetType("cash");
method.setPayType("ALIPAY");
method.setAmount(BigDecimal.valueOf(0.02));
payMethod.add(method);
createTradeRequest.setPayMethod(payMethod);
createTradeRequest.setTimeStart("1624156552000");
createTradeRequest.setTimeExpire("1624155350000");
PaasResponse<CreateTradeResponse> createTradeResponse = cashierClient.createTrade(createTradeRequest);
}
/**
* 线下扫码支付
*/
public static void pay() {
CashierClient cashierClient = getClient();
PayRequest payRequest = new PayRequest();
List<OutGoodsDto> goodsDetail = new ArrayList<>();
OutGoodsDto outGoodsDto = new OutGoodsDto();
outGoodsDto.setGoodsId("1234567890123");
outGoodsDto.setGoodsNum(1);
outGoodsDto.setPriceSale(BigDecimal.valueOf(0.01));
outGoodsDto.setGoodsName("可口可乐");
goodsDetail.add(outGoodsDto);
OutGoodsDto outGoodsDto1 = new OutGoodsDto();
outGoodsDto1.setGoodsId("1234567890100");
outGoodsDto1.setGoodsNum(1);
outGoodsDto1.setPriceSale(BigDecimal.valueOf(0.01));
outGoodsDto1.setGoodsName("笔记本");
payRequest.setGoodsDetail(goodsDetail);
payRequest.setTotalAmount(BigDecimal.valueOf(106.01));
payRequest.setCurrency("CNY");
payRequest.setOutTradeNo("20210620ipsvlkrwoksqswivtuknlvka");
List<PayMethod> payMethod = new ArrayList<>();
PayMethod method1 = new PayMethod();
method1.setAmount(BigDecimal.valueOf(5));
method1.setCardCoupons("10010602645074482378");
payMethod.add(method1);
PayMethod method2 = new PayMethod();
method2.setAmount(BigDecimal.valueOf(100));
method2.setCardCoupons("66644690185521003900251");
payMethod.add(method2);
payRequest.setPayMethod(payMethod);
payRequest.setUseScene("H5");
UserInfo userInfo = new UserInfo();
userInfo.setUserId("d962b6c289c14cb2bee03cb49bb2453c");
userInfo.setPlatform("纯木");
payRequest.setUserInfo(userInfo);
StoreInfo storeInfo = new StoreInfo();
storeInfo.setShopNo("Shop-001");
storeInfo.setDeviceNo("Device-001");
storeInfo.setAreaCode("214000");
storeInfo.setName("虎门分店");
payRequest.setStoreInfo(storeInfo);
payRequest.setQrcode("286249723053150320");
payRequest.setOrderId("");
payRequest.setOrderTitle("线下支付");
payRequest.setOrderDesc("用于线下支付的订单");
Map<String, Object> extendInfo = new HashMap<>();
payRequest.setExtendInfo(extendInfo);
payRequest.setOriOrderAmount(BigDecimal.valueOf(0.01));
payRequest.setIncentiveAmount(BigDecimal.valueOf(0.01));
payRequest.setNotifyUrl("");
payRequest.setAfterPayUrl("");
payRequest.setCancelPayUrl("");
payRequest.setSpbillCreateIp("");
payRequest.setTimeStart("20210611180100");
payRequest.setTimeExpire("20210711183000");
List<Subsidy> subsidy = new ArrayList<>();
Subsidy sidy = new Subsidy();
sidy.setAccount("3018684434070152-301868443407015");
sidy.setAmount(BigDecimal.valueOf(0));
subsidy.add(sidy);
payRequest.setSubsidy(subsidy);
PaasResponse<PayResponse> payResponse = cashierClient.pay(payRequest);
}
/**
* 线上交易查询
*/
public static void queryTrade() {
CashierClient cashierClient = getClient();
QueryTradeRequest queryTradeRequest = new QueryTradeRequest();
queryTradeRequest.setOutTradeNo("20210621swuirptcttimyjbofgdnoqrj");
queryTradeRequest.setTradeTime("");
PaasResponse<QueryTradeResponse> queryTradeResponse = cashierClient.queryTrade(queryTradeRequest);
}
/**
* 获取插件配置
* (测试已有正确数据返回)
*/
public static void queryPluginInfo() {
CashierClient cashierClient = getClient();
QueryPluginInfoRequest queryPluginInfoRequest = new QueryPluginInfoRequest();
queryPluginInfoRequest.setAppId("ebuydev100100100");
queryPluginInfoRequest.setUseScene("H5");
PaasResponse<QueryPluginInfoResponse> queryPluginInfoResponse = cashierClient.queryPluginInfo(queryPluginInfoRequest);
}
/**
* 会员资产查询
* (测试已有正确数据返回)
*/
public static void getMemberAssets() {
CashierClient cashierClient = getClient();
QueryMemberAssetsRequest queryMemberAssetsRequest = new QueryMemberAssetsRequest();
queryMemberAssetsRequest.setMemberId("d962b6c289c14cb2bee03cb49bb2453c");
queryMemberAssetsRequest.setOrderId("32");
queryMemberAssetsRequest.setPlatform("QvB7ct");
PaasResponse<QueryMemberAssetsResponse> queryMemberAssetsResponse = cashierClient.getMemberAssets(queryMemberAssetsRequest);
}