示例#1
0
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)
示例#2
0
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'])
示例#3
0
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'
                            }
示例#4
0
def get_one_order(oid):
    order = Order.get_one_order(oid)
    return jsonify(order)