Crate paypal_rs[−][src]
Expand description
A rust library that wraps the paypal api asynchronously in a strongly typed manner.
Crate: https://crates.io/crates/paypal-rs
Documentation: https://docs.rs/paypal-rs
Currently in early development.
Example
use paypal_rs::{ Client, HeaderParams, Prefer, orders::{OrderPayload, Intent, PurchaseUnit, Amount}, common::Currency, }; #[tokio::main] async fn main() { dotenv::dotenv().ok(); let clientid = std::env::var("PAYPAL_CLIENTID").unwrap(); let secret = std::env::var("PAYPAL_SECRET").unwrap(); let mut client = Client::new(clientid, secret, true); client.get_access_token().await.unwrap(); let order_payload = OrderPayload::new( Intent::Authorize, vec![PurchaseUnit::new(Amount::new(Currency::EUR, "10.0"))], ); let order = client .create_order( order_payload, HeaderParams::default(), ) .await .unwrap(); }
Testing
You need the enviroment variables PAYPAL_CLIENTID and PAYPAL_SECRET to be set.
cargo test
Roadmap
- Orders API - 0.1.0
-
- Create order
-
- Update order
-
- Show order details
-
- Authorize payment for order
-
- Capture payment for order
- Invoicing API - 0.2.0
- Payments API - 0.3.0
- Tracking API - 0.4.0
- Subscriptions API - 0.5.0
- Identity API - 0.6.0
- Disputes API - 0.7.0
- Catalog Products API - 0.8.0
- Partner Referrals API - 0.9.0
- Payouts API - 0.10.0
- Transaction Search API - 0.11.0
- Referenced Payouts API - 0.12.0
- Vault API - 0.13.0
- Webhooks Management API - 0.14.0
- Payment Experience Web Profiles API - 1.0.0
Modules
Common paypal object definitions used by 2 or more APIs
Generated using https://github.com/edg-l/payhelper
Errors created by this crate.
Use the Invoicing API to create, send, and manage invoices. You can also use the API or webhooks to track invoice payments. When you send an invoice to a customer, the invoice moves from draft to payable state. PayPal then emails the customer a link to the invoice on the PayPal website. Customers with a PayPal account can log in and pay the invoice with PayPal. Alternatively, customers can pay as a guest with a debit card or credit card. For more information, see the Invoicing Overview and the Invoicing Integration Guide.
An order represents a payment between two or more parties.
Structs
Represents the access token returned by the OAuth2 authentication.
Stores OAuth2 information.
Represents a client used to interact with the paypal api.
Represents the optional header values used on paypal requests.
Represents the query used in most GET api requests.
Enums
The preferred server response upon successful completion of the request.
Constants
The paypal api endpoint used on a live application.
The paypal api endpoint used on when testing.