Expand description
A rust library that wraps the paypal api asynchronously in a strongly typed manner.
If there is a missing endpoint that you need, you may try to implement the Endpoint and pass it to Client::execute
Currently in early development.
§Example
use paypal_rs::{
Client,
api::orders::*,
data::orders::*,
data::common::Currency,
PaypalEnv,
};
#[tokio::main]
async fn main() {
dotenvy::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, PaypalEnv::Sandbox);
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
-
- Generate Invoice number
-
- Create Draft Invoice
-
- Show Invoice Details (Get Invoice)
-
- List Invoices
-
- Delete Invoice
-
- Update Invoice
-
- Cancel Invoice
-
- Send Invoice
-
- Send Invoice Reminder
-
- List Templates
-
- Create Template
-
- Delete Template
-
- Fully Update Template
-
- Show Template Template
- 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.