<aside>
โฃ
ํผ๋๋ฐฑ ๊ธฐ๋ก DB - ํ๊ธธ๋ (๋ณต์ฌํด์ ์ฌ์ฉ)
</aside>
https://github.com/team5th-project/pay-system
๋ณธ ํ๋ก์ ํธ๋ PortOne ๊ฒฐ์ ์์คํ ์ ์ฐ๋ํ ์ฃผ๋ฌธ, ๊ฒฐ์ ์ฒ๋ฆฌ ๋ฐฑ์๋ ์์คํ ๊ตฌํ์ ๋ชฉํ๋ก ํฉ๋๋ค. (ํ๋ก ํธ์๋๋ Sparta ์์ ์ ๊ณตํ ๋ถ๋ถ์ ์ฌ์ฉํ์ต๋๋ค. ) ์ฌ์ฉ์๋ ์ํ์ ์ฃผ๋ฌธํ๊ณ ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ์ ๋ฅผ ์งํํ ์ ์์ผ๋ฉฐ, ๊ฒฐ์ ์์ฒด๋ PortOne ์ ํตํด PG ๊ฒฐ์ ์ฐฝ์์ ์งํ๋ฉ๋๋ค. ๋ํ ๊ฒฐ์ ์คํจ, ์ฌ๊ณ ๋ถ์กฑ ๋ฑ์ ์์ธ ์ํฉ์์๋ ๊ฒฐ์ ์ทจ์ ๋ฐ ํฌ์ธํธ ๋ณต๊ตฌ ๋ฑ์ ๋ณด์ ํธ๋์ญ์ ์ ์ํํ์ฌ ์ ํฉ์ฑ์ ์ ์งํฉ๋๋ค. ์ฌ์ฉ์๋ ์ฃผ๋ฌธ ํ์ ์ ํ๋ถ ์์ฒญ์ ํ ์ ์๊ณ , ํ๋ถ ์ฒ๋ฆฌ ์ PortOne ๊ฒฐ์ ์ทจ์ API ๋ฅผ ํธ์ถํ์ฌ ์ค์ ๋ก ๊ฒฐ์ ์ทจ์๊ฐ ์ด๋ฃจ์ด์ง๋๋ค. - ์๊ตฌ์ฌํญ - ๊ธฐ๋ฅ ์๊ตฌ์ฌํญ
- ์ฃผ๋ฌธ ๋ฐ ๊ฒฐ์
์ฌ์ฉ์๋ ์ํ ์ฃผ๋ฌธ์ ์์ฑํ๊ณ ๊ฒฐ์ ์ ๋ฒ์๋ด์์ ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฃผ๋ฌธ ์์ฑ ์ ๊ฒฐ์ ๋๊ธฐ ์ํ๊ฐ ๋๋ฉฐ, ๊ฒฐ์ ์ฒ๋ฆฌ ์ดํ ์ํ๊ฐ ๋ณ๊ฒฝ๋ฉ๋๋ค.
- ๊ฒฐ์ ์ฒ๋ฆฌ
์ฌ์ฉ์๋ PortOne ๊ฒฐ์ ์ฐฝ์ ํธ์ถํ์ฌ PG ๊ฒฐ์ ๋ฅผ ์งํํฉ๋๋ค.
๊ฒฐ์ ์๋ฃ ํ ์๋ฒ์์ paymentId ๋ฅผ ์ด์ฉํด์ ๊ฒฐ์ ์ํ๋ฅผ ๊ฒ์ฆํฉ๋๋ค.
์น์ธ ๊ธ์ก์ด ์ฃผ๋ฌธ ๊ธ์ก๊ณผ ์ผ์นํด์ผ ๊ฒฐ์ ๊ฐ ์ ์์ฒ๋ฆฌ๋ฉ๋๋ค.
- ์ฃผ๋ฌธ ์๋ฃ ์ฒ๋ฆฌ
๊ฒฐ์ ๊ฒ์ฆ ์ฑ๊ณต ์ ์๋ฒ์์ ์ฌ๊ณ ์ฐจ๊ฐ, ์ํ ๋ณ๊ฒฝ, ํฌ์ธํธ ์ ๋ฆฝ, ํฌ์ธํธ ๋ด์ญ ์ ์ฅ, ๋ฉค๋ฒ์ญ ์
๋ฐ์ดํธ ์ฒ๋ฆฌ๋ฅผ ์ํํฉ๋๋ค.
- ์์ธ ์ฒ๋ฆฌ
๊ฒฐ์ ์คํจ, ์น์ธ๊ธ์ก ๋ถ์ผ์น, ํฌ์ธํธ ๋ถ์กฑ, ์ฌ๊ณ ๋ถ์กฑ์ ๊ฒฝ์ฐ ๊ฒฐ์ ๊ฐ ์คํจ๋ฉ๋๋ค.
(์ดํ ๊ฐ์ ์ฃผ๋ฌธ์ ๋ํ ์ฌ๊ฒฐ์ ์์ฒญ ์ ์๋ก ๊ฒฐ์ ์ ๋ณด๊ฐ ์์ฑ๋ฉ๋๋ค.)
๋ด๋ถ ์ค๋ฅ๋ก ์ธํ ์คํจ ์ฒ๋ฆฌ ์ ํฌ์ธํธ ๋ณต๊ตฌ, ํ๋ถ ์ฒ๋ฆฌ๊ฐ ์ด๋ฃจ์ด์ง๋๋ค.
- ํ๋ถ ์ฒ๋ฆฌ
๊ฒฐ์ ์ทจ์ API ๋ฅผ ํธ์ถํ์ฌ ๊ฒฐ์ ์ํ์ ์ฃผ๋ฌธ์ํ๋ฅผ ํ๋ถ์ฒ๋ฆฌ ํฉ๋๋ค.
์ฌ์ฉ ํฌ์ธํธ๋ ๋ณต๊ตฌ๋๊ณ , ์ ๋ฆฝ ํฌ์ธํธ๋ ์ฐจ๊ฐ๋๋ฉฐ, ๋ฉค๋ฒ์ญ ์
๋ฐ์ดํธ ์ฒ๋ฆฌ๊ฐ ์ํ๋ฉ๋๋ค.
ํ๋ถ ํ
์ด๋ธ์ ํ๋ถ ์ด๋ ฅ์ด ์ ์ฅ๋ฉ๋๋ค.
- ๋น๊ธฐ๋ฅ ์๊ตฌ์ฌํญ
๋ชจ๋ ๊ฒฐ์ ์์ฒญ์ ๋ฉฑ๋ฑ์ฑ์ ๋ณด์ฅํฉ๋๋ค.
Webhook ๋๋ ๊ฒฐ์ ํ์ ์์ฒญ ์ค ์ค๋ณต ์์ฒญ์ด ๋ฐ์ํด๋ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํฉ๋๋ค.
๊ฒฐ์ ๊ฒ์ฆ์ ์๋ฒ โ PortOne API ๋ฅผ ํตํด ๋ฌด์กฐ๊ฑด ์ฌํ์ธ ํฉ๋๋ค.
๊ฒฐ์ ์คํจ, ๋ด๋ถ ์ค๋ฅ ๋ฐ์ ์ ๋ณด์ ํธ๋์ญ์
์ ํตํด ์ ํฉ์ฑ์ ์ ์งํฉ๋๋ค.
- ๊ตฌํํ ๊ธฐ๋ฅ ์ ๋ฆฌ :
- ์ฃผ๋ฌธ ๊ธฐ๋ฅ
- ์ฃผ๋ฌธ ์์ฑ API
- ์ฃผ๋ฌธ ์ํ ๊ด๋ฆฌ
- ๊ฒฐ์ ๊ธฐ๋ฅ
- ๊ฒฐ์ ์๋ record ์์ฑ
- ํฌ์ธํธ ์ฒ๋ฆฌ
- PortOne ๊ฒฐ์ ์ฐฝ์ด๋ ์ฐ๋
- ๊ฒฐ์ ํ์ ์ฒ๋ฆฌ API
- WebHook
- ๊ฒฐ์ ๊ฒ์ฆ
- ๊ฒฐ์ ์กฐํ API
- ์น์ธ ๊ธ์ก ๊ฒ์ฆ
- ๋ฉฑ๋ฑ์ฑ ์ฒ๋ฆฌ (์คํจ ์ ์ทจ์)
- ์ฃผ๋ฌธ ์๋ฃ
- ์ฌ๊ณ ์ฐจ๊ฐ, ํฌ์ธํธ ์ ๋ฆฝ, ๋ฉค๋ฒ์ญ ๋ฑ๊ธ ์
๋ฐ์ดํธ
- ์ํ ์
๋ฐ์ดํธ
- ํฌ์ธํธ ๊ฑฐ๋ ์ด๋ ฅ ์ ์ฅ
- ์์ธ์ฒ๋ฆฌ, ๋ณด์์ฒ๋ฆฌ
- ๊ฒฐ์ ์คํจ ์ฒ๋ฆฌ
- ์ฌ๊ณ ๋ถ์กฑ์ ๊ฒฐ์ ์ทจ์
- ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ํฌ์ธํธ ๋ณต๊ตฌ
- ํ๋ถ ๊ธฐ๋ฅ
- ํ๋ถ ์์ฒญ API
- ํ๋ถ ์ํ ๊ฒ์ฆ
- PortOne ๊ฒฐ์ ์ทจ์ API ํธ์ถ
- ์ฌ์ฉํ ํฌ์ธํธ ๋ณต๊ตฌ
- ํ๋ถ ์ด๋ ฅ ๊ด๋ฆฌ
- ๋ฉค๋ฒ์ญ ๋ฑ๊ธ ์
๋ฐ์ดํธ
Git Convention
๋ธ๋์น๋ช Feat/#์ด์๋ฒํธ-๋๋ฉ์ธ-๊ธฐ๋ฅ
์ปค๋ฐ ๋ฉ์์ง
ํน์ฑ ์์ ๋๋ฌธ์, ํน์ฑ ์ดํ : (๋์ด์ฐ๊ธฐ๊น์ง) ํ๊ณ ๋ฉ์์ง ์ ๊ธฐ (๋ฉ์์ง ๋ด์ฉ์ ํ์ ์๊ด X) ex) Feat: ๊ณ ์์ด๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ex) Fix: ๊ณ ์์ด ํ ๋ง๋ฆฌ ๋ ๋ฐ๋ ค์์ต๋๋ค.
์ด์ ์์ฑ ์ ๋ง๋ค์ด๋ ์ปจ๋ฒค์ ์ ๋ง์ถฐ์ ์์ฑ

20์ 40๋ถ ๋ฐ์ผ๋ฆฌ์คํฌ๋ผ
- ์๋ฆฌ๋น์ฐ๊ฒ ๋๋ ๊ฒฝ์ฐ ํ๋ผ์ด๋น ์ฑํ
์ ๋จ๊ธฐ๊ธฐ
- ๋งค๋์ ๋ ์ค์๋ ๊ฒฝ์ฐ ๋ฉ์
ํ๊ฒ ์ต๋๋ค~~ by ๋ฏผ๊ต๋
10:30, 19:30 -> ํํฐ๋์ด ์ฐธ์ฌํ์๋ ์ ๊ธฐ ๋ฐ์ผ๋ฆฌ ์คํฌ๋ผ!
* ๊ฐ์ ์ฃผ์ฐจ
- ๋ชจ๋ ํ์์ด ํ์ต ๋ก๋๋งต์ ๋ง์ถฐ ํ์ตํ๊ธฐ!
* ํ๋ก์ ํธ ์ฃผ์ฐจ
- ๋ชจ๋ ํ์์ด ๋งก์ ์ญํ ์ ๋ค ํ ์ ์๋๋ก ํฌ๋ช
ํ๊ฒ ์ํฉ ๊ณต์ ํ๊ธฐ
* ์ง๋ ํ๋ก์ ํธ์ ๋ ์จ๋ฐ ์ค ๋ด๊ฐ ์ด๋ฒ ํ๋ก์ ํธ์ ๊ผญ! ์ ์ฉํ ๊ฒ 1๊ฐ์ง
- (์ด๋ฆ) : (์ง๋ ํ๋ก์ ํธ KPT ์ค Try ์์ฑ)
* ํ์๋ค์ด ํ์ต ์ค ์๊ธด **์๋ฌธ์ ์ด๋ ํ ๋ก ์ฃผ์ **๋ฅผ ์์ ๋กญ๊ฒ ๋ฑ๋กํด๋ณด์ธ์.
* ๋งค์ฃผ ํ๋ ๊ฐ์ฉ ์ ์ ํ์ฌ **ํ ํ ๋ก **์ ์งํํ๋ฉด ํ์ต์ ๊น์ด๊ฐ ๊น์ด์ง๊ฑฐ์์.
3/17 ์ด์
๋น์ฆ๋์ค ์ ์ด์๊ฑฐ๋๋ ๋ฐ๋ก ํ์งํ๊ธฐ
(๊ฒฐ์ ๊ธ์ก์ด ๋ค๋ฅธ ๊ฒฝ์ฐ๋ ํ๋ถ ์๋ฃ๊ฐ ์๋ ๊ฒฐ์ ์คํจ๋ก ์ฒ๋ฆฌ)
์ฃผ๋ฌธ ์์ฑ ์ดํ ์ผ์ ์๊ฐ ์ดํ Pending ์์ ๊ธฐ
์ค๋์๊ฐ pending ์ํ๋ก ๋จ๊ฒจ๋๋ฉด ์ ๋จ (์ทจ์ ๋ฑ์ผ๋ก ์์ )
ํฌ์ธํธ ์ฒ๋ฆฌํ ๋๋ ๋์์ฑ ๋ฌธ์ ์ฒ๋ฆฌํ๊ธฐ
(ํ ๊ณ์ ์์ ๋์์ ์กด์ฌํ๋ ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ)
(์ธ๋ถ (portone ๋ฑ) ์์ ์ค๋ฅ๊ฐ ๋ฌ์ ๋ ํฌ์ธํธ ๋ณต๊ตฌ๋ฐฉ๋ฒ)
ํ๋ถ ํํธ๋ ์์์ ์ฐ์ด์คฌ๋ ๋ถ๋ถ ํ ๋ฒ ๊ณ ์ณ๋ณด๊ธฐ
์ํ ์กฐํํ๊ณ ๊ธ์ก ํ ๋ฒ ๋ ๊ฒ์ฆ
(์ฃผ๋ฌธ ์์ฑํ ๋ ์ด์ก) ์ ์์ด๋ฉด ์ฃผ๋ฌธ ์ ์ฅ
webhook ๋ค์ด์ค๋ ์ํ์ค๋ฅผ ์ ์ดํดํด์ค์ผํฉ๋๋น
portone ์ผ๋ก ๋ค์ด๊ฐ๋ ๊ฒฝ์ฐ์ ์๋ ๊ฒฝ์ฐ๋ฅผ ์ ๋ถ๋ฆฌํด์ ์์ฑ
3/18
API ๋ช
์ธ์ ํ์์ CommonResponse ๋ก ๋ง์ถ๊ธฐ
๋ช
์ธ์ ๋ฌธ์ ํ๋๋ก ํฉ์ณ์ ํํฐ๋๊ป ๋ณด๋ด๊ธฐ
3/19
PR ๋จ์ ์๊ฒํ๊ธฐ (๋ฆฌ๋ทฐ ํ๊ธฐ ์ฝ๊ฒ)
์์ฃผ ์ปค๋ฐํ๊ธฐ
ํ๋ก ํธ ๊ด๋ จํด์ issue ์๊ธฐ๋ฉด ๋ฐ๋ก๋ฐ๋ก ์๊ธฐํ๊ธฐ
Flow chart (ํ๋ฏผ๋ ์์ฑ)




๋ฐ์์ ์์ฑ
<aside>

webhook table โ ์์ฑ ์๋ฃ
์ฃผ๋ฌธ๊ณผ ๊ฒฐ์ ๋ ์ ํ๊ด๊ณ๊ฐ ์๋ : ์ฃผ๋ฌธ์ด ์์ฑ๋๋ฉด ๊ฒฐ์ ๋ ๋ฌด์กฐ๊ฑด ์์ฑ๋จ (pending ์ํ๋ก) โ ์ ์ฉ ์๋ฃ
portone ์๋ ์ด ๋ ์์ฑ๋ ๊ฒฐ์ ์์ด๋ ๋ณด๋ด๊ธฐ โ ์ ์ฉ ์๋ฃ
point ์ ์ฃผ๋ฌธ id ๋ nullable ๋ก ์ค๊ณ (ํ์ฅ์ฑ์ ์ํด! ex) ์์ผ์ฉ ํฌ์ธํธ~) โ ์ ์ฑ ๊ฒฐ์ ์ค
์ ์กํ๋ถ ๊ตฌ์กฐ๋๊น ์์ชฝ์ ์ฃผ๋ฌธ ์ด์ก์ ํด๋น ์ํ์ ์ด ๊ฐ๊ฒฉ โ ๊ฒฐ์ ๊ธ์ก์ ํฌ์ธํธ ์ฌ์ฉ ํ์ ๊ธ์ก (์ค์ ๋ก ํฌํธ์์ ๋ค์ด๊ฐ์ผํ๋ ๊ธ์ก) โ ํ๋ถ ๊ธ์ก == ํ๋ถ๊ธ์ก : ํ๋ถ ๊ธ์ก ์ปฌ๋ผ์ด ํ์์์
โ์ ์ฉ ์๋ฃ
๋ฉค๋ฒ์ญ ๋ฑ๊ธ ํ ์ด๋ธ๋ก ์ค๊ณํ๊ธฐ โ ์์ ์ค DB ์๋ค๊ฐ ์ ์ฑ ์ค๊ณํด์ฃผ๊ธฐ โ ์์ ์ค
</aside>