Razorpay와 Django 통합 가이드
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
Django 기반 웹 애플리케이션 개발자.
- 중급 이상의 Django 프레임워크 이해가 필요
- 결제 게이트웨이 통합 경험을 원하는 개발자
핵심 요약
- Razorpay 통합을 위해
pip install razorpay
명령어로 패키지 설치 - Django 설정 파일에
RAZORPAY_KEY_ID
와RAZORPAY_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 애플리케이션에 결제 기능을 간단하게 추가할 수 있도록 설계됨.