2个稳定版本
1.0.1 | 2023年9月4日 |
---|
#1597 in Web编程
20KB
198 行
Culqi-Rust
我们的官方Rust库,兼容Culqi API v2.0,通过简单的配置步骤,你可以实现使用借记卡和信用卡、Yape、PagoEfectivo、移动钱包和Cuotéalo进行支付。
我们的库允许你捕获向Culqi API发送的HTTP请求的status_code
,以及包含响应体的response
。
当前版本 | Culqi API |
---|---|
1.0.0 (15-08-2023) | v2 API参考 |
要求
- Rust 1.6.2+
请记住,要获取你的密钥,您需要进入CulqiPanel > 开发 > API密钥。
请记住,凭据将通过你在注册过程中提供的电子邮件发送。
- 要加密有效负载,您需要通过进入CulqiPanel > 开发 > RSA密钥来生成一个id和RSA密钥。
安装
在你的Cargo.toml
文件中添加以下依赖项
[dependencies]
culqi = "0.0.1"
配置
为了开始向Culqi API发送请求,你需要配置你的公钥(pk)和私钥(sk)。为了启用有效负载加密,你需要配置你的rsa_id和rsa_public_key。
const skey : &'static str = "sk_live_34a07dcb6d4c7e39";
const pkey : &'static str = "pk_live_889113cd74ecfc55";
加密有效负载
要加密有效负载,你需要创建一个RSA id和RSA密钥,为了做到这一点,你需要进入你的面板,并点击左侧导航栏中的“开发 / RSA密钥”部分。
然后,在你的后端中声明RSA id和RSA密钥的变量,并在库的函数中传递它们。
示例
const rsaid : &'static str = "508fc232-0a9d-4fc0-a192-364a0b782b89";
const CULQI_RSA_KEY: &'static str = "-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYp0451xITpczkBrl5Goxkh7m1
oynj8eDHypIn7HmbyoNJd8cS4OsT850hIDBwYmFuwmxF1YAJS8Cd2nes7fjCHh+7
oNqgNKxM2P2NLaeo4Uz6n9Lu4KKSxTiIT7BHiSryC0+Dic91XLH7ZTzrfryxigsc
+ZNndv0fQLOW2i6OhwIDAQAB
-----END PUBLIC KEY-----";
let body = "{\"card_number\":\"4111111111111111\",\"cvv\":\"123\",\"expiration_month\":\"09\",\"expiration_year\":\"2025\",\"email\":\"[email protected]\",\"metadata\":{\"coment\":\"Tarjeta de prueba alexis\"}}";
match createEncrypt(body, "tokens") {
Ok((response_text, status_code)) => {
println!("Status Code: {}", status_code);
println!("Response Text: {}", response_text);
}
Err(err) => println!("Error: {:?}", err),
}
服务
创建令牌
在创建Cargo或Card之前,你需要创建一个token
令牌。建议使用Culqi Checkout v4或Culqi JS v4来生成'tokens',因为将卡片数据直接从客户的设备发送到Culqi的服务器非常重要,以避免泄露敏感的信用卡/借记卡数据。
请记住,当你直接与API Token交互时,你需要遵守PCI DSS 3.2规范。因此,我们要求你填写SAQ-D表格并将其发送到Culqi的风险收件箱。
statusCode, res, err := culqi.CreateToken(jsonData)
创建交易
创建一个账单意味着从一张卡上收取销售款项。为了这样做,你之前应该生成一个 token
并将其作为参数 source_id 发送。
账单可以通过 API 反馈 创建。
match create(body, "charges") {
Ok((response_text, status_code)) => {
println!("Status Code: {}", status_code);
println!("Response Text: {}", response_text);
}
Err(err) => println!("Error: {:?}", err),
}
创建退款
您可以通过 API 和 CulqiPanel 免费请求客户的购买退款(部分或全部)。
退款可以通过 API 反馈 创建。
match create(body, "charges") {
Ok((response_text, status_code)) => {
println!("Status Code: {}", status_code);
println!("Response Text: {}", response_text);
}
Err(err) => println!("Error: {:?}", err),
}
创建一个客户(customer)
客户 是一种服务,允许您保存客户信息。这是生成一个 卡 的必要步骤。
客户可以通过 客户 API 创建。
match create(body, "charges") {
Ok((response_text, status_code)) => {
println!("Status Code: {}", status_code);
println!("Response Text: {}", response_text);
}
Err(err) => println!("Error: {:?}", err),
}
创建一张卡(card)
卡 是一种服务,允许您保存客户的信用卡或借记卡信息,以便稍后进行一键或定期(后续付款无需客户再次输入卡信息)的账单。
卡可以通过 卡 API 创建。
match create(body, "charges") {
Ok((response_text, status_code)) => {
println!("Status Code: {}", status_code);
println!("Response Text: {}", response_text);
}
Err(err) => println!("Error: {:?}", err),
}
创建一个计划
计划是一种服务,允许您定义希望多久向客户收取一次款项。
计划定义了订阅的行为。计划可以通过 计划 API 或从 CulqiPanel 创建。
match create(body, "charges") {
Ok((response_text, status_code)) => {
println!("Status Code: {}", status_code);
println!("Response Text: {}", response_text);
}
Err(err) => println!("Error: {:?}", err),
}
创建一个订阅(subscription)
订阅是一种服务,将客户的卡与商家设定的计划关联起来。
订阅可以通过 订阅 API 创建。
match create(body, "charges") {
Ok((response_text, status_code)) => {
println!("Status Code: {}", status_code);
println!("Response Text: {}", response_text);
}
Err(err) => println!("Error: {:?}", err),
}
创建一个订单
这是一个服务,允许您为潜在购买生成一个支付订单。订单包含销售所需的信息,并由 PagoEfectivo 系统用于执行延迟支付。
订单可以通过 订单 API 创建。
match create(body, "charges") {
Ok((response_text, status_code)) => {
println!("Status Code: {}", status_code);
println!("Response Text: {}", response_text);
}
Err(err) => println!("Error: {:?}", err),
}
测试
$ cargo test
文档
变更日志
本库所有版本的更改均列在 变更日志 中。
作者
Culqi 团队
许可
culqi-python 的源代码基于 MIT 许可证分发,请参阅 LICENSE 文件。
依赖
~17–31MB
~526K SLoC