我有一个付款验证视图,其中使用了一些参数,例如密钥和其他一些身份验证参数。
我想将视图变成API端点,以便我可以输入参数并返回响应。
我熟悉制作基本端点CRUD端点,该端点在models.py中具有类,但是没有。
P.S:我还使用了具有响应的外部API,我要做的就是发送所需的参数,然后如果它们正确,它将返回响应。
Views.py
def verify_paystack_payment(request):
url = "https://api.paystack.co/transaction/verify/262762380"
payload = {
"email": "email@yahoo.com",
"amount": "10000",
"currency": "NGN",
"reference": "262762380",
"metadata": {
"custom_fields": [
{
"display_name": "Mobile Number",
"variable_name": "mobile_number",
"value": "+2348012345678"
}
]
}
}
files = {}
headers = {
'Authorization': 'Bearer **MY SECRET KEY**',
'Content-Type': 'application/json'
}
response = requests.request("GET", url, headers=headers, data= payload, files=files)
return render(request, "transaction/pay.html")
答案 0 :(得分:1)
如果您使用的是Django 1.7+,则可以使用JsonResponse
from django.http import JsonResponse
def verify_paystack_payment(request):
url = "https://api.paystack.co/transaction/verify/262762380"
payload = {
"email": "email@yahoo.com",
"amount": "10000",
"currency": "NGN",
"reference": "262762380",
"metadata": {
"custom_fields": [
{
"display_name": "Mobile Number",
"variable_name": "mobile_number",
"value": "+2348012345678"
}
]
}
}
files = {}
headers = {
'Authorization': 'Bearer **MY SECRET KEY**',
'Content-Type': 'application/json'
}
response = requests.request("GET", url, headers=headers, data= payload, files=files)
return JsonResponse({"data":response.text})
在Django 1.7之前的版本中,您将这样做:
import json
from django.http import HttpResponse
def verify_paystack_payment(request):
#Function code
return HttpResponse(json.dumps({"data":response.text}),content_type="application/json")