{"library":"payu","title":"PayU India Python Integration","description":"PayU India payment gateway. PACKAGE NAME CONFUSION: 'payu' on PyPI (1.2.1) is an unrelated HPC workflow tool — NOT PayU payments. Official PayU India Python SDK is 'payu_websdk' (from payu-india/web-sdk-python on GitHub, not on PyPI). 'payu-sdk' (1.2.0 on PyPI) is unofficial/community. Most Python integrations use manual hash generation without any SDK. Core requirement: SHA512 hash must be generated server-side for every transaction. Amount as string in rupees. Test environment: test.payu.in, Live: secure.payu.in.","language":"python","status":"active","last_verified":"Tue May 19","install":{"commands":["pip install git+https://github.com/payu-india/web-sdk-python.git"],"cli":null},"imports":["import hashlib\n\ndef generate_payu_hash(key, txnid, amount, productinfo,\n                      firstname, email, salt,\n                      udf1='', udf2='', udf3='', udf4='', udf5=''):\n    \"\"\"\n    PayU hash formula:\n    sha512(key|txnid|amount|productinfo|firstname|email|\n           udf1|udf2|udf3|udf4|udf5||||||salt)\n    Amount must be a string. Hash must be lowercase.\n    \"\"\"\n    hash_str = (\n        f'{key}|{txnid}|{amount}|{productinfo}|{firstname}|{email}|'\n        f'{udf1}|{udf2}|{udf3}|{udf4}|{udf5}||||||{salt}'\n    )\n    return hashlib.sha512(hash_str.encode('utf-8')).hexdigest().lower()\n\n# Usage\nhash_val = generate_payu_hash(\n    key='your_key',\n    txnid='unique_txn_001',\n    amount='500.00',   # string, in rupees\n    productinfo='Widget',\n    firstname='John',\n    email='john@example.com',\n    salt='your_salt'\n)\nprint(hash_val)","import payu_websdk\n\n# ENV: 'TEST' or 'LIVE'\nclient = payu_websdk.Client('YOUR_KEY', 'YOUR_SALT', 'TEST')\n\n# Verify payment status\nresult = client.verify_payment('txnid_001')\nprint(result)\n\n# Refund\nrefund = client.refund_transaction(\n    mihpayid='payu_transaction_id',\n    token='unique_refund_token',\n    amount='100.00'\n)\nprint(refund)"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import hashlib\nimport requests\nimport uuid\n\n# PayU credentials from dashboard.payu.in\nKEY = 'your_merchant_key'\nSALT = 'your_merchant_salt'\nENV = 'test'  # 'test' or 'prod'\n\nBASE_URL = 'https://test.payu.in' if ENV == 'test' else 'https://secure.payu.in'\n\ndef generate_hash(key, txnid, amount, productinfo, firstname, email, salt, **udf):\n    udf1 = udf.get('udf1', '')\n    udf2 = udf.get('udf2', '')\n    udf3 = udf.get('udf3', '')\n    udf4 = udf.get('udf4', '')\n    udf5 = udf.get('udf5', '')\n    hash_str = f'{key}|{txnid}|{amount}|{productinfo}|{firstname}|{email}|{udf1}|{udf2}|{udf3}|{udf4}|{udf5}||||||{salt}'\n    return hashlib.sha512(hash_str.encode()).hexdigest().lower()\n\n# Create payment params\ntxnid = str(uuid.uuid4())[:20]\namount = '500.00'  # string, rupees\n\nhash_val = generate_hash(\n    KEY, txnid, amount,\n    'Widget', 'John', 'john@example.com',\n    SALT\n)\n\npayment_data = {\n    'key': KEY,\n    'txnid': txnid,\n    'amount': amount,\n    'productinfo': 'Widget',\n    'firstname': 'John',\n    'email': 'john@example.com',\n    'phone': '9999999999',\n    'surl': 'https://yourapp.com/payment/success',  # success URL\n    'furl': 'https://yourapp.com/payment/failure',  # failure URL\n    'hash': hash_val,\n}\n# POST this form data to BASE_URL/_payment\nprint('POST to:', f'{BASE_URL}/_payment')\nprint('Params:', payment_data)","lang":"python","description":"PayU India — manual hash generation and payment form data preparation.","tag":"stale","tag_description":"widespread failures or data too old to trust","last_tested":"2026-04-23","results":[{"runtime":"python:3.10-alpine","exit_code":1},{"runtime":"python:3.10-slim","exit_code":1},{"runtime":"python:3.11-alpine","exit_code":1},{"runtime":"python:3.11-slim","exit_code":1},{"runtime":"python:3.12-alpine","exit_code":1},{"runtime":"python:3.12-slim","exit_code":1},{"runtime":"python:3.13-alpine","exit_code":1},{"runtime":"python:3.13-slim","exit_code":1},{"runtime":"python:3.9-alpine","exit_code":1},{"runtime":"python:3.9-slim","exit_code":1}]},"compatibility":{"tag":"stale","tag_description":"widespread failures or data too old to trust","last_tested":"2026-05-19","installed_version":null,"pypi_latest":"1.3.0","is_stale":null,"summary":{"python_range":"3.10–3.9","success_rate":0,"avg_install_s":null,"avg_import_s":null,"wheel_type":null},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.4,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.4,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.3,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.3,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.7,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"git+https://github.com/payu-india/web-sdk-python.git","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null}]}}