A Django app to conduct Web-based billing for KakaoPay and KGMobilians.
Project description
pf_billing
pf_billing is a django-based billing module, which covers KakaoPay and KGMobilians.
(pf
stands for plabfootball)
🚀 Quick start
1. install django-pf-billing
pip install django-pf-billing
It will install following dependencies if not installed
- requests
- user-agent
2. Add "pf_billing" to your INSTALLED_APPS setting like this
# settings.py
INSTALLED_APPS = [
...
'pf_billing',
]
KAKAOPAY_CID = "Your kakaopay cid"
KAKAOPAY_APP_ADMIN_KEY = "Your kakao app admin key"
===== example ====
HOST_DOMAIN = "www.example.com"
HOST_APPROVAL_URLNAME = "kakao_success"
HOST_CANCEL_URLNAME = "kakao_cancel"
HOST_FAIL_URLNAME = "kakao_fail"
3. Include the pf_billing
URLconf in your project urls.py like this
from django.conf import settings
path('pf_billing/', include(f'{settings.APP_NAME}.urls')),
4. Run python manage.py migrate
to create a Billing model.
5. Start the development server
- need the Admin app enabled
- visit http://127.0.0.1:8000/admin/ to see billing admin
🛠 How to use
from pf_billing.interface import BillingAction
# 1) KakaoPay
billing = BillingAction.set_pg("KakaoPay")
# 2) KGMobilians
billing = BillingAction.set_pg("KGMobilians")
# ready
response = billing.ready(
partner_user_id = "190324",
partner_order_id = "K202109301340",
item_name = "테스트 상품",
total_amount = 10000,
quantity = 1,
)
# approve
response = billing.approve(
partner_user_id = "190324",
partner_order_id = "K202109301340",
pg_token = "YKDOEKCDKSLKNF",
transaction_id = "TID-n3jdks2lajs",
)
# cancel(partial/all)
response = billing.cancel(
transaction_id = "n3jdks2lajs",
cancel_amount = 10000,
)
# track status
response = billing.track(
transaction_id = "n3jdks2lajs",
)
⭐️ Note
1. Must implement following API
1) PG calls your success view when PG determines the billing is successful.
- HOST_APPROVAL_URLNAME you wrote in settings.py
2) PG calls your cancel view when PG determines the billing is canceled.
- HOST_CANCEL_URLNAME you wrote in settings.py
3) PG calls your fail view when PG determines the billing is failed.
- HOST_FAIl_URLNAME you wrote in settings.py
2. Register your domain in Kakao developers.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.