Skip to main content

payme-drf

Project description

Requirements

pip install django
pip install djangorestframework
pip install payme-drf 
pip install requests

# supported versions
python 3.5 +
django 2 +
djangorestframework 3.7 +
payme-drf 0.01 +

settings.py

PAYME_SETTINGS = {
    "KASSA_ID": "",
    "SECRET_KEY": "",
    "INTEGRATION_INTEND": "" # either web or mobile
}

INSTALLED_APPS = [
    ...
    'rest_framework',
    'payme',
    ...
]
python manage.py migrate

Create payme user

python manage.py create_payme_user

view.py

from payme.methods.merchant.validation_classes import BaseMerchantValidationClass
from payme.methods.merchant.views import BaseMerchantAPIView

class MerchantValidationClass(BaseMerchantValidationClass):
    """
    MerchantValidationClass implements abstract methods from BaseMerchantValidationClass
    to handle specific payment validation logic.

    Exceptions Handled:
        - OrderNotFoundException: Raised when the order is not found.
        - InvalidAmountException: Raised when the transaction amount is invalid.
    """

    def check_order(self, amount, account, **kwargs):
        """Validates the existence and correctness of the order."""
        ...

    def successful_payment(self, params, *args, **kwargs):
        """Processes actions for a successful payment."""
        ...

    def cancel_payment(self, params, *args, **kwargs):
        """Processes actions for canceling a payment."""
        ...


class PaymeMerchantAPIView(BaseMerchantAPIView):
    """
    PaymeMerchantAPIView handles API requests for Payme merchant operations
    by using the MerchantValidationClass to validate transactions.
    """
    
    validation_class = MerchantValidationClass

urls.py

from django.urls import path

urlpatterns = [
    path('payme/', PaymeMerchantAPIView.as_view())
]

create_initialization.py

https://help.paycom.uz/uz/initsializatsiya-platezhey/otpravka-cheka-po-metodu-get

You can pass multiple items to ac_params to customize the payment request.

from payme.methods.merchant.helpers import PaymeHelper
from decimal import Decimal

helper = PaymeHelper()
ac_params = {"order_id": "12221"}  # Here, your account parameters
url = helper.create_initialization(amount=Decimal(5000.00), ac_params=ac_params, return_url='https://example.com/success/')
print(url)

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

payme_drf-1.0.0.tar.gz (26.1 kB view details)

Uploaded Source

Built Distribution

payme_drf-1.0.0-py3-none-any.whl (36.3 kB view details)

Uploaded Python 3

File details

Details for the file payme_drf-1.0.0.tar.gz.

File metadata

  • Download URL: payme_drf-1.0.0.tar.gz
  • Upload date:
  • Size: 26.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for payme_drf-1.0.0.tar.gz
Algorithm Hash digest
SHA256 46d7658948daeedbe5e3fc6e92cf8049786bcefa4d66f6ed71d5f1fdb35d8952
MD5 97d22a8adae4b2aa17c81d6c57025be3
BLAKE2b-256 0ae1311821976f25cfae05e08533a08bf29bf96a1f201fc045026a141e52eeaf

See more details on using hashes here.

File details

Details for the file payme_drf-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: payme_drf-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 36.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for payme_drf-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dd1d7777147d9353e017d3899199380d5491a134dfda74cb4e921fdf8e536db5
MD5 5473516debd76fdab34ca99e552c1d15
BLAKE2b-256 08c281b019399c17a367e673469b767fc97da816a1ab935dae0051ef8e740f83

See more details on using hashes here.

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