|
@@ -1,8 +1,13 @@
|
|
|
import uuid
|
|
|
|
|
|
from fastapi import APIRouter
|
|
|
+from fastapi.param_functions import Depends
|
|
|
from linepay import LinePayApi
|
|
|
from fastapi.templating import Jinja2Templates
|
|
|
+from sqlalchemy.orm.session import Session
|
|
|
+from app import crud, models, schemas
|
|
|
+from app.api import deps
|
|
|
+from app.db import session
|
|
|
|
|
|
# template
|
|
|
templates = Jinja2Templates(directory="templates")
|
|
@@ -28,10 +33,12 @@ CACHE = {}
|
|
|
|
|
|
# Request
|
|
|
@router.post('/request')
|
|
|
-async def pay_request():
|
|
|
+async def pay_request(nft_id: str, db: Session = Depends(deps.get_db)):
|
|
|
order_id = str(uuid.uuid4())
|
|
|
amount = "1"
|
|
|
currency = "TWD"
|
|
|
+ nft = crud.nft.get(db=db, id=nft_id)
|
|
|
+
|
|
|
|
|
|
request_options = {
|
|
|
"amount": amount,
|
|
@@ -43,10 +50,10 @@ async def pay_request():
|
|
|
"amount": 1,
|
|
|
"products": [
|
|
|
{
|
|
|
- "name": "NFT Box 1",
|
|
|
+ "name": nft.title,
|
|
|
"quantity": 1,
|
|
|
"price": 1,
|
|
|
- "imageUrl": "https://i.imgur.com/3rFHRVz.jpg"
|
|
|
+ "imageUrl": nft.imgurl
|
|
|
}
|
|
|
]
|
|
|
}
|