Package: paddle-client
Paddle ClientA python (3.5+) wrapper around thePaddle.com APIIf you are looking at integrating Paddle with Django check outdj-paddleThe full documentation is available at:https://paddle-client.readthedocs.ioNote: Several of the Paddle Endpoints are currently not working as expected. SeeFailing endpointsbelow.Quick startInstallationpipinstallpaddle-clientBasic UsageTo use the Paddle API you will need a Paddle Vendor ID and API key which can be found onPaddle's authentication pagefrompaddleimportPaddleClientpaddle=PaddleClient(vendor_id=12345,api_key='myapikey')paddle.list_products()Ifvendor_idandapi_keyare not passed through when initialising Paddle will fall back and try and use environmental variables calledPADDLE_VENDOR_IDandPADDLE_API_KEYexportPADDLE_VENDOR_ID=12345exportPADDLE_API_KEY="myapikey"frompaddleimportPaddleClientpaddle=PaddleClient()paddle.list_products()Paddle sandbox environmentThePaddle sandbox environmentis a separate Paddle environment which can be used for development and testing. You are required to create a new account in this environment, different to your production account.Once you have this account setup and configured you can user the sandbox account by passingsandbox=Truewhen initialising the Paddle Client. This will send all API calls to the Paddle sandbox URLs instead of the production URLsfrompaddleimportPaddleClientpaddle=PaddleClient(vendor_id=12345,api_key='myapikey',sandbox=True)It is also possible to turn the sandbox environment on using an environmental variable calledPADDLE_SANDBOX:exportPADDLE_SANDBOX="true"frompaddleimportPaddleClientpaddle=PaddleClient(vendor_id=12345,api_key='myapikey')DocumentationThe full documentation is available on Read the Docs:https://paddle-client.readthedocs.ioContributingAll contributions are welcome and appreciated. Please seeCONTRIBUTING.mdfor more details including details on how to run tests etc.Paddle EndpointsThe below endpoints from thePaddle API Referencehave been implementedFor full details see theAPI Reference in the docs. This includes details on parameters and return types for all the different methods as well as other helper methods around the Paddle.com API.SeeUsagebelow for quick examples.Checkout APIGet Order DetailsGet User HistoryGet PricesProduct APIList CouponsCreate CouponDelete CouponUpdate CouponList ProductsList TransactionsRefund PaymentSubscription APIList PlansCreate PlanList Subscription UsersCancel SubscriptionUpdate SubscriptionAdd ModifierDelete ModifierList ModifiersList PaymentsReschedule PaymentCreate One-off ChargeAlert APIGet Webhook HistoryUsageSee theAPI Reference in the docsfor full usage with param are return details.# Checkout APIpaddle.get_order_details(checkout_id='aaaa-bbbb-cccc-1234')paddle.get_user_history(email='test@example.com')paddle.get_prices(product_ids=[1234])# Product APIpaddle.list_coupons(product_id=1234)paddle.create_coupon(coupon_type='product',discount_type='percentage',discount_amount=50,allowed_uses=1,recurring=False,currency='USD',product_ids=[1234],coupon_code='50%OFF',description='50% off coupon over $10',expires='2030-01-01 10:00:00',minimum_threshold=10,group='paddle-python',)paddle.delete_coupon(coupon_code='mycoupon',product_id=1234)paddle.update_coupon(coupon_code='mycoupon',new_coupon_code='40%OFF',new_group='paddle-python-test',product_ids=[1234],expires='2030-01-01 10:00:00',allowed_uses=1,currency='USD',minimum_threshold=10,discount_amount=40,recurring=True)paddle.list_products()paddle.list_transactions(entity='subscription',entity_id=1234)paddle.refund_product_payment(order_id=1234,amount=0.01,reason='reason')# Subscription APIpaddle.list_plans()paddle.get_plan(plan=123)paddle.create_plan(plan_name='plan_name',plan_trial_days=14,plan_length=1,plan_type='month',main_currency_code='USD',initial_price_usd=50,recurring_price_usd=50,)paddle.list_subscription_users()paddle.cancel_subscription(subscription_id=1234)paddle.update_subscription(subscription_id=1234,pause=True)paddle.update_subscription(subscription_id=1234,quantity=10.00,currency='USD',recurring_price=10.00,bill_immediately=False,plan_id=123,prorate=True,keep_modifiers=True,passthrough='passthrough',)paddle.pause_subscription(subscription_id=1234)paddle.resume_subscription(subscription_id=1234)paddle.add_modifier(subscription_id=1234,modifier_amount=10.5)paddle.delete_modifier(modifier_id=10)paddle.list_modifiers()paddle.list_subscription_payments()paddle.reschedule_subscription_payment(payment_id=4567,date='2030-01-01')paddle.create_one_off_charge(subscription_id=1234,amount=0.0,charge_name="Add X on top of subscription")# Alert APIpaddle.get_webhook_history()