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,
api::orders::*,
data::orders::*,
data::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 = OrderPayloadBuilder::default()
.intent(Intent::Authorize)
.purchase_units(vec![PurchaseUnit::new(Amount::new(Currency::EUR, "10.0"))])
.build().unwrap();
let create_order = CreateOrder::new(order);
let _order_created = client
.execute(create_order).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
Re-exports
pub use client::*;
Modules
This module contains the api endpoints.
The paypal api wrapper client, which holds the http request client.
Generated using https://github.com/edg-l/payhelper
This module contains the data structures used in the api endpoints.
This module contains the endpoint trait used to implemented api endpoints.
Errors created by this crate.
Structs
Represents the optional header values used on paypal requests.
Builder for HeaderParams
.
Represents the query used in most GET api requests.
Builder for Query
.
Enums
Error type for HeaderParamsBuilder
Error type for QueryBuilder
Constants
The paypal api endpoint used on a live application.
The paypal api endpoint used on when testing.