如果你看到了这篇文章,大概率的说明你已经跪在蚂蚁金服的开发文档了。蚂蚁金服的开发文档实在让人分分钟吐血,这里一堆接口那里一堆接口,同一个参数这里一个名那里一个名。初次接触必跪,我也是醉在了他们的接口上好多天,最后求助技术人工客服才得以解决问题。
切入正题。这里简单的实现一下调用统一收单创建接口实现支付宝付款的例子,整体流程是在支付宝打开调用页面后点击下单,商户后台调用统一收单创建接口,调用成功返回结果给下单页面,下单页面根据tradeNo的值执行jJSAPI吊起支付宝钱包然后付款,付款成功后商户后台的异步通知地址收到支付结果通知,流程结束。
关键参数不会遗漏,非关键参数大家自己根据需求添加吧。
准备
首先要确保相关的一些所需信息准确 有 appid、公钥、私钥以及你生成私钥的算法是RSA还是RSA2,一定要确认清楚这些信息的准确性,不然在调用接口时一定会报错的
先写调下单用的jsp页面,这里面就包含了调用支付宝钱包的JSAPI
pay.jsp
先放一个按钮用来调用
<input type="button" value="下单" οnclick="payOrder()">
function payOrder (){
//调起下单接口,记得先引入jquery
$.post("AliPayOrderServer",{},function(data){
var json=eval("("+data+")").alipay_trade_create_response;
var trade_no=json.trade_no;
$(document).ready(function(){
tradePay(trade_no);
$("#payButton").click(function() {
tradePay(trade_no);
});
$("#closeButton").click(function() {
AlipayJSBridge.call('closeWebview');
});
});
function ready(callback) {
if (window.AlipayJSBridge) {
callback && callback();
} else {
document.addEventListener('AlipayJSBridgeReady', callback, false);
}
}
function tradePay(tradeNO) {
ready(function(){
AlipayJSBridge.call("tradePay", {
tradeNO: trade_no
}, function (data) {
if ("9000" == data.resultCode) {
alert("支付成功");
}
});
});
}
}
);
}
这样调用统一收单创建接口的页面就写好了
之后我们获取一下买家的user_id(统一收单创建接口蚂蚁金服的接口文档上有一个参数buy