java微信扫码支付_java 微信扫码支付 示例代码

该博客展示了如何使用Java实现微信支付API,包括设置商户信息、生成订单、进行MD5加密等关键步骤。代码中包含了调用微信支付接口的示例,以及对字符串进行MD5加密的方法,为理解微信支付集成提供了详细示例。
摘要由CSDN通过智能技术生成

【实例简介】

【实例截图】

1b0b2aa4c8e92f5c537d4921a8547384.png

【核心代码】

package main.java;

import main.java.Utils.HttpClientUtil;

import org.dom4j.DocumentException;

import javax.imageio.ImageIO;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

import java.io.InputStream;

import java.security.MessageDigest;

/**

* Created by cheng on 2016-5-25.

*/

public class Pay {

public BufferedImage PayToQuickMarkImg() {

return null;

}

/***

* MD5加码 生成32位md5码

*/

public static String string2MD5(String inStr){

MessageDigest md5 = null;

try{

md5 = MessageDigest.getInstance("MD5");

}catch (Exception e){

System.out.println(e.toString());

e.printStackTrace();

return "";

}

char[] charArray = inStr.toCharArray();

byte[] byteArray = new byte[charArray.length];

for (int i = 0; i < charArray.length; i )

byteArray[i] = (byte) charArray[i];

byte[] md5Bytes = md5.digest(byteArray);

StringBuffer hexValue = new StringBuffer();

for (int i = 0; i < md5Bytes.length; i ){

int val = ((int) md5Bytes[i]) & 0xff;

if (val < 16)

hexValue.append("0");

hexValue.append(Integer.toHexString(val));

}

return hexValue.toString().toUpperCase();

}

public static void main(String[] s){

try{

WeixinPayApiImpl p = new WeixinPayApiImpl(输入商户key);

p.setAppid("");//公众号

p.setMch_id("");//商户号

p.setSub_mch_id("");//子商户号

p.setDevice_info("AASSSSS001");//设备号

p.setOut_trade_no("9984S851312W365");//商户订单号

p.setTotal_fee(1);//金额

p.setTrade_type("NATIVE");//交易类型1

p.setBody("测试支付");//商品描述

p.setNotify_url("http://www.baidu.com");//通知地址1

String xml = p.getXml("xml");

System.out.println(xml);

InputStream in = HttpClientUtil.sendXMLDataByPost(p.getUrl(),xml).getEntity().getContent();

WeixinApiResultImpl wxres = new WeixinApiResultImpl(in);

System.err.println(wxres.getCode_url());

ImageIO.write(wxres.getBufImg(500,500),"png",new File("d:" "aa.png"));

} catch (IOException e) {

e.printStackTrace();

} catch (DocumentException e) {

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值