Django와 Razozpay 통합
pip install razorpay
가입이 완료되면 라이브 모드가 아닌 테스트 모드인지 확인하십시오. Razorpay 대시보드를 방문하여 새 API 키를 생성하십시오.
API 키는 한 번만 표시되므로 반드시 저장하십시오. 좋습니다. 이미 설정 파일에 넣었습니다. 좋습니다. 안좋다 !!! 비밀은 비밀로 유지되어야 합니다. 환경 변수로 저장하거나 Github에 푸시하지 않을 json 파일에 저장해야 합니다.
방문 시 버튼이 제공되어야 하는 URL을 생성해 보겠습니다. 버튼을 클릭하면 지불 게이트웨이 화면이 제공되어야 합니다.
하지만 이를 위해 먼저 뷰를 생성해 보겠습니다.
import os
import razorpay
from django.shortcuts import render
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
def payment(request):
amount = 100 #100 here means 1 dollar,1 rupree if currency INR
client = razorpay.Client(auth=(os.getenv('razorpaykey'), os.getenv('razorpaysecret')))
response = client.order.create({'amount':amount,'currency':'USD','payment_capture':1})
print(response)
context = {'response':response}
return render(request,"payments/payment.html",context)
@csrf_exempt
def payment_success(request):
if request.method =="POST":
print(request.POST)
return HttpResponse("Done payment hurrey!")
이것은 우리의 HTML 파일이 될 것이며 클릭할 때 지불 양식을 생성할 razozpay 버튼을 가져오는 역할을 할 것입니다.
{% if response %}
<form action="/success/" method="POST">
<script
src="https://checkout.razorpay.com/v1/checkout.js"
data-key="your_test_api_key"
data-amount={{response.amount}}
data-currency={{response.currency}}
data-order_id={{response.id}}
data-buttontext="Pay with Razorpay"
data-name="ILoveDjango3000"
data-description=""
data-image=""
data-prefill.name={{request.user.username}}
data-prefill.email={{request.user.email}}
data-theme.color="#F37254"
></script>
<input type="hidden" custom="Hidden Element" name="hidden">
</form>
{% endif %}
선택한 URL로 보기, 즉 지불 및 지불_성공을 연결하고 성공 URL로 HTML 파일 양식 작업을 업데이트해야 합니다. 한 가지 더, 결제가 성공하면 Razorpay는 성공 URL에서 애플리케이션에 POST 요청을 보냅니다. 양식에 csrf_token이 없기 때문에 csrf_token을 면제할 수 있습니다. 웹후크를 사용한 다음 csrf_token을 면제해야 합니다.
이것은 예를 들어 내 urls.py 파일:
from django.urls import path
from apps.payments.views import payment,payment_success
urlpatterns = [
path('payment/',payment,name="payment"),
path('success/',payment_success,name="payment-success"),
]
이것은 Razorpay가 django와 함께 작동하도록 하는 최소한의 구성입니다. 개선하거나 통합해야 할 사항이 여전히 있습니다. 구독, 송장, 환불, 경로 및 가장 중요한 보안 및 서명 확인 등
더 많은 결제 옵션을 업데이트할 계획입니다. 페이팔 및 인스타모조:
https://www.ilovedjango3000.com/blog/payment-in-django/
Reference
이 문제에 관하여(Django와 Razozpay 통합), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/po/razozpay-integration-with-django-1b9i텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)