微商城微信支付
来源:互联网 发布:淘宝浴巾哪个牌子好 编辑:程序博客网 时间:2024/04/29 10:04
1.Beecloud: beecloud-java-sdk-3.4.10.jar包导入项目.
2.支付页面配置:(备注最好把pay_example文件夹下的jsp页面都复制到项目里,pay要在一级目录下)
(1)导包:<%@ page import="cn.beecloud.*" %>
(2)beecloud注册:
<% BeeCloud.registerApp("5c50b118-f5a3-4b3c-997b-8ac6fe3b34d5", "4bfdd244-574d-4bf3-b034-0c751ed34fee","aa2a0947-9c0e-4463-836d-4288b9d92805", "295fa088-adf9-4cbd-b939-af69d1a2446f");
/* String optional = "{\"test1\":\"test1\"}"; */
%>
(3)
支付跳转地址:"pay.jsp?paytype=WX_JSAPI&total_fee=${sjzfje2}&openId="+window.localStorage.getItem('username')(备注:pay.jsp必须在项目的一级目录下,否则微信支付页面会闪退,传值:支付渠道WX_JSAPI,支付金额:必须是Integer整型,单位分.openId:获取微信用户的openId)
3.支付页面跳转地址:pay.jsp
(1)接收支付页面的传值(必须):
//模拟商户的交易编号、标题、金额、附加数据
String billNo = "wande" + System.currentTimeMillis();(自动生成的订单号)
String title = "万德农产品";(订单标题)
Map<String, Object> optional = new HashMap<String, Object>();
optional.put("test1", "test1");(在webhook中改变订单状态的判断依据)
String type = request.getParameter("paytype");(渠道代码)
String openId = request.getParameter("openId");(微信openId在微信用户登录的时候已经取好值)
String orderCode = request.getParameter("orderCode");(支付页面传来的订单号)
Integer refundFee = Integer.parseInt(request.getParameter("total_fee"));(支付金额)
(2) BCOrder存值:
BCOrder bcOrder = new BCOrder(channel,refundFee, orderCode, title);
BCInternationlOrder internationalOrder = new BCInternationlOrder();
bcOrder.setBillTimeout(360);
bcOrder.setOptional(optional);(要把值写进去)
bcOrder.setUseApp(true);(默认启用APP)
(3)case块代码:
case WX_JSAPI:
case BC_WX_JSAPI:
bcOrder.setOpenId(openId);
try {
bcOrder = BCPay.startBCPay(bcOrder);
//out.println(bcOrder.getObjectId());
// System.out.print(bcOrder.getObjectId());
Map<String, String> map = bcOrder.getWxJSAPIMap();
jsapiAppid = map.get("appId").toString();
timeStamp = map.get("timeStamp").toString();
nonceStr = map.get("nonceStr").toString();
jsapipackage = map.get("package").toString();
signType = map.get("signType").toString();
paySign = map.get("paySign").toString();
} catch (BCException e) {
//log.error(e.getMessage(), e);
//out.println(e.getMessage());
}
break;
(4)调用起微信支付的JS最后执行:<script type="text/javascript">
callpay();
function jsApiCall() {
var data = {
//以下参数的值由BCPayByChannel方法返回来的数据填入即可
"appId": "<%=jsapiAppid%>",
"timeStamp": "<%=timeStamp%>",
"nonceStr": "<%=nonceStr%>",
"package": "<%=jsapipackage%>",
"signType": "<%=signType%>",
"paySign": "<%=paySign%>"
};
//alert(JSON.stringify(data));
WeixinJSBridge.invoke(
'getBrandWCPayRequest',
data,
function (res) {
//alert(res.err_msg);
// alert(JSON.stringify(res));
WeixinJSBridge.log(res.err_msg);
if(res.err_msg=="get_brand_wcpay_request:ok"){
window.open("http://www.wandemall.com/mobile/mergerpaysuccess.html");
}
//window.open("http://www.wandemall.com/mobile/mergerpaysuccess.html");
}
);
}
function callpay() {
if (typeofWeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', jsApiCall);
document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
}
} else {
jsApiCall();
}
}
</script>
(5)支付完成,webhook处理订单状态,微信支付结束.
- 微商城微信支付
- 微商城,微花店,微信支付源码分享
- 微信商城,微商城
- 微信商城+电脑商城多用户源码+个人免签支付宝 +24套微信店铺模
- 微信支付-扫码支付方式在ThinkPHP商城中的使用(第一部分)
- 微信支付-扫码支付方式在ThinkPHP商城中的使用(第二部分)
- 微信支付-扫码支付方式在ThinkPHP商城中的使用(第三部分)
- 微信商城新手入门
- 微信+PHP商城系统+微支付+wap网站+微信PHP开发源文件
- 微信商城中使用微信支付接口获取用户地址
- 什么是微信商城(微商城),如何建设微商城
- 微商城---傻瓜式教你微信支付收货地址接口开发(PHP)
- 微信商城怎么开通
- ecshop 对接 微信商城
- 微信商城开发代码
- 微信商城开发案例
- 微信商城开发准备工作
- 微信、支付宝支付
- 深入理解Java的接口和抽象类
- windows单机部署(开发版本)安装包下载
- 关于订单号生成的几张方案探讨
- Rational Rose 2007 下载,安装及破解激活图文教程
- 文件上传并可以批量编辑修改保存
- 微商城微信支付
- Unity渲染优化中文翻译(一)
- javascript:this和call()函数
- 关于万网虚拟主机如何建立多个网站
- 视频转gif在线网站
- c++矩阵加减乘的编写
- win7+vs2015 nmake编译libevent-2.1.8-stable
- Java 多线程——基础知识
- 1077. Kuchiguse (20)