10 个版本
0.1.9 | 2022年12月14日 |
---|---|
0.1.8 | 2022年12月14日 |
0.1.7 | 2022年11月29日 |
0.1.5 | 2022年10月10日 |
0.1.0 | 2022年9月29日 |
290 在 金融 类别中
每月下载量:36
745KB
9K SLoC
Square API 客户端
Square API 客户端在 Square Web API 上提供了一个 Rust 封装。
Square API
Square API 允许您安全地接受支付,并将您的应用程序与 Square 的第一方产品生态系统集成。为您自己或数百万个 Square 卖家构建功能齐全的商业应用程序。
Square API 参考 按核心业务流程组织:接受支付、管理订单、将商品和库存与 Square POS 同步、创建客户记录、管理业务位置,以及允许 Square 卖家使用您的应用程序。
用法
设置客户端
客户端可以通过以下方式最简单地实例化:
use square_api_client::{config::Configuration, SquareClient};
let client = SquareClient::try_new(Configuration::default()).unwrap();
为了使此操作生效,需要设置一个名为 SQUARE_API_TOKEN
的环境变量,其值为您的 API Token 字符串...否则,在执行实时调用时将会收到 API 错误。
其他默认值包括 Square 环境为 Sandbox
、API 版本为 2022-02-16
、基本 URI 为 /v2
、超时为 60 秒以及无 HTTP 客户端重试。
Square 客户端可以通过以下属性进行一些定制
use square_api_client::{
config::{Configuration, Environment},
http::{client::{HttpClientConfiguration, RetryConfiguration}, Headers},
};
use std::time::Duration;
let mut headers = Headers::default();
headers.set_user_agent("Some User Agent String");
headers.insert("X_SOME_CUSTOM_HEADER", "custom_header_value");
let client = SquareClient::try_new(Configuration {
environment: Environment::Production,
square_version: String::from("2022-09-21"),
http_client_config: HttpClientConfiguration {
timeout: 30,
user_agent: String::from("Some User Agent String"),
default_headers: headers,
retry_configuration: RetryConfiguration {
retries_count: 1,
min_retry_interval: Duration::from_secs(1),
max_retry_interval: Duration::from_secs(30 * 60),
backoff_exponent: 3,
},
},
access_token: String::from("Bearer MY_ACCESS_TOKEN"),
base_uri: String::from("/v2"),
}).unwrap();
使用客户端
一旦您有了 SquareClient
实例,可以通过其属性访问各种 API。例如,要访问 Payments API,您将
use square_api_client::{
config::Configuration,
models::CreatePaymentRequest,
SquareClient,
};
let client = SquareClient::try_new(Configuration::default()).unwrap();
let request = CreatePaymentRequest::default(); // this actually has many fields to fill
let response = client.payments_api.create_payment(request).await.unwrap();
进度
目的是在这个 crate 中封装所有 Square API。到目前为止,它包括一些常用的功能。
已实现的功能
到目前为止,我们在 Rust Square API 客户端中封装了以下 API
待实现
该 crate 的未来版本将实现以下 API
依赖项
~9–21MB
~325K SLoC