def order_pay(order_id): """ 发起支付宝支付 :return: """ user_id = g.user_id try: order = Order.query.filter(Order.id == order_id, Order.user_id == user_id, Order.status == "WAIT_PAYMENT").first() except Exception as e: current_app.logger.error(e) return jsonify(RET.DBERR, "数据库异常") if order is None: return jsonify(code=RET.NODATA, msg="订单数据有误") alipay_client = Alipay( appid='2016092500594612', app_notify_url=None, app_private_key_path=os.path.join(os.path.dirname(__file__), "keys/app_private_key.pem"), alipay_public_key_path=os.path.join(os.path.dirname(__file__), "keys/alilay_public_key.pem"), sign_type='RSA2', debug=True) order_string = alipay_client.api_alipay_trade_wap_pay( out_trade_no=order.id, total_amount=str(order.amount / 100.0), subject=u"租房 %s" % order.id, return_url="http://127.0.0.1:5000/payComplete.html", notify_url=None) pay_url = const.ALIPAY_URL_PREFIX + order_string return jsonify(code=RET.OK, msg="OK", data={"pay_url": pay_url})
def order_pay(order_id): """发起支付宝支付""" user_id = g.user_id # 判断订单状态 try: order = Order.query.filter(Order.id == order_id, Order.user_id == user_id, Order.status == "WAIT_PAYMENT").first() except Exception as e: current_app.logger.error(e) return jsonify(errno=RET.DBERR, errmsg="数据库异常") if order is None: return jsonify(errno=RET.NODATA, errmsg="订单数据有误") # 创建支付宝sdk的工具对象 alipay_client = AliPay( appid="2016081600258081", app_notify_url=None, # 默认回调url app_private_key_path=os.path.join(os.path.dirname(__file__), "keys/app_private_key.pem"), # 私钥 alipay_public_key_path=os.path.join(os.path.dirname(__file__), "keys/alipay_public_key.pem"), # 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥, sign_type="RSA2", # RSA 或者 RSA2 debug=True # 默认False ) # 手机网站支付,需要跳转到https://openapi.alipaydev.com/gateway.do? + order_string order_string = alipay_client.api_alipay_trade_wap_pay( out_trade_no=order.id, # 订单编号 total_amount=str(order.amount/100.0), # 总金额 subject=u"爱家租房 %s" % order.id, # 订单标题 return_url="http://127.0.0.1:5000/payComplete.html", # 返回的连接地址 notify_url=None # 可选, 不填则使用默认notify url ) # 构建让用户跳转的支付连接地址 pay_url = constants.ALIPAY_URL_PREFIX + order_string return jsonify(errno=RET.OK, errmsg="OK", data={"pay_url": pay_url})