项目中所遇到的支付(微信支付,支付宝支付,银联支付)

原创 牛粪 随笔 js 721阅读 2018-04-25 19:00:16 举报

在上一个项目支付部分应用到了微信支付(包括微信公众号支付,微信H5支付)、支付宝支付以及银联支付。下面就来聊聊支付的实现,望能给各位参考。(哪里说错或者做的不恰当,请在评论处留言。蟹蟹)。

1,微信支付

微信支付首先需要去微信商户平台申请相关支付,然后需要在公众号后台配置‘授权域名’,如下:

并且在微信商户平台设置公众号支付支付目录,设置路径:商户平台-->产品中心-->开发配置。如下:

项目中的应用场景,客户在选择微信支付的时候,判断在微信环境中调取微信公众号支付,非微信环境则调用微信H5支付。

(1)微信内公众号支付:

点击查看:微信公众号支付官方文档

项目中,首先需要进行微信授权获取其对应商户的 openId。然后将相关订单信息和openId通过接口传给后台生成订单,后台返回返回支付参数和签名,点击查看:微信官方开发文档公众号支付业务流程。我们拿到这些参数就可以去调用微信公众号支付了(开发文档)。下面是支付案例:

(2)非微信内H5支付:

点击查看:微信H5支付官方文档

项目中,微信H5支付步骤就简单很多。首先将相关订单信息、支付回调地址(不允许带参数)通过接口传给后台生成订单,然后后台将支付参数拼接成一个url链接返回给我们,我们只需要链接那个地址就可以了。

例如:https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096&redirect_url='支付成功回调地址'

2,支付宝支付

支付宝支付需要去到蚂蚁金服开放平台申请并接入支付,需要进行一大堆的操作,请参考文档

项目里面所用到的是支付宝的‘‘手机网站支付’’(公司的支付账号还没有申请下来。。。拿的是后台大哥的进行开发测试)。注意:微信内部是不能直接调起支付宝支付的,会提示复制链接到浏览器。

项目中,支付宝支付步骤如同微信H5支付。首先也是将相关订单信息、支付回调地址(不允许带参数)通过接口传给后台生成订单,然后后台将支付参数拼接成一个url链接返回给我们,链接那个地址就可以了。支付宝支付是会给到我们一个字段passback_params来供我们透传参数(String 512长度)的。

3,银联支付

项目中所运用到的是 手机网页支付(WAP支付)

银联支付也是同样需要在中国银联商家中心,注册申请商户以及其他操作。

项目中,首先也是将相关订单信息、支付回调地址(不允许带参数)通过接口传给后台生成订单。然后后台调用银联支付并返回一个字符串,该字符串是一段Html,如下(版主格式化之后):

版主取出中间form和script部分放到页面。银联测试环境测试卡信息

然后:


在上面的各种支付中,支付回调地址都必须是外网域名。

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复