微信支付unifiedorder,请注意一下几点:
1.app_key 这个是指app对应的API我们自己设定的key
2.发起请求要用XML
简单代码如下:
public class Wxpay {
public static String unifieldOrder(HttpServletRequest request,HttpServletResponse response,String body,Float totalFee,String strReq) throws ClientProtocolException, IOException{
String ret=null;
Map<String, Object> params=new HashMap<String, Object>();
params.put("appid", ConstantUtil.APP_ID);
params.put("body",body);
params.put("mch_id", ConstantUtil.PARTNER);
params.put("nonce_str",WXUtil.getNonceStr());
params.put("notify_url",ConstantUtil.NOTIFYURL);
params.put("out_trade_no",strReq);
params.put("spbill_create_ip",request.getRemoteAddr());
params.put("total_fee",totalFee.intValue());
params.put("trade_type","APP");
Map<String, Object> smap = sortMapByKey(params);
String ps = preSignStr(smap);
ps+="&key="+ConstantUtil.APP_KEY;
String sign = StringUtil.encryption(ps).toUpperCase();
smap.put("sign",sign);
String paramXml = createXmlReqStr(smap);
TenpayHttpClient httpClient = new TenpayHttpClient();
if (httpClient.callHttpPost(ConstantUtil.UNIORDERURL, paramXml)) {
ret = httpClient.getResContent();
}
return ret;
}
public static String createXmlReqStr(Map<String, Object> map){
Iterator<Map.Entry<String, Object>> entries = map.entrySet().iterator();
String str="<xml>";
while (entries.hasNext()) {
Map.Entry<String, Object> entry = entries.next();
str+="<"+entry.getKey()+">"+entry.getValue()+"</"+entry.getKey()+">";
}
str+="</xml>";
return str;
}
public static String preSignStr(Map<String, Object> map){
Iterator<Map.Entry<String, Object>> entries = map.entrySet().iterator();
String str="";
while (entries.hasNext()) {
Map.Entry<String, Object> entry = entries.next();
if(str.length()>0)
{
str+="&";
}
str+=entry.getKey()+"="+entry.getValue();
}
return str;
}
/**
* 使用 Map按key进行排序
* @param map
* @return
*/
public static Map<String, Object> sortMapByKey(Map<String, Object> map) {
if (map == null || map.isEmpty()) {
return null;
}
Map<String, Object> sortMap = new TreeMap<String, Object>(
new MapKeyComparator());
sortMap.putAll(map);
return sortMap;
}
}
class MapKeyComparator implements Comparator<String>{
@Override
public int compare(String str1, String str2) {
return str1.compareTo(str2);
}
}
有需要的朋友可以私聊我
相关推荐
asp.net 微信支付接口完整可用代码,附带如何完整使用说明,修改指定参数就可以使用。附带查看网址和微信支付接口操作注意事项
注意事项 1.需要用到微信支付的哪一种支付方式,就只下载对应的单个文件即可。 2.文件开头的配置信息必须完善 3.文件需放到支付授权目录下,可以在微信支付商户平台->产品中心->开发配置中设置。 4.如提示签名...
对微信支付的各个参数加以说明,及支付的过程和注意事项都进行的详细的说明
微信支付,支付宝支付,PC扫描支付和手机支付 二、功能介绍 1、支持“支付宝”扫描支付和手机支付,只要把相关支付参数配置到程序里面,就可以正常使用支付; 2、支持“微信”扫描支付和公众号支付,只要把相关...
weixinPay 一个PHP文件搞定微信支付系列 网上的很多PHP微信支付接入教程都颇为复杂,且需要配置和引入较多的文件,本人通过整理后给出一个单文件版...注意事项 1.需要用到微信支付的哪一种支付方式,就只下载对应的单个
简单的一个微信支付项目.适合新手开发.下载后请看resource下的注意事项!!!已经经过测试可以完全运行.如果遇到什么问题可以留言我 帮你解决.
.NET C# asp.net 微信网页扫码支付完整接口及Demo ,附带如何完整使用说明,修改指定参数就可以使用。附带查看网址和微信支付接口操作注意事项,代码全部经过实体网站测试成功运行。
如今,随着微信支付的全面开放,相关需求也越来越多,很多开发人员进行微信支付开发及商家申请微信支付时,面临着诸多疑惑。 要想开发顺利进行,首先要对业务流程有个清晰的认识。这里以微信公众号支付为例,因此也...
.NET C# asp.net 微信网页扫码支付完整接口及Demo ,附带如何完整使用说明,修改指定参数就可以使用。附带查看网址和微信支付接口操作注意事项,代码全部经过实体网站测试成功运行。
注意事项: 1, 修改wxpay.php文件的参数 define('APPID','APPID'); define('APIKEY','安全密钥'); define('MCH_ID','商户ID'); define('NOTIFY_URL','http://你的域名/return_url.php'); 2 ,H5支付不能...
上面的步骤很详细,这里主要说下调起支付的注意事项。按照上面文档中说的商户服务器生成支付订单,先调用统一下单API生成预付单,获取到prepay_id后将参数再次签名传输给APP发起支付。 相关代码如下: /** * ...
注意事项: 1, 修改wxpay.php文件的参数 define('APPID','APPID'); define('APIKEY','安全密钥'); define('MCH_ID','商户ID'); define('NOTIFY_URL','http://你的域名/return_url.php'); 2 ,H5支付不能直接在...
注意事项: 1, 修改wxpay.php文件的参数 define('APPID','APPID'); define('APIKEY','安全密钥'); define('MCH_ID','商户ID'); define('NOTIFY_URL','http://你的域名/return_url.php'); 2 ,H5支付不能直接在...
微信支付源码支付查询退款均实现。一般处理程序ashx后台支付签名 前台jsapi 调用支付,支付配置商户信息 直接发起支付 快速接入 查询退款接口均实现 二、注意事项 1、开发环境为Visual Studio 2010,使用.net 4.0...
主要介绍了ThinkPHP框架实现的微信支付接口开发,结合完整实例形式详细分析了基于thinkPHP框架的微信支付接口操作步骤、实现技巧与相关注意事项,需要的朋友可以参考下
这里主要是h5支付,压缩包里有使用文档跟注意事项,实现微信外浏览器调用h5页面回到微信支付
仔细阅读文档: 在开始接入支付功能之前,建议仔细阅读提供的文档,理解支付功能的接入流程和注意事项。 调试测试: 在集成完成后,进行充分的测试和调试。 通过本资源的学习和实践,您将掌握在Unity项目中接入微信...
微信、支付宝支付功能接入介绍,以及注意事项罗列
需要注意的事项: 1.该文件需放到支付授权目录下,可以在微信支付商户平台->产品中心->开发配置中设置。 2.如提示签名错误可以通过微信支付签名验证工具进行验证:微信公众平台支付接口调试工具 代码如下: <...