python做后端写一个微信小程序的支付案例

开发环境

win10

python 2.7.13 (64位)

Flask (0.12.2)

线上环境

CentOS 6.5

python 2.7.13 (64位)

Flask (0.12.2)

一: 编写后端程序

查看统一下单接口,这里有两个地方要注意的。a.在小程序中用户标识(openid)这个参数是必要,因为trade_type=JSAPI; b.签名(sign)

生成签名(sign)

a. 设置要签名的参数(注意:要加入openid, 否则会导致签名错误)

b. 按照指定的格式排序,拼接商户key,然后生成md5

c. 签名校验工具(如果看不到调试工具请更换浏览器内核)

获取prepay_id

a. 在上面的data中加入上面生成的md5

data['sign'] = md5

b. 把data字典转换成xml, 然后通过post方式提交

req = urllib2.Request(url, data, headers={'Content-Type': 'application/xml'})

result = urllib2.urlopen(req, timeout=timeout).read()

c. 得到prepay_id

a. 生成参数, 这里要注意package参数是prepay_id=prepay_id

b.参考生成签名步骤,注意:这里也要拼接商户key

6.支付回调通知

a. 微信会以post方式通知服务器,数据类型为xml

b.收到通知后应先对数据进行校验,然后返回信息给微信, 注意:这里要以xml方式返回数据

'return_code': 'SUCCESS',

'return_msg': 'OK'

二:编写小程序

1.新建一个快速项目

2.没有什么难的,直接上代码,通过上面的接口返回小程序所需的参数(提醒:支付接口可以本地测试)

最后:测试

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180312A0HDTS00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券