{"library":"razorpay","title":"Razorpay Python SDK","description":"Official Python SDK for Razorpay — India's leading payment gateway. Current version: 2.0.1 (Mar 2026). Auth uses API key + secret tuple. All amounts in paise (1 INR = 100 paise) — not rupees. Payment flow: create order server-side → collect payment client-side → verify signature server-side. Signature verification is mandatory — skipping it is a security vulnerability. Test keys start with 'rzp_test_', live keys with 'rzp_live_'.","language":"python","status":"active","last_verified":"Tue May 19","install":{"commands":["pip install razorpay"],"cli":null},"imports":["import razorpay\n\nclient = razorpay.Client(auth=('rzp_test_KEY', 'SECRET'))\n\n# Amount MUST be in paise — 500 INR = 50000 paise\norder = client.order.create({\n    'amount': 50000,       # 500 INR in paise\n    'currency': 'INR',\n    'receipt': 'order_rcpt_001',\n    'payment_capture': 1   # auto-capture payment\n})\nprint(order['id'])  # pass this to frontend","import razorpay\n\nclient = razorpay.Client(auth=('rzp_test_KEY', 'SECRET'))\n\n# After frontend payment — MUST verify signature\nparams = {\n    'razorpay_order_id': order_id,      # from order creation\n    'razorpay_payment_id': payment_id,  # from frontend callback\n    'razorpay_signature': signature     # from frontend callback\n}\n\ntry:\n    client.utility.verify_payment_signature(params)\n    # Signature valid — payment confirmed\n    print('Payment verified')\nexcept razorpay.errors.SignatureVerificationError:\n    # Signature invalid — do NOT fulfill order\n    print('Payment verification failed')"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"# pip install razorpay\nimport razorpay\n\n# Use test keys from dashboard.razorpay.com\nclient = razorpay.Client(auth=('rzp_test_YOUR_KEY', 'YOUR_SECRET'))\nclient.enable_retry(True)  # retry on transient failures\n\n# Step 1: Create order server-side\norder = client.order.create({\n    'amount': 50000,    # 500 INR in paise\n    'currency': 'INR',\n    'receipt': 'receipt_001',\n    'notes': {\n        'product': 'Widget',\n        'user_id': '123'\n    }\n})\nprint('Order ID:', order['id'])\n# Pass order['id'], key_id, amount to frontend Razorpay checkout\n\n# Step 2: After frontend payment, verify signature\nparams = {\n    'razorpay_order_id': order['id'],\n    'razorpay_payment_id': 'pay_XXXX',   # from frontend\n    'razorpay_signature': 'SIG_XXXX'     # from frontend\n}\ntry:\n    client.utility.verify_payment_signature(params)\n    print('Payment confirmed')\nexcept razorpay.errors.SignatureVerificationError:\n    print('Invalid signature — reject payment')\n\n# Fetch payment details\npayment = client.payment.fetch('pay_XXXX')\nprint(payment['status'], payment['amount'])\n\n# Refund\nrefund = client.payment.refund('pay_XXXX', {'amount': 50000})\nprint(refund['id'])","lang":"python","description":"Razorpay Python SDK — order creation, signature verification, and refund.","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":"verified","tag_description":"installs cleanly on critical runtimes, fast import, recently tested","last_tested":"2026-05-19","installed_version":"2.0.1","pypi_latest":"2.0.1","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":2.2,"avg_import_s":0.61,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"razorpay","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.56,"mem_mb":10.1,"disk_size":"21.8M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"razorpay","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.59,"mem_mb":9.9,"disk_size":"21.8M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"razorpay","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.1,"import_time_s":0.41,"mem_mb":10.1,"disk_size":"22M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"razorpay","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.42,"mem_mb":9.9,"disk_size":"22M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"razorpay","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.76,"mem_mb":11.2,"disk_size":"23.9M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"razorpay","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.78,"mem_mb":11.1,"disk_size":"23.9M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"razorpay","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.3,"import_time_s":0.63,"mem_mb":11.2,"disk_size":"24M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"razorpay","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.63,"mem_mb":11.1,"disk_size":"24M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"razorpay","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.66,"mem_mb":11.6,"disk_size":"15.7M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"razorpay","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.7,"mem_mb":11.6,"disk_size":"15.6M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"razorpay","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2,"import_time_s":0.7,"mem_mb":11.6,"disk_size":"16M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"razorpay","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.69,"mem_mb":11.6,"disk_size":"16M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"razorpay","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.65,"mem_mb":12,"disk_size":"15.4M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"razorpay","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.67,"mem_mb":11.9,"disk_size":"15.3M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"razorpay","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.9,"import_time_s":0.66,"mem_mb":12,"disk_size":"16M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"razorpay","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.67,"mem_mb":11.9,"disk_size":"16M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"razorpay","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.53,"mem_mb":9.7,"disk_size":"21.0M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"razorpay","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.54,"mem_mb":9.7,"disk_size":"21.0M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"razorpay","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.8,"import_time_s":0.53,"mem_mb":9.7,"disk_size":"22M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"razorpay","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.47,"mem_mb":9.7,"disk_size":"22M"}]}}