File size: 4,605 Bytes
ac8e3c3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import gradio as gr
import requests

def request_batch_key(onfftid, pay_type, method, cert_type, order_no, user_nm, user_phone2, product_nm, 
                      card_user_type, card_no, expire_date, auth_value, password, tot_amt):
    url = "https://store.onoffkorea.co.kr/fix/index.php"
    payload = {
        "onfftid": onfftid,
        "pay_type": pay_type,
        "method": method,
        "cert_type": cert_type,
        "order_no": order_no,
        "user_nm": user_nm,
        "user_phone2": user_phone2,
        "product_nm": product_nm,
        "card_user_type": card_user_type,
        "card_no": card_no,
        "expire_date": expire_date,
        "auth_value": auth_value,
        "password": password,
        "tot_amt": tot_amt
    }
    
    response = requests.post(url, data=payload)
    
    if response.status_code == 200:
        return response.json()
    else:
        return f"Error: {response.status_code} - {response.text}"

def request_payment(onfftid, fix_key, tot_amt, card_user_type, auth_value, install_period, user_nm, 
                    user_phone2, product_nm, pay_type, method, order_no):
    url = "https://store.onoffkorea.co.kr/fix/index.php"
    payload = {
        "onfftid": onfftid,
        "fix_key": fix_key,
        "tot_amt": tot_amt,
        "card_user_type": card_user_type,
        "auth_value": auth_value,
        "install_period": install_period,
        "user_nm": user_nm,
        "user_phone2": user_phone2,
        "product_nm": product_nm,
        "pay_type": pay_type,
        "method": method,
        "order_no": order_no
    }
    
    response = requests.post(url, data=payload)
    
    if response.status_code == 200:
        return response.json()
    else:
        return f"Error: {response.status_code} - {response.text}"

with gr.Blocks() as demo:
    gr.Markdown("# API ์—ฐ๋™ ํ…Œ์ŠคํŠธ")
    
    with gr.Tab("์นด๋“œ ๋ฐฐ์น˜ํ‚ค ๋ฐœ๊ธ‰ ์š”์ฒญ"):
        onfftid = gr.Textbox(label="์˜จ์˜คํ”„์ฝ”๋ฆฌ์•„ TID")
        pay_type = gr.Textbox(label="๊ฒฐ์ œ ํƒ€์ž…", value="fixKey")
        method = gr.Textbox(label="๋ฉ”์†Œ๋“œ", value="request")
        cert_type = gr.Radio(["0", "1"], label="์ธ์ฆ ์—ฌ๋ถ€", value="0")
        order_no = gr.Textbox(label="์ฃผ๋ฌธ๋ฒˆํ˜ธ")
        user_nm = gr.Textbox(label="์ฃผ๋ฌธ์ž ์ด๋ฆ„")
        user_phone2 = gr.Textbox(label="์ฃผ๋ฌธ์ž ์—ฐ๋ฝ์ฒ˜")
        product_nm = gr.Textbox(label="์ƒํ’ˆ๋ช…")
        card_user_type = gr.Radio(["0", "1"], label="์นด๋“œ ํƒ€์ž…", value="0")
        card_no = gr.Textbox(label="์นด๋“œ๋ฒˆํ˜ธ")
        expire_date = gr.Textbox(label="์œ ํšจ๊ธฐ๊ฐ„(YYMM)")
        auth_value = gr.Textbox(label="์ฃผ๋ฏผ(์‚ฌ์—…์ž)๋“ฑ๋ก๋ฒˆํ˜ธ")
        password = gr.Textbox(label="์นด๋“œ๋น„๋ฐ€๋ฒˆํ˜ธ ์•ž 2์ž๋ฆฌ")
        tot_amt = gr.Number(label="๊ฒฐ์ œ๊ธˆ์•ก")
        
        batch_key_button = gr.Button("๋ฐฐ์น˜ํ‚ค ๋ฐœ๊ธ‰ ์š”์ฒญ")
        batch_key_output = gr.JSON(label="์‘๋‹ต ๊ฒฐ๊ณผ")
        
        batch_key_button.click(
            request_batch_key,
            inputs=[onfftid, pay_type, method, cert_type, order_no, user_nm, user_phone2, product_nm, 
                    card_user_type, card_no, expire_date, auth_value, password, tot_amt],
            outputs=batch_key_output
        )
    
    with gr.Tab("์นด๋“œ ๋ฐฐ์น˜ํ‚ค ๊ฒฐ์ œ ์Šน์ธ ์š”์ฒญ"):
        onfftid_pay = gr.Textbox(label="์˜จ์˜คํ”„์ฝ”๋ฆฌ์•„ TID")
        fix_key = gr.Textbox(label="์นด๋“œ ๋ฐฐ์น˜ ํ‚ค")
        tot_amt_pay = gr.Number(label="๊ฒฐ์ œ๊ธˆ์•ก")
        card_user_type_pay = gr.Radio(["0", "1"], label="์นด๋“œ ํƒ€์ž…", value="0")
        auth_value_pay = gr.Textbox(label="์ฃผ๋ฏผ(์‚ฌ์—…์ž)๋“ฑ๋ก๋ฒˆํ˜ธ")
        install_period = gr.Dropdown(["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"], label="ํ• ๋ถ€๊ธฐ๊ฐ„")
        user_nm_pay = gr.Textbox(label="๊ณ ๊ฐ๋ช…")
        user_phone2_pay = gr.Textbox(label="๊ณ ๊ฐ์—ฐ๋ฝ์ฒ˜")
        product_nm_pay = gr.Textbox(label="์ƒํ’ˆ๋ช…")
        pay_type_pay = gr.Textbox(label="๊ฒฐ์ œ ํƒ€์ž…", value="fixKey")
        method_pay = gr.Textbox(label="๋ฉ”์†Œ๋“œ", value="authTran")
        order_no_pay = gr.Textbox(label="์ฃผ๋ฌธ๋ฒˆํ˜ธ")
        
        payment_button = gr.Button("๊ฒฐ์ œ ์Šน์ธ ์š”์ฒญ")
        payment_output = gr.JSON(label="์‘๋‹ต ๊ฒฐ๊ณผ")
        
        payment_button.click(
            request_payment,
            inputs=[onfftid_pay, fix_key, tot_amt_pay, card_user_type_pay, auth_value_pay, install_period, 
                    user_nm_pay, user_phone2_pay, product_nm_pay, pay_type_pay, method_pay, order_no_pay],
            outputs=payment_output
        )

demo.launch()