Как исправить ошибку tid is a key - kakao pay в приложении django
hello Я хочу использовать kakao pay в моем django приложении, я установил пакет django-pf-billing в моем settings.py
# settings.py
INSTALLED_APPS = [
...
'pf_billing',
]
KAKAOPAY_CID = "my kakaopay cid"
KAKAOPAY_APP_ADMIN_KEY = "my kakao app admin key"
Я запускаю python manage.py migrate
для создания модели Billing.
Я зарегистрировал свой домен в Kakao developers, чтобы получить CID и ключ администратора, но так как я работаю на localhost .что я должен поставить в качестве ссылки в моем приложении kakao developers, чтобы сделать тест? .
в моем файле views.py
@login_required
def kakaoPay(request):
return render(request, 'base/kakaopay/kakaopay.html')
@login_required
def kakaoPayLogic(request):
_admin_key = 'I put here my admin key from' # 입력필요
_url = f'https://kapi.kakao.com/v1/payment/ready'
_headers = {
'Authorization': f'KakaoAK {_admin_key}',
}
_data = {
'cid': 'TC0ONETIME',
'partner_order_id':'partner_order_id',
'partner_user_id':'partner_user_id',
'item_name':'selectedUser',
'quantity':'1',
'total_amount':'1.55',
'tax_free_amount':'0',
# 내 애플리케이션 -> 앱설정 / 플랫폼 - WEB 사이트 도메인에 등록된 정보만 가능합니다
# * 등록 : http://IP:8000
'approval_url':'http://127.0.0.1:8000/paySuccess',
'fail_url':'http://127.0.0.1:8000/payFail',
'cancel_url':'http://127.0.0.1:8000/payCancel'
}
_res = requests.post(_url, data=_data, headers=_headers)
_result = _res.json()
request.session['tid'] = _result['tid']
return redirect(_result['next_redirect_pc_url'])
@login_required
def paySuccess(request):
_url = 'https://kapi.kakao.com/v1/payment/approve'
_admin_key = 'I put here my admin key from' # 입력필요
_headers = {
'Authorization': f'KakaoAK {_admin_key}'
}
_data = {
'cid':'TC0ONETIME',
'tid': request.session['tid'],
'partner_order_id':'partner_order_id',
'partner_user_id':'partner_user_id',
'pg_token': request.GET['pg_token']
}
_res = requests.post(_url, data=_data, headers=_headers)
_result = _res.json()
if _result.get('msg'):
return redirect('/payFail')
else:
# * 사용하는 프레임워크별 코드를 수정하여 배포하는 방법도 있지만
# Req Header를 통해 분기하는 것을 추천
# - Django 등 적용 시
return render(request, 'base/kakaopay/paySuccess.html')
print(_result)
# - React 적용 시
#return redirect('/')
def payFail(request):
return render(request, 'base/kakaopay/payFail.html')
def payCancel(request):
return render(request, 'base/kakaopay/payCancel.html')
Я постоянно получаю ошибку, что tid is a key error так как я могу это исправить?