微信app支付功能-服务端的实现-python3版

0

微信app支付功能-服务端的实现-python3版

微信app支付功能-服务端的实现-python3版

一:需求说明

在自有的Android App中加入微信支付功能,用户可以通过App进行支付。为此,我们需要在后台开发一个微信支付接口。

二:微信app支付处理流程

1. 创建订单:用户在App中选择商品并点击购买按钮,系统会生成一条订单信息。

2. 微信异步回调:用户在微信支付界面确认支付后,微信服务器会向我们的服务端发送一个异步回调请求,包含支付结果等信息。

3. 订单状态查询:用户可以通过App查询当前订单的状态。

三:所需依赖

3.1 支付配置我们需要在后台配置微信支付相关参数,如商户ID、密钥等。

```python payments.pyimport osclass WeChatPayConfig:

def __init__(self):

self.mch_id = os.environ.get('WECHAT_PAY_MCH_ID')

self.api_key = os.environ.get('WECHAT_PAY_API_KEY')

wechat_pay_config = WeChatPayConfig()

```

3.2 接口开发4.1 创建订单接口```python orders.pyfrom flask import Blueprint, request, jsonifyfrom payments import wechat_pay_configorders_blueprint = Blueprint('orders', __name__)

@orders_blueprint.route('/create_order', methods=['POST'])

def create_order():

获取用户传递的参数,如商品ID、数量等 product_id = request.json.get('product_id')

quantity = request.json.get('quantity')

生成订单信息 order_info = {

'product_id': product_id,

'quantity': quantity,

'status': 'pending'

}

将订单信息保存到数据库或缓存中 db_session.add(order_info)

db_session.commit()

return jsonify({'order_id': order_info.id})

```

4.2 微信异步回调接口```python callbacks.pyfrom flask import Blueprint, request, jsonifyimport xml.etree.ElementTree as ETcallbacks_blueprint = Blueprint('callbacks', __name__)

@callbacks_blueprint.route('/wechat_callback', methods=['POST'])

def wechat_callback():

获取微信传递的参数,如签名、订单ID等 signature = request.form.get('signature')

order_id = request.form.get('order_id')

验证签名 if not verify_signature(signature, wechat_pay_config.api_key):

return jsonify({'error': 'invalid signature'}),400 更新订单状态 order_info = db_session.query(Order).get(order_id)

order_info.status = 'paid'

db_session.commit()

return jsonify({'message': 'success'})

```

4.3 订单状态查询接口```python orders.py (继续)

@orders_blueprint.route('/query_order_status', methods=['GET'])

def query_order_status():

获取用户传递的参数,如订单ID等 order_id = request.args.get('order_id')

查询订单状态 order_info = db_session.query(Order).get(order_id)

return jsonify({'status': order_info.status})

```

以上是微信app支付功能-服务端的实现-python3版的详细描述。

支付功能微信app支付

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 Laravel 集成微信H5支付

下一篇 JAVA微信会员卡接口踩坑