File size: 3,882 Bytes
ac8e3c3 d9a9bca 9e93a27 ac8e3c3 9e93a27 ac8e3c3 9e93a27 ac8e3c3 9e93a27 ac8e3c3 9e93a27 f905452 9e93a27 ac8e3c3 9e93a27 2121d78 9e93a27 d9a9bca ac8e3c3 9e93a27 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
import gradio as gr
import requests
def card_authorization(onfftid, tot_amt, com_tax_amt, com_free_amt, com_vat_amt, card_no, install_period,
user_nm, user_phone2, product_nm, expire_date, cert_type, card_user_type,
auth_value, password, card_nm, order_no, pay_type):
url = "https://store.onoffkorea.co.kr/payment/index.php"
data = {
"onfftid": onfftid,
"tot_amt": tot_amt,
"com_tax_amt": com_tax_amt,
"com_free_amt": com_free_amt,
"com_vat_amt": com_vat_amt,
"card_no": card_no,
"install_period": install_period,
"user_nm": user_nm,
"user_phone2": user_phone2,
"product_nm": product_nm,
"expire_date": expire_date,
"cert_type": cert_type,
"card_user_type": card_user_type,
"auth_value": auth_value,
"password": password,
"card_nm": card_nm,
"order_no": order_no,
"pay_type": pay_type
}
response = requests.post(url, data=data)
if response.status_code == 200:
try:
return response.json()
except ValueError:
return {"error": "Non-JSON response", "details": response.text}
else:
return {"error": "Request failed", "status_code": response.status_code}
with gr.Blocks() as app:
with gr.Tab("์นด๋ ๊ฒฐ์ ์น์ธ ์์ฒญ"):
with gr.Row():
with gr.Column(scale=1):
onfftid = gr.Textbox(label="์จ์คํ์ฝ๋ฆฌ์ TID", value="OFPT000000011017", readonly=True)
tot_amt = gr.Number(label="๊ฒฐ์ ๊ธ์ก", placeholder="๊ธ์ก์ ์
๋ ฅํ์ธ์")
com_tax_amt = gr.Number(label="๊ณผ์ธ์น์ธ๊ธ์ก", optional=True)
com_free_amt = gr.Number(label="๋น๊ณผ์ธ์น์ธ๊ธ์ก", optional=True)
com_vat_amt = gr.Number(label="๋ถ๊ฐ์ธ", optional=True)
card_no = gr.Textbox(label="์นด๋๋ฒํธ", placeholder="์นด๋๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์")
install_period = gr.Dropdown([str(i).zfill(2) for i in range(13)], label="ํ ๋ถ๊ธฐ๊ฐ ์ ํ")
user_nm = gr.Textbox(label="๊ฒฐ์ ์๋ช
", placeholder="๊ฒฐ์ ์์ ์ด๋ฆ์ ์
๋ ฅํ์ธ์")
user_phone2 = gr.Textbox(label="๊ฒฐ์ ์ ์ฐ๋ฝ์ฒ", placeholder="์ฐ๋ฝ์ฒ๋ฅผ ์
๋ ฅํ์ธ์")
product_nm = gr.Textbox(label="์ํ๋ช
", placeholder="์ํ๋ช
์ ์
๋ ฅํ์ธ์")
expire_date = gr.Textbox(label="์ ํจ๊ธฐ๊ฐ(YYMM)", placeholder="์: 2306")
cert_type = gr.Radio(choices=["0 - ์ธ์ฆ", "1 - ๋น์ธ์ฆ"], label="์ธ์ฆ์ฌ๋ถ ์ ํ")
card_user_type = gr.Radio(choices=["0 - ๊ฐ์ธ์นด๋", "1 - ๋ฒ์ธ์นด๋"], label="์นด๋์ ํ ์ ํ")
auth_value = gr.Textbox(label="์ธ์ฆ๋ฒํธ", placeholder="๊ฐ์ธ์ ์ฃผ๋ฏผ๋ฒํธ ์ 6์๋ฆฌ, ๋ฒ์ธ์ ์ฌ์
์๋ฑ๋ก๋ฒํธ")
password = gr.Textbox(label="์นด๋ ๋น๋ฐ๋ฒํธ ์ 2์๋ฆฌ", placeholder="๋น๋ฐ๋ฒํธ ์ 2์๋ฆฌ")
card_nm = gr.Textbox(label="์นด๋์ฌ๋ช
", optional=True, placeholder="์นด๋์ฌ๋ช
์ ์
๋ ฅํ์ธ์")
order_no = gr.Textbox(label="์ฃผ๋ฌธ๋ฒํธ", optional=True, placeholder="์ฃผ๋ฌธ๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์")
pay_type = gr.Textbox(label="๊ฒฐ์ ํ์
", value="card", readonly=True)
submit_button = gr.Button("๊ฒฐ์ ์น์ธ ์์ฒญ")
result_area = gr.JSON(label="๊ฒฐ๊ณผ")
submit_button.click(
fn=card_authorization,
inputs=[onfftid, tot_amt, com_tax_amt, com_free_amt, com_vat_amt, card_no, install_period,
user_nm, user_phone2, product_nm, expire_date, cert_type, card_user_type,
auth_value, password, card_nm, order_no, pay_type],
outputs=result_area
)
app.launch()
|