1、支付宝支付
支付宝支付只需要根据api参数列表列全必须的参数后进行签名,再拼接支付的url就差不多了
/*代码一*/ function alipay(baseUrl, tradeno, order) { this.baseUrl = baseUrl; this.params = { partner: '208881172042****', seller_id: '208881172042****', _input_charset: 'utf-8', service: 'alipay.wap.create.direct.pay.by.user', payment_type: '1',//支付类型 notify_url: baseUrl + '/api/alipayCallback/order',//服务器异步通知页面路径 return_url: baseUrl + '/follow/success.html',//页面跳转同步通知页面路径 out_trade_no: tradeno,//商品订单号 subject: '****',//订单名称 total_fee: order.totalFee,//付款金额, show_url: baseUrl + '/follow/success.html',//商品展示地址 body: '所跟单号-' + order.orderno//订单描述 };}alipay.prototype.submit = function () { var pay = this; /*将支付参数提交到后台进行签名*/ $.post('/api/follow/sign', pay.params, function (data) { var sign = data.data; pay.params.sign = sign; pay.params.sign_type = 'RSA' pay.submitToPay('https://mapi.alipay.com/gateway.do?', pay.params, 'get'); });}alipay.prototype.submitToPay = function (url, param, method) { var f = $(''); for (var key in param) $('').val(param[key]).appendTo(f); f.appendTo(document.body).submit(); document.body.removeChild(f.get(0));}
类似如下,在input标签内填入参数,以及对应的sign后,点击确定后跳转到支付宝网页支付界面(实际上上述的javascript实现的功能就是为了实现该部分)
支付宝支付
2、微信支付
(1)、公众号支付配置
(2)、支付
a、用户同意授权,获取code
若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。
参数说明
参数 | 是否必须 | 说明 |
---|---|---|
appid | 是 | 公众号的唯一标识 |
redirect_uri | 是 | 授权后重定向的回调链接地址,请使用urlencode对链接进行处理 |
response_type | 是 | 返回类型,请填写code |
scope | 是 | 应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息) |
state | 否 | 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节 |
#wechat_redirect | 是 | 无论直接打开还是做页面302重定向时候,必须带此参数 |
设置参数redirect_uri指向的页面为以下(代码二)内容(redirect_uri中必须使用域名,并且已经设置为微信支付目录);
b、在微信客户端打开上面的链接,微信将返回code信息,并提交code到服务端(后台)来获取openid(用户唯一标识)
【获取openid的微信地址为,无法通过ajax跨域进行访问,所以交到后台进行处理】
c、
将订单数据提交到后台进行处理,后台根据api参数列表进行组装和签名后提交,并将返回的结果来返回给前台(返回给前台的数据为进行过处理的信息)
d、公众号支付
调用微信支付接口进行支付
/*代码二*/
- 商品描述:****-微信支付
- 订单号:
- 总价格:0.01元
确认支付
(3)、资源(微信的demo比较混乱 到处都是demo)
a.支付开发教程(微信商户平台版)
b.c.