def refund(id): order = OrderBiz.get_order_by_id(id) if not order: raise DaixieError(u'订单不存在') elif order.status != Order.STATUS.CREATED: raise DaixieError(u'该订单已付款') try: #订单付款失败,偿还从账户中扣除的钱 amount = int(order.expect_order_price) UserBiz.recharge(order.user_id, amount, Transaction.TYPE.REFUND, u'用户付款失败,返回付款金额') order.status = Order.STATUS.CREATED db_session.add(order) db_session.commit() except DaixieError as e: raise e
def recharge(): """ 充值 """ stripe.api_key = "sk_test_xPY1IwP3MgiPkMlaV8Q76tgt" data_amount = session["data_amount"] amount = session["amount"] customer = stripe.Customer.create(email=current_user.email, card=request.form["stripeToken"]) try: stripe.Charge.create(customer=customer.id, amount=int(data_amount), currency="usd", description=u"账户充值") except stripe.CardError as e: raise e else: try: ret = UserBiz.recharge(current_user.id, amount, type=Transaction.TYPE.RECHARGE, description=u"用户充值") except DaixieError as e: raise e success(ret) session.pop("data_amount", None) session.pop("amount", None) return redirect(url_for(".home"))
def recharge(): ''' Create charge using token.id and return result. ''' amount = float(request.form['amount']) data_amount = int(amount*100) print data_amount customer = stripe.Customer.create( email=current_user.email, card=request.form['stripeToken'] ) try: stripe.Charge.create( customer=customer.id, amount= data_amount, currency='usd', description=u'账户充值' ) except stripe.CardError as e: return render_template('user/recharge_result.html', cuser=current_user, result=e.message) except stripe.InvalidRequestError as e: print e.message return render_template('user/recharge_result.html', cuser=current_user, result=e.message) else: try: ret = UserBiz.recharge(current_user.id, amount, type=Transaction.TYPE.RECHARGE, description=u'用户充值') except DaixieError as e: return render_template('user/recharge_result.html', cuser=current_user, result=e) success(ret) session.pop('data_amount', None) session.pop('amount', None) return render_template('user/recharge_result.html', cuser=current_user, result=ret)