GitHub - glim/rest-api-sdk-python
The PayPal REST SDK provides Python APIs to create, process and manage payment.
Installation
Install using pip:
pip install paypalrestsdk
From Github:
pip install git+https://github.com/paypal/rest-api-sdk-python.git
Configuration
import paypalrestsdk paypalrestsdk.configure( mode="sandbox", # sandbox or live client_id="EBWKjlELKMYqRNQ6sYvFo64FtaRLRR5BdHEESmha49TM", client_secret="EO422dn3gQLgDbuwqTjzrFgFtaRLRR5BdHEESmha49TM")
Configure through environment variables:
export PAYPAL_MODE=sandbox # sandbox or live export PAYPAL_CLIENT_ID=EBWKjlELKMYqRNQ6sYvFo64FtaRLRR5BdHEESmha49TM export PAYPAL_CLIENT_SECRET=EO422dn3gQLgDbuwqTjzrFgFtaRLRR5BdHEESmha49TM
Create Payment
import paypalrestsdk import logging logging.basicConfig(level=logging.INFO) paypalrestsdk.configure( mode="sandbox", # sandbox or live client_id="EBWKjlELKMYqRNQ6sYvFo64FtaRLRR5BdHEESmha49TM", client_secret="EO422dn3gQLgDbuwqTjzrFgFtaRLRR5BdHEESmha49TM") payment = paypalrestsdk.Payment({ "intent": "sale", "payer": { "payment_method": "credit_card", "funding_instruments": [{ "credit_card": { "type": "visa", "number": "4417119669820331", "expire_month": "11", "expire_year": "2018", "cvv2": "874", "first_name": "Joe", "last_name": "Shopper" }}]}, "transactions": [{ "item_list": { "items": [{ "name": "item", "sku": "item", "price": "1.00", "currency": "USD", "quantity": 1 }]}, "amount": { "total": "1.00", "currency": "USD" }, "description": "This is the payment transaction description." }]}) if payment.create(): print("Payment created successfully") else: print(payment.error)
Get Payment details
# Fetch Payment payment = paypalrestsdk.Payment.find("PAY-57363176S1057143SKE2HO3A") # Get List of Payments payment_history = paypalrestsdk.Payment.all({"count": 10}) payment_history.payments
Execute Payment
Only for Payment with payment_method as "paypal"
payment = paypalrestsdk.Payment.find("PAY-57363176S1057143SKE2HO3A") if payment.execute({"payer_id": "DUFRQ8GWYMJXC"}): print("Payment execute successfully") else: print(payment.error) # Error Hash
For more samples github.com/paypal/rest-api-sdk-python/tree/master/samples
OpenID Connect
import paypalrestsdk from paypalrestsdk.openid_connect import Tokeninfo, Userinfo paypalrestsdk.configure({ "openid_client_id": "CLIENT_ID", 'openid_client_secret': "CLIENT_SECRET", 'openid_redirect_uri': "http://example.com" }) # Generate login url login_url = Tokeninfo.authorize_url({ "scope": "openid profile"}) # Create tokeninfo with Authorize code tokeninfo = Tokeninfo.create("Replace with Authorize code") # Refresh tokeninfo tokeninfo = tokeninfo.refresh() # Create tokeninfo with refresh_token tokeninfo = Tokeninfo.create_with_refresh_token("Replace with refresh_token") # Get userinfo userinfo = tokeninfo.userinfo() # Get userinfo with access_token userinfo = Userinfo.get("Replace with access_token") # Generate logout url logout_url = tokeninfo.logout_url()
