沙箱测试地址:https://openhome.alipay.com/platform/appDaily.htm

1资源下载地址:https://docs.open.alipay.com/54/106370/  --下载手机网页支付demo .取出alipay-sdk-java20170307171631.jar 放入工程

app支付各接口说明:https://docs.open.alipay.com/api_1/alipay.trade.refund

2服务端配置:

########支付宝支付配置###########
#商户appid
zfb.APPID =
#私钥 pkcs8格式的
zfb.RSA_PRIVATE_KEY =
#服务器异步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
zfb.notify_url =
#页面跳转同步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问 商户可以自定义同步跳转地址
zfb.return_url =
#请求网关地址
zfb.URL = https://openapi.alipaydev.com/gateway.do
#编码
zfb.CHARSET = UTF-8
#返回格式
zfb.FORMAT = json
#支付宝公钥
zfb.ALIPAY_PUBLIC_KEY =
#RSA2
zfb.SIGNTYPE = RSA2 ########支付宝支付配置###########

3服务端获取订单: 参考地址:https://docs.open.alipay.com/54/106370/    其他退款,查看,下载对账单等参考地址:https://docs.open.alipay.com/204/105297/

 String out_trade_no = request.getParameter("orderId");
String subject = request.getParameter("orderName");
String total_amount=request.getParameter("ordreMoney");
System.out.println("订单号ID:"+out_trade_no); /* // 商品描述,可空
String body = "没有描述";
// 超时时间 可空
String timeout_express="2000m";
// 销售产品码 必填
String product_code="QUICK_WAP_PAY";*/ System.out.println(zfb.toString());
AlipayClient alipayClient = new DefaultAlipayClient(zfb.getURL(),
zfb.getAPPID(),
zfb.getRSA_PRIVATE_KEY(),
zfb.getFORMAT(),
zfb.getCHARSET(),
zfb.getALIPAY_PUBLIC_KEY(),
zfb.getSIGNTYPE());
AlipayTradeAppPayRequest alipay_request = new AlipayTradeAppPayRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
model.setBody("我是测试数据");
model.setSubject("App支付测试Java");
model.setOutTradeNo("6786785675674564");
model.setTimeoutExpress("30m");
model.setTotalAmount("0.01");
model.setProductCode("QUICK_MSECURITY_PAY");
alipay_request.setBizModel(model);
alipay_request.setNotifyUrl("商户外网可以访问的异步地址");
try {
//这里和普通的接口调用不同,使用的是sdkExecute
AlipayTradeAppPayResponse response = alipayClient.sdkExecute(alipay_request);
String order = response.getBody();
System.out.println("订单");
System.out.println(order);//就是orderString 可以直接给客户端请求,无需再做处理。
return new ReturnVO(order);
} catch (AlipayApiException e) {
e.printStackTrace();
}
return new ReturnVO(false);
4 mui端调用支付宝支付sdk配置及代码 参考地址:http://ask.dcloud.net.cn/article/71配置:

manifes.json增加

"permissions": >>

    "Payment":{

      "description": "支付宝支付"

    },

"plus">>"distribute">>

     {"plugins":{"payment":{"alipay":{"description":"支付宝支付","scheme":""}}},

代码:

mui.init({

swipeBack:true //启用右滑关闭功能

});

//获取支付通道

var channel=null;

function plusReady(){

// 获取支付通道

plus.payment.getChannels(function(channels){

channel=channels[0];

},function(e){

alert("获取支付通道失败:"+e.message);

});

}

document.addEventListener('plusready',plusReady,false);

var ALIPAYSERVER='https://openapi.alipaydev.com/gateway.do?';

var WXPAYSERVER='http://demo.dcloud.net.cn/helloh5/payment/wxpay.php?total=';

var PAYSERVER='';

//发起支付请求

function pay(id){

// 从服务器请求支付订单

if(id=='alipay'){

PAYSERVER=ALIPAYSERVER;

}else if(id=='wxpay'){

PAYSERVER=WXPAYSERVER;

}else{

plus.nativeUI.alert("不支持此支付通道!",null,"捐赠");

return;

}

var xhr=new XMLHttpRequest();

xhr.onreadystatechange=function(){

switch(xhr.readyState){

case 4:

if(xhr.status==200){

plus.payment.request(channel,xhr.responseText,function(result){

plus.nativeUI.alert("支付成功!",function(){

back();

});

},function(error){

plus.nativeUI.alert("支付失败:" + error.code);

});

}else{

alert("获取订单信息失败!");

}

break;

default:

break;

}

}

xhr.open('GET',PAYSERVER);

xhr.send();

}

//添加列表项的点击事件

mui('.mui-input-group').on('tap',"#pay_sub", function(e) {

console.log(bathpath+'/zfb/pay');

$.getJSON({

url:bathpath+'/zfb/pay',

type: 'post',

data:{

orderId:'999999999',

orderName:'测试商品1',

ordreMoney:'0.01'

}

}).done(function (result) {

console.log(result.content);

ALIPAYSERVER=ALIPAYSERVER+result.content;

pay('alipay');

}).fail(function (e) {

console.error(e.statusText)

}).always(function () {

});

});

MUI 支付宝支付接入的更多相关文章

  1. APP支付宝支付接入

    1.app支付简介 买家可以在手机,掌上电脑等无线设备的应用程序内,通过支付宝(支付宝app或网页版支付宝)付款购买商品,且资金实行实时到账. 2.申请条件 1.申请前必须拥有经过实名认证的支付宝账户 ...

  2. (转载)Android支付宝支付封装代码

    Android支付宝支付封装代码 投稿:lijiao 字体:[增加 减小] 类型:转载 时间:2015-12-22我要评论 这篇文章主要介绍了Android支付宝支付封装代码,Android支付的时候 ...

  3. 移动应用端的支付宝支付php开发流程

    1.https://openhome.alipay.com/ 支付宝开放平台并创建应用,审核通过后并签约app支付拿到pid 2.按照官方文档用 [RSA签名验签工具.bat]生成应用公钥和私钥 3. ...

  4. MUI 微信 和支付宝支付 (前台代码)

    <!-- 校园公告详情界面 用于显示校园公告的详情信息 在校园公告界面点击某一条目后 进入本界面查看详情 --> <!DOCTYPE html> <html> &l ...

  5. Android支付接入(一):支付宝

    原地址:http://blog.csdn.net/simdanfeg/article/details/9011603 转载之前我想深深地感谢屌丝哥 相信相同过App获取利润的都会需要接入计费SDK,下 ...

  6. mui实现支付宝支付功能

    <!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>H ...

  7. thinkphp5.0 微信公众号接入支付宝支付

    ---恢复内容开始--- 真是无力吐槽这个需求了,想骂客户,好端端的非要在微信公众号接入支付宝,都知道微信公众号是拒绝支付宝的,屏蔽了支付宝,所以在微信公众号接入支付宝的话就必须手动复制链接跳出微信内 ...

  8. 使用Tornado异步接入第三方(支付宝)支付

    目前国内比较流行的第三方支付主要有支付宝和微信支付,博主最近研究了下如何用Python接入支付宝支付,这里我以Tornado作为web框架,接入支付宝构造支付接口. 使用Tornado异步接入支付宝支 ...

  9. Java第三方支付接入案例(支付宝)

    开源项目链接 Kitty 开源权限管理系统 项目地址:https://gitee.com/liuge1988/kitty 演示地址:http://139.196.87.48:9002/kitty 用户 ...

随机推荐

  1. 2: 使用Prism初始化程序(纯汉语版)

    本篇内容讲解了Prism应用程序启动和运行都发生了什么.一个Pris应用程序在程序启动期间需要注册和配置——这被叫做引导应用程序.Prism引导过程包括创建和配置一个模块目录,创建一个例如Unity的 ...

  2. 从userAgent判断浏览器是什么(chorme ie 火狐)浏览器类型检测、浏览器检测

    一.正确的方法: 通过navigator对象的userAgent属性来判断, 主要是判断userAgent 的信息里是否含有以下字段信息: js代码(非完整版) /************ navig ...

  3. SQL 动态PIVOT查询

    DECLARE @sql_str VARCHAR(8000)DECLARE @sql_col VARCHAR(8000) SELECT @sql_col = ISNULL(@sql_col + ',' ...

  4. Kotlin Reference (三) Coding Conventions

    most from reference 命名规则 1.使用驼峰式命名规则,尽量避免在命名中使用下划线 2.类型以大写字母开头 3.方法和属性以小写字母开头 4.使用4个空格缩进 5.public的方法 ...

  5. kd树 求k近邻 python 代码

      之前两篇随笔介绍了kd树的原理,并用python实现了kd树的构建和搜索,具体可以参考 kd树的原理 python kd树 搜索 代码 kd树常与knn算法联系在一起,knn算法通常要搜索k近邻, ...

  6. IOS开发 arc与非Arc代码的区别

    是属于ios开发中的内存管理问题:在这我简要概述一下,详细讲的话内容挺多,而且是作为一个ios开发人员,或ios开发爱好者,这是必须了解的:Objective-c中提供了两种内存管理机制MRC(Man ...

  7. 数据交换格式 —— JSON(JavaScript Object Notation)

    当请求 headers 中,添加一个name为 Accept,值为 application/json 的 header(也即"我"(浏览器)接收的是 json 格式的数据),这样, ...

  8. linux vim 命令使用

    基本上vim可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode) 模式切换方法 在命令模式输入“i”,进入插入模式 ...

  9. ZOJ3640Help Me Escape(师傅逃亡系列•一)(数学期望||概率DP)

    Background If thou doest well, shalt thou not be accepted? and if thou doest not well, sin lieth at ...

  10. bzoj 2002 Bounce 弹飞绵羊

    bzoj 2002 Bounce 弹飞绵羊 设一个虚拟节点表示被弹飞,则每个点的后继点是唯一确定的,每个点向它的后继点连边,就形成了一颗树. 询问就是问某个节点到虚拟节点的路径长度,修改就删除原来向后 ...