파이썬 자동설계프로젝트

네이버페이와 카카오페이 수수료와 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 키 발급

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>

수수료를 반영한 결제 결과 처리

  1. 결제 성공
    • 성공 시 수수료를 고려한 최종 금액 계산을 수행합니다.
    • 예: 상품 가격 - 수수료 = 순이익.
  2. 결제 실패
    • 실패 사유를 기록하고 사용자에게 안내 메시지를 보여줍니다.

결론: 수수료를 고려한 결제 시스템 설계

수수료는 사업자의 수익에 직접적인 영향을 미치므로, 다음 사항을 꼭 반영하세요:

  1. 수수료 포함 가격 설정: 상품 가격을 설정할 때 수수료를 고려해 적정 이익률을 유지하세요.
  2. 결제 수단 분석: 네이버페이와 카카오페이 중 적합한 결제 수단을 선택하거나, 두 가지를 모두 제공하여 사용자 편의성을 높이세요.
  3. 정산 및 보고 기능 추가: Flask 서버에 결제 내역 저장 및 정산 보고서를 생성하는 기능을 추가하세요.

이제 수수료를 명확히 이해하고, 간편결제 시스템을 구축해보세요. 여러분의 비즈니스 성공을 기원합니다! 😊

반응형