java支付宝APP下单【服务端接入流程】

App 支付 API 必须通过支付宝提供的服务端 SDK 来调用。

 private AlipayClient getAlipayClient() {
        // GATEWAY=网关,APP_ID,private_key
        return new DefaultAlipayClient(GATEWAY, APP_ID, PRIVATE_KEY, "json", "UTF-8", PUBLIC_KEY, "RSA2");
    }

public boolean createAppOrderAPI(PayOrder order) {
        try {
            AlipayClient alipayClient = getAlipayClient();
            AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest ();
            AlipayTradeWapPayModel model = new AlipayTradeWapPayModel();
            model.setOutTradeNo(order.getUnionId());    // 唯一字符串
            model.setProductCode("QUICK_MSECURITY_PAY");    //必填,销售产品码。商家和支付宝签约的产品码,APP 支付功能中该值固定为 QUICK_MSECURITY_PAY
            model.setTotalAmount(order.getStrAmount()); //金钱
            model.setSubject(order.getBoxTitle());  //必填,商品的标题/交易标题/订单标题/订单关键字等。 不可使用特殊字符,如 /,=,& 等。
            request.setBizModel(model);
            AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
            order.setExtra1(response.getBody());    //返回结果
            order.setPaymentResponseTime(DateUtil.getStrDateTime());
            order.setPaymentUrl(PAY_PAGE_URL + "/" + order.getId());
            return true;
        } catch (Exception e) {
            log.error("===error=== alipay executePayment error msg: {}", e.getMessage());
            return false;
        }
    }

H5下单

public boolean executePayment(PayOrder order) {
    try {
        AlipayClient alipayClient = getAlipayClient();
        AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest();
        AlipayTradeWapPayModel model = new AlipayTradeWapPayModel();
        model.setOutTradeNo(order.getUnionId());
        model.setTotalAmount(order.getStrAmount());
        model.setSubject(order.getGoodsTitle());
        request.setBizModel(model);
        request.setNotifyUrl(PAY_CALLBACK_URL);
        AlipayTradeWapPayResponse response = alipayClient.pageExecute(request);
        order.setExtra1(response.getBody());
        order.setPaymentResponseTime(DateUtil.getStrDateTime());
        order.setPaymentUrl(PAY_PAGE_URL + "/" + order.getId());
        return true;
    } catch (Exception e) {
        log.error("===error=== alipay executePayment error msg: {}", e.getMessage());
        return false;
    }
}

版权声明:本文为weixin_46919552原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。