Creating payment link
| Name | Type | Description | Required |
|---|---|---|---|
| merchant_id | UUID4 | Merchant ID | Yes |
| account | Account | Xizmat foydalanuvchisining account ma’lumoti | Yes |
| amount | Amount | To‘lov summasi | Yes |
| amount_in_tiyin | Bool (True/False) | amount maydoni tiyin ko‘rinishida yuborilgan yoki yuborilmaganini belgilaydi | No (agar yuborilmasa, standart qiymat False) |
| currency_id | int | 860 - UZS | 840 - USD | No (agar yuborilmasa, standart qiymat 860 UZS) |
| convert_to | int | 860 - UZS | 840 - USD | No |
Agar summa tiyin ko‘rinishida yuborilsa, u 100 ga ko‘paytirilgan bo‘lishi kerak (
masalan, 100 UZS → 10000 tiyin) va oxirida ikkitadan ortiq raqam bo‘lmasligi kerak. Agar summa tiyin ko‘rinishida yuborilmasa, oddiy summa ishlatiladi (masalan, 100 UZS → 100).
Field: convert_to
Agar ushbu maydon yuborilsa, tranzaksiya ko‘rsatilgan valyutada (
SUMyokiUSD) yaratiladi. To‘lov summasi tranzaksiya yaratilayotgan paytdagi O‘zbekiston Markaziy bankining amaldagi kursi bo‘yicha konvertatsiya qilinadi.
Creating URL example
- Query yarating:
merchant_id=571c06fb-6c61-4ef7-8567-5511abaf12b5&amount=500&account.order_id=12&return_url=https://returnurl - Query’ni
base64formatga encode qiling:bWVyY2hhbnRfaWQ9NTcxYzA2ZmItNmM2MS00ZWY3LTg1NjctNTUxMWFiYWYxMmI1JmFtb3VudD01MDAmYWNjb3VudC5vcmRlcl9pZD0xMg== - Encode qilingan query’ni base URL bilan birlashtiring:
https://my.paylov.uz/checkout/create/bWVyY2hhbnRfaWQ9NTcxYzA2ZmItNmM2MS00ZWY3LTg1NjctNTUxMWFiYWYxMmI1JmFtb3VudD01MDAmYWNjb3VudC5vcmRlcl9pZD0xMg==
Query Params for UZS payments
json
query_params = {
"merchant_id": merchant_id,
"amount": amount,
"return_url": return_url
}Query Params for Visa/Master USD payments
json
query_params = {
"merchant_id": merchant_id,
"amount": amount,
"return_url": return_url,
"amount_in_tiyin": True,
"currency_id": 840
}sample python code to generate payment
python
import base64
import urllib.parse
def generate_payment_link(base_url, merchant_id, amount, account_params, return_url):
# Query string yaratish
query_params = {
"merchant_id": merchant_id,
"amount": amount,
"return_url": return_url
}
# Account bilan bog‘liq fieldlarni qo‘shish
for key, value in account_params.items():
query_params[f"account.{key}"] = value
query_string = urllib.parse.urlencode(query_params)
# Query string’ni Base64 formatga encode qilish
encoded_query = base64.b64encode(query_string.encode()).decode()
# Base URL bilan birlashtirish
payment_link = f"{base_url}{encoded_query}"
return payment_link
# Example usage
base_url = "https://my.paylov.uz/checkout/create/"
merchant_id = "0das467e-82sf-42df-8642-g51aawy5ga2r"
amount = "500"
account_params = {"order_id": "1233"}
return_url = "https://returnurl"
payment_link = generate_payment_link(base_url, merchant_id, amount, account_params, return_url)
print(payment_link)