Skip to main content

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



🛠 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.

Source Distribution

django-pf-billing-0.0.1.tar.gz (7.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page