8 个版本

0.3.3 2022 年 6 月 1 日
0.3.2 2022 年 5 月 31 日
0.2.0 2022 年 5 月 28 日
0.1.2 2022 年 5 月 25 日

#5 in #payment-gateway

MIT 许可证

55KB
1K SLoC

Yapay SDK

Crate version on crates.io Crate documentation on docs.rs Crate license

一个开源的、强类型的 Yapay API SDK。

它将尽力引导您并降低错误的可能性,提供正确的 API 接口。

注意

该库仍在开发中,其公共 API 可能会更改。

安装

将以下内容添加到您的 Cargo.toml 文件中

yapay_sdk_rust = "0.1"

用法

客户端使用 YapaySDKBuilder::with_token with_token 方法构建。

use yapay_sdk_rust::{YapaySDK, YapaySDKBuilder};

let yapay_sdk: YapaySDK = YapaySDKBuilder::with_token(env!("YAPAY_ACCOUNT_TOKEN"));

一旦插入令牌,您就可以在 crate::YapaySDK 上调用方法

创建结算链接

您可以使用以下方法轻松检索结算链接。

use std::num::NonZeroU8;

use uuid::Uuid;
use yapay_sdk_rust::{
    CheckoutPreferences, PaymentCreditCard, YapayEnv, YapayProduct, YapaySDKBuilder,
};

#[tokio::main]
async fn async_main() {
    // your token, can come from environment or else
    let yapay_token = "YAPAY_ACCOUNT_TOKEN";
    let yapay_sdk = YapaySDKBuilder::with_token(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.");
}

其他示例

请查看我们仓库中的 tests 文件夹以获取更多示例。

许可证

项目采用宽松的 MIT 许可证。

依赖项

~9–25MB
~397K SLoC