An open source, strongly-typed SDK for the Yapay API.
It will try to hold your hand and reduce the possibility of errors, providing the correct API surface.
The library is still under development and its public API is subject to change.
Added the following into your Cargo.toml:
toml
yapay_sdk_rust = "0.1"
The client is built using the
YapaySDKBuilder::with_token
with_token
method.
```rust use yapaysdkrust::{YapaySDK, YapaySDKBuilder};
let yapaysdk: YapaySDK = YapaySDKBuilder::withtoken(env!("YAPAYACCOUNTTOKEN"));
```
Once the token is inserted, you can call methods on [crate::YapaySDK
]
You can easily retrieve a checkout link with the method below.
```rust use std::num::NonZeroU8;
use uuid::Uuid; use yapaysdkrust::checkout::CheckoutPreferences; use yapaysdkrust::commontypes::{AsPaymentMethod, PaymentCreditCard, YapayProduct}; use yapaysdk_rust::{YapayEnv, YapaySDKBuilder};
async fn asyncmain() { // your token, can come from environment or else let yapaytoken = "YAPAYACCOUNTTOKEN"; let yapaysdk = YapaySDKBuilder::withtoken(yapay_token);
let product = YapayProduct::new(
"note-100sk".to_string(),
"Notebook Cinza".to_string(),
NonZeroU8::new(1).unwrap(),
2453.50,
);
let order_number = Uuid::new_v4().to_string();
let checkout_preferences = CheckoutPreferences::new(order_number, vec![product])
.expect("Validation failed.")
.set_notification_url("https://your-notifications-url.com")
.expect("Notifications URL failed to validate.")
.set_available_payment_methods(&PaymentCreditCard::payment_methods_all());
let checkout_url = yapay_sdk
.create_checkout_page(YapayEnv::PRODUCTION, checkout_preferences)
.await
.expect("Something went wrong creating the checkout.");
} ```
Check out the tests
folder inside our repository to check for more examples.
Project is licensed under the permissive MIT license.