Razorpay & Django Integration Guide for Developers

Razorpay와 Django 통합 가이드

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

Django 기반 웹 애플리케이션 개발자.

  • 중급 이상의 Django 프레임워크 이해가 필요
  • 결제 게이트웨이 통합 경험을 원하는 개발자

핵심 요약

  • Razorpay 통합을 위해 pip install razorpay 명령어로 패키지 설치
  • Django 설정 파일에 RAZORPAY_KEY_IDRAZORPAY_KEY_SECRET 환경 변수 설정 필수
  • razorpay.Client 인스턴스를 통해 결제 주문 생성 및 성공 콜백 처리 구현

섹션별 세부 요약

1. Prerequisites (필수 사전 조건)

  • Python 및 Django 설치 확인
  • Razorpay 계정 생성 및 API 키 발급
  • Django 뷰 및 템플릿 기본 이해
  • 환경 변수를 사용한 보안 설정 권장

2. 설치 및 설정

  • pip install razorpay 명령어로 패키지 설치
  • settings.py 파일에 API 키 설정:

```python

RAZORPAY_KEY_ID = 'your_key_id'

RAZORPAY_KEY_SECRET = 'your_key_secret'

```

  • razorpay.Client 인스턴스 생성:

```python

razorpay_client = razorpay.Client(auth=(settings.RAZOR_KEY_ID, settings.RAZOR_KEY_SECRET))

```

3. 결제 처리 로직

  • home() 뷰에서 결제 요청 처리:

```python

razorpay_order = razorpay_client.order.create(

dict(amount=amount, currency='INR', payment_capture='0')

)

```

  • paymenthandler() 뷰에서 결제 성공 콜백 처리:

```python

result = razorpay_client.utility.verify_payment_signature(params_dict)

razorpay_client.payment.capture(payment_id, amount)

```

4. 템플릿 및 URL 설정

  • home.html 템플릿에서 Razorpay SDK 초기화:

```javascript

var rzp1 = new Razorpay(options);

rzp1.open();

```

  • urls.py에 뷰 매핑:

```python

path('', views.home, name='home'),

path('paymenthandler/', views.paymenthandler, name='paymenthandler'),

```

결론

  • 보안을 위해 API 키는 환경 변수에 저장
  • 결제 성공 콜백 URL(callback_url)을 정확히 설정
  • verify_payment_signature 메서드를 통해 결제 유효성 검증 필수
  • Razorpay는 Django 애플리케이션에 결제 기능을 간단하게 추가할 수 있도록 설계됨.