File size: 3,942 Bytes
ac8e3c3 d9a9bca 9e93a27 ac8e3c3 9e93a27 ac8e3c3 9e93a27 ac8e3c3 9e93a27 ac8e3c3 9e93a27 f905452 9e93a27 ac8e3c3 9e93a27 07cb86b 44857bd 9e93a27 44857bd 07cb86b 2121d78 9e93a27 07cb86b 9e93a27 07cb86b 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.Label(label="์จ์คํ์ฝ๋ฆฌ์ TID", value="OFPT000000011017")
tot_amt = gr.Number(label="๊ฒฐ์ ๊ธ์ก (๊ธ์ก์ ์
๋ ฅํ์ธ์)")
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.Label(label="๊ฒฐ์ ํ์
", value="card")
submit_button = gr.Button("๊ฒฐ์ ์น์ธ ์์ฒญ")
result_area = gr.JSON(label="๊ฒฐ๊ณผ")
submit_button.click(
fn=card_authorization,
inputs=[onfftid.value, 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.value],
outputs=result_area
)
app.launch()
|