def get_pay_order(oid): uid = g.user.uid user = User.query.filter_by(id=uid).first().append('openid') order = Order.get_one_order(oid) wx_pay = UnifiedOrder(oid, user.openid, order.pay_price) pay_info = wx_pay.get_pay_info() return jsonify(pay_info)
def get_pay_query(oid): pay_info = OrderQuery(oid).get_order_info() if pay_info['result_code'] == 'FAIL': return UserException(msg=pay_info['err_code']) elif pay_info['trade_state'] == 'SUCCESS': with db.auto_commit(): order = Order.get_one_order(oid) order.transaction_id = pay_info['transaction_id'] order.status = 2 order.update() return Success(msg=pay_info['trade_state_desc']) return UserException(msg=pay_info['trade_state_desc'])
def get_pay_notify(): if request.method == 'POST': pay_info = Base.xml_to_dict(request.data) if pay_info['return_code'] == 'SUCCESS': if pay_info['result_code'] == 'SUCCESS': if pay_info['trade_state'] == 'SUCCESS': with db.auto_commit(): order = Order.get_one_order(pay_info['out_trade_no']) if int(order.pay_price * 100) == pay_info['settlement_total_fee']: order.transaction_id = pay_info['transaction_id'] order.status = 2 result_data = { 'return_code': 'SUCCESS', 'return_msg': 'OK' } return Base.dict_to_xml(result_data), { 'Content-Type': 'application/xml' }
def get_one_order(oid): order = Order.get_one_order(oid) return jsonify(order)