kakaopay.controller.js 1.1 KB
Newer Older
Jiwon Yoon's avatar
Jiwon Yoon committed
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
import fetch from 'node-fetch'
import config from "../config.js";

const success = (req, res) => {
    return res.json({
        message: 'Success'
    })
}

const fail = (req, res) => {
    return res.json({
        message: 'Failed'
    })
}

const cancel = (req, res) => {
    return res.json({
        message: 'Canceled'
    })
}

const singleTest = async (req, res) => {
    const item = req.body
    const data = []
    for (let property in item) {
        let encodedKey = encodeURIComponent(property);
        let encodedValue = encodeURIComponent(item[property]);
        data.push(encodedKey + "=" + encodedValue);
    }
Kim, Subin's avatar
정리    
Kim, Subin committed
30
    const bodyData = data.join('&')
Jiwon Yoon's avatar
Jiwon Yoon committed
31
32
33
34
35
36
37
    const response = await fetch('https://kapi.kakao.com/v1/payment/ready', {
        method: 'POST',
        headers: {
            'Authorization': `KakaoAK ${config.kakaoAdminKey}`,
            'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
        },
        body: bodyData,
Kim, Subin's avatar
정리    
Kim, Subin committed
38
    })
Jiwon Yoon's avatar
Jiwon Yoon committed
39
    const resp = await response.json()
Kim, Subin's avatar
정리    
Kim, Subin committed
40
    res.json({ redirect_url: resp.next_redirect_pc_url })
Jiwon Yoon's avatar
Jiwon Yoon committed
41
42
}

kusang96's avatar
kusang96 committed
43
export default { success, fail, cancel, singleTest }