java支付宝扫码支付,简单生成二维码方法

支付宝扫码支付
首先申请 appid、app_private_key,publicKey,
直接上代码:
方式一:可以禁用支付通道(disable_pay_channels)
public static void main(String[] args) throws AlipayApiException {
AlipayClient alipayClient = new DefaultAlipayClient(SERVERURL,APP_ID,APP_PRIVATE_KEY,FORMAT,CHARSET,ALIPAY_PUBLIC_KEY,SIGNTYPE);
AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
request.setBizContent("{" +
““out_trade_no”:“20180320010101001”,” +
““total_amount”:88.88,” +
““subject”:“Iphone6 16G””+
/"“seller_id”:“2018091961456482”," +
““discountable_amount”:8.88,” +
““goods_detail”:[{” +
““goods_id”:“apple-01”,” +
““goods_name”:“ipad”,” +
““quantity”:1,” +
““price”:2000,” +
““goods_category”:“34543238”,” +
““categories_tree”:“124868003|126232002|126252004”,” +
““body”:“特价手机”,” +
““show_url”:“http://www.alipay.com/xxx.jpg”” +
“}],” +
““body”:“Iphone6 16G”,” +
““operator_id”:“yx_001”,” +
““store_id”:“NJ_001”,” +
““disable_pay_channels”:“pcredit,moneyFund,debitCardExpress”,” +
““enable_pay_channels”:“pcredit,moneyFund,debitCardExpress”,” +
““terminal_id”:“NJ_T_001”,” +
““extend_params”:{” +
““sys_service_provider_id”:“2088511833207846”,” +
““industry_reflux_info”:”{\\\“scene_code\\\”:\\\“metro_tradeorder\\\”,\\\“channel\\\”:\\\“xxxx\\\”,\\\“scene_data\\\”:{\\\“asset_name\\\”:\\\“ALIPAY\\\”}}"," +
““card_type”:“S0JP0000"” +
“},” +
““timeout_express”:“90m”,” +
““settle_info”:{” +
““settle_detail_infos”:[{” +
““trans_in_type”:“cardSerialNo”,” +
““trans_in”:“A0001”,” +
““summary_dimension”:“A0001”,” +
““settle_entity_id”:“2088xxxxx;ST_0001”,” +
““settle_entity_type”:“SecondMerchant、Store”,” +
““amount”:0.1” +
“}]},” +
““business_params”:”{\“data\”:\“123\”}”," +
““qr_code_timeout_express”:“90m”” +
/
" }");
AlipayTradePrecreateResponse response = alipayClient.execute(request);
if(response.isSuccess()){
System.out.println(“调用成功”);
String qrCode = response.getQrCode();
System.out.println("------qrCode-------"+qrCode);
// 需要修改为运行机器上的路径
String filePath = String.format("/Users/sudo/Desktop/qr- %s.png",response.getOutTradeNo());
//将生成的二维码存放到指定路径
ZxingUtils.getQRCodeImge(response.getQrCode(), 256, filePath);
} else {
System.out.println(“调用失败”);
}
注:1.实际上,支付宝生成的二维码图片我们可以不用,只用它生成的一串二维码字符串qrCode,前端可以用js来把字符串还原成二维码。这样我们也不必为保存二维码图片的空间苦恼
2.发送请求时,我们可以根据自己需要来设置参数,有三个是必须参数(out_trade_no:订单号,total_amount:总价,subject:扫码支付时的商品提示)
在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
您可以使用支付宝开放平台提供的支付宝二维码生成接口来实现。具体步骤如下: 1. 注册支付宝开放平台账号并创建应用,获取应用的 AppID 和私钥。 2. 使用 Java SDK 调用支付宝二维码生成接口,传入必要的参数(如收款金额、收款理由等),并使用私钥进行签名。 3. 解析接口返回的 JSON 数据,获取二维码图片地址。 4. 将二维码图片地址展示给用户即可。 以下是一个简单的示例代码: ```java import com.alipay.api.AlipayApiException; import com.alipay.api.AlipayClient; import com.alipay.api.DefaultAlipayClient; import com.alipay.api.request.AlipayTradePrecreateRequest; import com.alipay.api.response.AlipayTradePrecreateResponse; public class AlipayQRCodeGenerator { // 应用的 AppID private static final String APP_ID = "your_app_id"; // 应用的私钥 private static final String PRIVATE_KEY = "your_private_key"; // 支付宝网关 private static final String GATEWAY_URL = "https://openapi.alipay.com/gateway.do"; // 字符编码格式 private static final String CHARSET = "UTF-8"; public static void main(String[] args) throws AlipayApiException { // 初始化 AlipayClient AlipayClient alipayClient = new DefaultAlipayClient(GATEWAY_URL, APP_ID, PRIVATE_KEY, "json", CHARSET, PRIVATE_KEY, "RSA2"); // 创建 AlipayTradePrecreateRequest 对象并设置参数 AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest(); request.setSubject("测试订单"); request.setTotalAmount("0.01"); request.setOutTradeNo("20150320010101001"); // 调用接口并获取响应 AlipayTradePrecreateResponse response = alipayClient.execute(request); // 解析响应并获取二维码图片地址 String qrCodeUrl = response.getQrCode(); // 将二维码图片地址展示给用户 System.out.println(qrCodeUrl); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值