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