파이썬 자동설계프로젝트
네이버페이와 카카오페이 수수료와 Flask로 결제 연동하기
mylife365
2024. 11. 24. 12:55
안녕하세요! 😊 오늘은 네이버페이와 카카오페이의 수수료 구조를 중심으로, 이를 Flask로 연동하여 결제 시스템을 만드는 방법을 알려드리겠습니다. 결제 수수료는 사업자들에게 중요한 요소이니, 자세히 설명드릴게요. 결제 API 연동 방법도 함께 설명드리니, 끝까지 따라오세요! 🚀
네이버페이와 카카오페이의 수수료
1. 네이버페이
- 기본 수수료:
- 신용카드 결제: 3.3% ~ 3.85%
- 계좌이체: 약 1.8%
- 포인트 결제: 약 1.8%
- 특징: 다양한 결제 수단을 제공하며, 네이버 플랫폼에서 높은 신뢰도를 보장합니다.
2. 카카오페이
- 기본 수수료:
- 신용카드 결제: 3.0% ~ 3.5%
- 계좌이체: 약 1.0%
- QR코드 결제: 약 1.0%
- 특징: 카카오톡과 연동되어 간편 송금 및 메시지를 통한 결제 알림 제공.
수수료 관점에서 결제 연동 준비하기
1. Flask 웹 서버 준비
결제 요청 및 처리를 위한 파이썬 기반의 Flask 서버가 필요합니다.
2. API 키 발급
- 네이버페이: 네이버페이 개발자 센터에서 API 키 발급.
- 카카오페이: 카카오 디벨로퍼스에서 REST API 키 발급.
3. 결제 수수료 반영
결제 수수료를 반영해, 상품 가격 설정 및 이익률 계산을 사전에 준비하세요.
Flask로 네이버페이와 카카오페이 결제 구현
아래는 수수료를 고려해 Flask로 결제 시스템을 구현하는 코드입니다.
from flask import Flask, request, jsonify, redirect
import requests
app = Flask(__name__)
# 네이버페이 및 카카오페이 API 키
NAVER_PAY_CLIENT_ID = "your_naverpay_client_id"
KAKAO_PAY_API_KEY = "your_kakao_api_key"
@app.route("/")
def home():
return '''
결제 테스트
네이버페이로 결제하기
카카오페이로 결제하기
'''
@app.route("/pay/naver", methods=["GET"])
def naver_pay():
naver_pay_url = "https://api.naver.com/pay"
payload = {
"client_id": NAVER_PAY_CLIENT_ID,
"amount": 10000, # 수수료 포함 계산 필요
"item_name": "테스트 상품",
"return_url": "http://localhost:5000/naver/callback"
}
headers = {"Content-Type": "application/json"}
response = requests.post(naver_pay_url, json=payload, headers=headers)
if response.status_code == 200:
return redirect(response.json()["payment_url"])
else:
return jsonify({"error": "네이버페이 결제 실패", "details": response.json()})
@app.route("/pay/kakao", methods=["GET"])
def kakao_pay():
kakao_pay_url = "https://kapi.kakao.com/v1/payment/ready"
headers = {"Authorization": f"KakaoAK {KAKAO_PAY_API_KEY}"}
payload = {
"cid": "TC0ONETIME",
"partner_order_id": "123456789",
"partner_user_id": "user123",
"item_name": "테스트 상품",
"quantity": 1,
"total_amount": 10000, # 수수료 포함 계산 필요
"vat_amount": 1000,
"tax_free_amount": 0,
"approval_url": "http://localhost:5000/kakao/success",
"cancel_url": "http://localhost:5000/kakao/cancel",
"fail_url": "http://localhost:5000/kakao/fail"
}
response = requests.post(kakao_pay_url, json=payload, headers=headers)
if response.status_code == 200:
return redirect(response.json()["next_redirect_pc_url"])
else:
return jsonify({"error": "카카오페이 결제 실패", "details": response.json()})
if __name__ == "__main__":
app.run(debug=True)
수수료를 고려한 결제 페이지 설계
HTML 예제
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>결제 테스트</title>
</head>
<body>
<h1>결제 테스트</h1>
<button onclick="window.location.href='/pay/naver'">네이버페이로 결제하기</button>
<button onclick="window.location.href='/pay/kakao'">카카오페이로 결제하기</button>
<p>네이버페이 수수료: 3.3% ~ 3.85%</p>
<p>카카오페이 수수료: 3.0% ~ 3.5%</p>
</body>
</html>
수수료를 반영한 결제 결과 처리
- 결제 성공
- 성공 시 수수료를 고려한 최종 금액 계산을 수행합니다.
- 예: 상품 가격 - 수수료 = 순이익.
- 결제 실패
- 실패 사유를 기록하고 사용자에게 안내 메시지를 보여줍니다.
결론: 수수료를 고려한 결제 시스템 설계
수수료는 사업자의 수익에 직접적인 영향을 미치므로, 다음 사항을 꼭 반영하세요:
- 수수료 포함 가격 설정: 상품 가격을 설정할 때 수수료를 고려해 적정 이익률을 유지하세요.
- 결제 수단 분석: 네이버페이와 카카오페이 중 적합한 결제 수단을 선택하거나, 두 가지를 모두 제공하여 사용자 편의성을 높이세요.
- 정산 및 보고 기능 추가: Flask 서버에 결제 내역 저장 및 정산 보고서를 생성하는 기능을 추가하세요.
이제 수수료를 명확히 이해하고, 간편결제 시스템을 구축해보세요. 여러분의 비즈니스 성공을 기원합니다! 😊
반응형