The PayPal REST SDK provides Python APIs to create, process and manage payments.
Project description
Continuous integration status:
PyPI status:
The PayPal REST SDK provides Python APIs to create, process and manage payment.
Installation
Install using easy_install:
easy_install paypalrestsdk
Install using pip:
pip install paypalrestsdk
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
Configure through a non-global API object
import paypalrestsdk
my_api = paypalrestsdk.Api({
'mode': 'sandbox',
'client_id': '...',
'client_secret': '...'})
payment = paypalrestsdk.Payment({...}, api=my_api)
Create Payment
import paypalrestsdk
import logging
# Include Headers and Content by setting logging level to DEBUG, particularly for
# Paypal-Debug-Id if requesting PayPal Merchant Technical Services for support
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
OpenID Connect
import paypalrestsdk
from paypalrestsdk.openid_connect import Tokeninfo, Userinfo
paypalrestsdk.configure({
"mode": "sandbox",
"client_id": "CLIENT_ID",
"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()
Future Payments
Check out this sample for executing future payments for a customer who has granted consent on a mobile device.
Invoicing
Create, send and manage invoices.
Create an invoice
from paypalrestsdk import Invoice
invoice = Invoice({
'merchant_info': {
"email": "default@merchant.com",
},
"billing_info": [{
"email": "example@example.com"
}],
"items": [{
"name": "Widgets",
"quantity": 20,
"unit_price": {
"currency": "USD",
"value": 2
}
}],
})
response = invoice.create()
print response
Check out more samples. The Invoicing REST APIs are fully supported by the sdk.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file paypalrestsdk-1.1.0.tar.gz.
File metadata
- Download URL: paypalrestsdk-1.1.0.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3453bcc28a47df50e066d0553d01f84ffe915f6335863f24f7ac8358997f8f6b
|
|
| MD5 |
3f78c68dcebc5ffcea596f6c5478e081
|
|
| BLAKE2b-256 |
d6e4d7c63f34b02729f5b2b12aaa0d028a0479f242eb23321c44634d19351a5f
|