Django RestFramework PaycomUz
Assalom alaykum. Ushbu maqolada Payme to’lov tizimi orqali to’lov qiladigan API xizmat yaratamiz.
✈️
Ishni boshlash
pip install django pip install djangorestframework pip install PaycomUz pip install request
settings.py
INSTALLED_APPS = [ 'rest_framework', 'PaycomUz' ]
python manage.py migrate
⚙️ To’lovlarni sozlash
To’lovlarni amalga oshirish uchun sizda
Paycom classi bo’lishi kerak. U qanday yoziladi va nega kerak! Paycom classi buyurtma bor yoki yo’qligi yoki narxini tekshirib, javob qaytarish uchun kerak! Mana pastda qanday yozilishi ko’rsatilgan. Paycom classni ichida check_order funksiyasi bo’lishi kerak. U buyurtma bor yoki yo’qligini tekshirb beradi va return qilib javob yuboradi.
from PaycomUz.status import ORDER_FOUND,ORDER_NOT_FOUND,INVALID_AMOUNT class Paycom: def __init__(self,order_id=None,order_type=None,amount=None): self.order_id = None #buyurtmaning raqami self.order_type = None #buyurtmaning turi yozilmasayam bo'ladi self.amount = None #buyurtmaning narxi def check_order(self): if self.order == True: #ma'lumotlari omborida huddi shunday buyurtma bor narxi ham to'g'ri keladi return ORDER_FOUND else: #agar bunday buyurtma bo'lmasa return ORDER_NOT_FOUND #yoki INVALID_AMOUNT #narxi to'g'ri kelmadi
settings.py
PAYCOM_SETTINGS = { "HOST":"https://checkout.test.paycom.uz/api", #test host "ID":"qwertt12345", #token "SECRET_KEY":"wertyu234567", #password "PATH_CLASS":"apps.order.views", #Paycom classini qayerga yozgan bo'lsangiz o'sha joyni ko'rsating "ACCOUNTS":{ "KEY1":"order_id", "KEY2":None #or "type" } }
urls.py
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('api/payment/', include('PaycomUz.urls')) ]
💲
To’lovlarni amalga oshirish
from PaycomUz.methods_subscribe_api import Subcribe token = 'token' data = Subcribe(token=token,order_id=1,amount=5000.00,order_type='order').receipts_create() print(data) >>> {'_id': '5c42fb5ae3331dc358f3afef', 'paid': True, 'status': 'success', 'error': None} >>> {'_id': 'error_response14', 'paid': False, 'status': 'failed', 'error': {'jsonrpc': '2.0', 'id': 123, 'error': {'code': -31700, 'id': 138, 'message': 'Заказ не найден', 'origin': 'merchants.checkPerformTransaction'}}}
Github : https://github.com/begyy/PaycomUz
Ushbu videoda qanday qilib Paymeni ulash haqida ko’rishingiz mumkin!
YouTubeda
Moverda
API
Django RestFramework PaycomUz