Skip to main content

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);
    }