SDK&DEMO

易百JAVA版SDK下载 

 public static void main(String[] args) {

 String pattern = "yyyyMMdd";

 String tradeNo = DateUtils.formatDate(new Date(), pattern) + System.currentTimeMillis();

// refund(tradeNo, tradeNo);

 createTrade(tradeNo);

// queryPay();

// pay();

// queryTrade();

 }

 

 public static CashierClient getClient() {

 CashierConfig config = new CashierConfig();

 config.setAppId("ebuyfc163adf6a81");

 config.setAppSecret("r0t1ngvqtp72xma6iy7m6hzy43ol5hz0");

 config.setLang("zh_CN");

 config.setUrl(Constants.UAT_URL);

 return CashierClient.getCashierClient(config);

 }

 /**

 * 统一下单

 */

 public static void createTrade(String tradeNo) {

 CashierClient cashierClient = getClient();

 CreateTradeRequest createTradeRequest = new CreateTradeRequest();

 //流水号格式固定

 createTradeRequest.setOutTradeNo(tradeNo);

 //使用场景必填，易百分配

 createTradeRequest.setUseScene("H5");

 //可提供给易百，易百配置

 createTradeRequest.setNotifyUrl("https://develop.tuesday-tech.com/pcs/ebuy/notify");

 //请求支付总金额

 //如果有不走易百渠道优惠，扣除优惠部分

 createTradeRequest.setTotalAmount(BigDecimal.valueOf(1.00));

 //币种，国际标准

 createTradeRequest.setCurrency("CNY");

 //交易数据需区分到门店，需上传

 //有优惠限制到门店，需上传

 //有结算到门店，需上传

 //其他需要上传门店信息到场景，需上传

// StoreInfo storeInfo = new StoreInfo();

// //店名称

// storeInfo.setName("test");

// //店号

// storeInfo.setShopNo("test");

// createTradeRequest.setStoreInfo(storeInfo);

 //产品信息，建议所有订单产品上传

 //有不需要走易百优惠的产品，不上传

 //goodsDetail最大产品数限制100

 List<OutGoodsDto> goodsDetail = new ArrayList<>();

 OutGoodsDto outGoodsDto = new OutGoodsDto();

 //产品名称，长度限制50

 outGoodsDto.setGoodsName("测试产品");

 //产品sku

 outGoodsDto.setGoodsId("1061797738");

 //产品数量

 outGoodsDto.setGoodsNum(1);

 //产品金额

 outGoodsDto.setPriceSale(BigDecimal.valueOf(1.00));

 goodsDetail.add(outGoodsDto);

 createTradeRequest.setGoodsDetail(goodsDetail);

 //支付方式集合

 //支持优惠券coupon、商户储值卡cashcard、商户积分points、电子钱包cash（支付宝、微信等）、数字人民币ECNY

 List<PayMethod> payMethod = new ArrayList<>();

 PayMethod method = new PayMethod();

 //coupon，cashcard的资产类型非必填，优先取易百路由结果

 //其他场景必填

 method.setAssetType("cash");

 //coupon，cashcard的资产类型非必填，优先取易百路由结果

 //其他场景必填

 method.setPayWay("WECHAT");

 //coupon不填，其他场景必填

 method.setAmount(BigDecimal.valueOf(0.00));

 //coupon，cashcard的资产必填

 //如有密钥格式是cardCoupon01|secret01

 method.setCardCoupons("10089234876342347753");

 //指定优惠用在SKU为A的产品，如果A产品没上传，交易失败

 method.setGoodsId("A");

 /**

 * 渠道会员id

 * method.setThirdUserId("okKky5fnJb68U6c7Ujui3ZKVo6Ea");

 */

 /**

 * 资产使用限制规则

 * method.setUseLimit("product");

 */

 payMethod.add(method);

 createTradeRequest.setPayMethod(payMethod);

 //需要易百记录此笔交易中其他的支付信息

// List<Subsidy> subsidies = new ArrayList<>();

// Subsidy subsidy = new Subsidy();

// //支付主体

// subsidy.setAccount("xx");

// //支付金额

// subsidy.setAmount(BigDecimal.valueOf(20));

// subsidies.add(subsidy);

// createTradeRequest.setSubsidy(subsidies);

 PaasResponse<CreateTradeResponse> createTradeResponse = cashierClient.createTrade(createTradeRequest);

 System.out.println(createTradeResponse);

 //只有全部成功此处是true，其他均为false

 //如false，content不一定有

 createTradeResponse.isSuccess();

 //返回报文签名

 createTradeResponse.getSign();

 //uuid和请求一致

 createTradeResponse.getUuid();

 //报错码

 createTradeResponse.getErrorCode();

 //报错原因

 createTradeResponse.getErrorMessage();

 if (createTradeResponse.getContent() != null) {

 CreateTradeResponse body = (CreateTradeResponse) createTradeResponse.getContent();

 //PaidResult 某种资产（商家券、商家卡、商家积分、电子钱包和数字人民币）支付结果

 PaidResult paidResult = body.getCardPaid();

 if (paidResult != null) {

 //此支付资产支付总金额

 paidResult.getPaidAmount();

 //此支付资产用户实付金额

 paidResult.getUserAmount();

 //此支付资产商户实收金额

 paidResult.getMerchantAmount();

 //此支付资产优惠金额入账编码

 paidResult.getDiscountCode();

 //此支付资产实收金额入账编码

 paidResult.getTenderCode();

 //此支付资产使用明显，正常不返回

 paidResult.getUseList();

 }

 //电子钱包支付详情，字段描述同上

 body.getCashPaid();

 //优惠券支付详情，字段描述同上

 body.getCouponPaid();

 //电子钱包支付渠道的app id

 body.getChannelAppId();

 //唤起电子钱包支付渠道支付台报文

 body.getChannelParams();

 //总支付成功金额

 body.getPaidAmount();

 //总用户实付总金额

 body.getUserPaid();

 //总商户实收总金额

 body.getMerchantAmount();

 //电子钱包预支付id

 body.getPrepayId();

 //支付二维码

 body.getQrCodeUrl();

 //支付跳转页面

 body.getRedirectUrl();

 }

 } 

 

 

 易百JS版SDK下载