payment/payment_backend/app.py

59 lines
1.8 KiB
Python
Raw Normal View History

from flask import Flask, request, jsonify
from config import get_config
from services.order import OrderService
2024-11-13 08:52:05 +00:00
from services.user import UserService
config = get_config()
app = Flask(__name__)
2024-11-13 08:52:05 +00:00
order_service = OrderService()
user_service = UserService()
@app.route('/createOrder', methods=['POST'])
def create_order():
data = request.get_json()
2024-11-13 08:52:05 +00:00
name = data.get('name', None)
phone = data.get('phone', None)
email = data.get('email', None)
2024-11-13 08:52:05 +00:00
payment_method = data.get('payment_method', None)
if payment_method not in config['PaymentAddresses']:
return jsonify({
"message": "Unsupported payment method. Currently, only USDT payments are supported."
}), 400
2024-11-13 08:52:05 +00:00
address = data.get('address', None)
2024-11-13 09:23:59 +00:00
2024-11-13 08:52:05 +00:00
if address is None:
addresses = user_service.get_addresses(name, phone, email)
if not addresses:
return jsonify({
"message": "No payment address associated with you was found. Please provide a payment address."
}), 400
if len(addresses) > 1:
return jsonify({
"message": "Please select an address to place your order.",
"addresses": addresses
}), 200
# 单个地址
address = addresses[0]
order_id = order_service.create_order(address)
return jsonify({"order_id": order_id}), 200
2024-11-13 09:44:45 +00:00
order_status = config.order.order_status
@app.route('/finishOrder', methods=['GET'])
def finish_order():
data = request.get_json()
order_id = data.get('order_id', None)
status = order_service.finish_order(order_id)
return jsonify({"order_id": order_id,
"status": status,
"msg": order_status[status]}), 200
if __name__ == '__main__':
app.run(debug=True)