{"library":"phonepe_sdk","title":"PhonePe Payment Gateway Python SDK","description":"Official PhonePe Payment Gateway Python SDK. NOT on PyPI — must install from PhonePe's private registry using a special pip command. TWO packages cause confusion: 'phonepe' on PyPI (1.0.1) is a community wrapper using old v1 API — NOT the official SDK. Official SDK is 'phonepe_sdk' from phonepe.mycloudrepo.io. Amount in paise (1 INR = 100 paise). Client must be initialized only ONCE — reinitializing raises PhonePeException. Mandatory status check polling after payment.","language":"python","status":"active","last_verified":"Tue May 19","install":{"commands":["pip install --index-url https://phonepe.mycloudrepo.io/public/repositories/phonepe-pg-sdk-python --extra-index-url https://pypi.org/simple phonepe_sdk"],"cli":null},"imports":["from phonepe.sdk.pg.payments.v2.standard_checkout_client import StandardCheckoutClient\nfrom phonepe.sdk.pg.payments.v2.models.request.standard_checkout_pay_request import StandardCheckoutPayRequest\nfrom phonepe.sdk.pg.env import Env\nimport uuid\n\n# Initialize ONCE — reinitializing raises PhonePeException\nclient = StandardCheckoutClient(\n    client_id='<client_id>',\n    client_secret='<client_secret>',\n    client_version=1,\n    env=Env.SANDBOX  # or Env.PRODUCTION\n)\n\n# Create payment\norder_id = str(uuid.uuid4())\nrequest = StandardCheckoutPayRequest.build_request(\n    merchant_order_id=order_id,\n    amount=10000,  # 100 INR in paise\n    redirect_url='https://yourapp.com/callback'\n)\nresponse = client.pay(request)\nprint(response.redirect_url)  # redirect user here"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"# Install from PhonePe registry (NOT PyPI):\n# pip install --index-url https://phonepe.mycloudrepo.io/public/repositories/phonepe-pg-sdk-python --extra-index-url https://pypi.org/simple phonepe_sdk\n\nfrom phonepe.sdk.pg.payments.v2.standard_checkout_client import StandardCheckoutClient\nfrom phonepe.sdk.pg.payments.v2.models.request.standard_checkout_pay_request import StandardCheckoutPayRequest\nfrom phonepe.sdk.pg.env import Env\nimport uuid\n\n# Initialize once at app startup\nclient = StandardCheckoutClient(\n    client_id='<client_id>',       # from PhonePe dashboard\n    client_secret='<client_secret>',\n    client_version=1,\n    env=Env.SANDBOX\n)\n\n# Create payment\norder_id = str(uuid.uuid4())\nrequest = StandardCheckoutPayRequest.build_request(\n    merchant_order_id=order_id,\n    amount=50000,  # 500 INR in paise\n    redirect_url=f'https://yourapp.com/callback?order_id={order_id}'\n)\nresponse = client.pay(request)\n\n# Redirect user to response.redirect_url\nprint('Redirect to:', response.redirect_url)\n\n# After redirect, check status (mandatory)\nstatus = client.get_order_status(merchant_order_id=order_id)\nprint('Payment state:', status.state)  # COMPLETED, FAILED, PENDING","lang":"python","description":"PhonePe Python SDK — payment creation and status check.","tag":"draft","tag_description":"notable failures across runtimes","last_tested":"2026-04-23","results":[{"runtime":"python:3.10-alpine","exit_code":0},{"runtime":"python:3.10-slim","exit_code":0},{"runtime":"python:3.11-alpine","exit_code":0},{"runtime":"python:3.11-slim","exit_code":0},{"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":0},{"runtime":"python:3.9-slim","exit_code":0}]},"compatibility":{"tag":"draft","tag_description":"notable install failures or slow imports","last_tested":"2026-05-19","installed_version":"2.1.5","pypi_latest":null,"is_stale":null,"summary":{"python_range":"3.10–3.9","success_rate":80,"avg_install_s":10.9,"avg_import_s":1.38,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"--index-url","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":1.41,"mem_mb":17.6,"disk_size":"29.1M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"--index-url","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.44,"mem_mb":17.5,"disk_size":"28.9M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"--index-url","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":10.5,"import_time_s":0.99,"mem_mb":17.6,"disk_size":"30M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"--index-url","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1,"mem_mb":17.5,"disk_size":"29M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"--index-url","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":1.76,"mem_mb":20.8,"disk_size":"31.9M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"--index-url","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.84,"mem_mb":19.9,"disk_size":"31.8M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"--index-url","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":11,"import_time_s":1.56,"mem_mb":20.7,"disk_size":"32M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"--index-url","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.52,"mem_mb":20.7,"disk_size":"32M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"--index-url","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"31.8M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"--index-url","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":"--index-url","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":10.4,"import_time_s":null,"mem_mb":null,"disk_size":"32M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"--index-url","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":"--index-url","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"31.5M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"--index-url","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":"--index-url","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":11.6,"import_time_s":null,"mem_mb":null,"disk_size":"32M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"--index-url","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":"--index-url","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":1.38,"mem_mb":17.2,"disk_size":"28.4M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"--index-url","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.34,"mem_mb":17.2,"disk_size":"28.2M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"--index-url","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":10.9,"import_time_s":1.18,"mem_mb":17.2,"disk_size":"29M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"--index-url","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.18,"mem_mb":17.2,"disk_size":"29M"}]}}