#api-bindings #api #http-api #culqi #v2

culqi_rust

Culqi v2 HTTP API的API绑定

1个稳定版本

1.0.0 2023年8月28日

#5#v2

MIT 许可证

28KB
438

culqi-rust

Packagist Crates.io

Culqi API - Rust

使用方法

将此内容放入你的 Cargo.toml

[dependencies]
culqi = "0.2.1"

并在你的crate根目录中添加此内容

extern crate culqi;

Rocket.rs的示例

生成文档说明

cargo rustdoc --lib

Culqi-Rust

Packagist Crates.io

我们的官方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密钥

alt tag

请记住,凭证将通过您在注册过程中注册的电子邮件发送。

  • 要加密payload,您必须生成一个id和RSA密钥,进入CulqiPanel > 开发 > RSA密钥。

安装

通过“go get”

执行以下命令

go get github.com/culqi/culqi-go
go get "github.com/google/uuid"

手动

克隆存储库或下载源代码。

$ git clone [email protected]:culqi/culqi-go.git

快速开始

导入culqi-go

import (    
    culqi "github.com/culqi/culqi-go"
)

配置

要开始向Culqi API发送请求,您必须配置您的公钥(pk)、私钥(sk)。要启用payload加密,您必须配置您的rsa_id和rsa_public_key。

func main() {
  // 1. llaves
  culqi.Key("pk_test_xxx", "sk_test_xxx")

  encryptiondData = []byte(`{		
		"rsa_public_key": "` + rsa_public_key + `",
		"rsa_id":  "` + rsa_id + `"
	}`)
}

加密payload

要加密payload,您需要创建一个RSA id和RSA密钥,为此,您必须进入您的面板,点击左侧导航栏中的“开发 / RSA密钥”部分。

然后在后端变量中声明RSA id和RSA密钥,并在库的函数中发送。

示例

rsa_public_key := "la llave pública RSA";
rsa_id := "el id de tu llave"

_, res, err := culqi.CreateToken(jsonData, encryptiondData...)

服务

创建令牌

在创建“职位”或“卡片”之前,需要创建一个 token 卡片。建议使用 Culqi Checkout v4Culqi JS v4 生成 'tokens',因为将客户设备的卡片数据直接发送到 Culqi 服务器非常重要,这样可以避免信用卡/借记卡敏感数据的泄露风险。

请记住,当您直接与 API Token 交互时,您需要遵守 PCI DSS 3.2 规范。因此,我们要求您填写 SAQ-D 表格 并将其发送至 Culqi 风险邮箱。

statusCode, res, err := culqi.CreateToken(jsonData)

创建费用

创建费用意味着向卡片收取销售款项。为此,您需要先生成 token 并将其作为参数 source_id 发送。

可以通过 API 反馈 创建费用。

statusCode, res, err := culqi.CreateCharge(json)

创建退款

您可以通过 API 和 CulqiPanel 免费请求客户的购买退款(部分或全部)。

可以通过 API 退款 创建退款。

statusCode, res, err := culqi.CreateRefund(json)

创建客户 (customer)

客户 是一项服务,允许您保存客户的详细信息。这是生成 卡片 的必要步骤。

可以通过 API 客户 创建客户。

statusCode, res, err := culqi.CreateCustomer(json)

创建卡片 (card)

卡片 是一项服务,允许您保存客户的信用卡或借记卡信息,以便稍后进行一键或定期(后续费用,无需客户再次输入卡信息)收费。

可以通过 API 卡片 创建卡片。

statusCode, res, err := culqi.CreateCard(json)

创建计划

计划是一项服务,允许您定义多久收取一次客户的费用。

计划定义了订阅的行为。计划可以通过 API 计划 或从 CulqiPanel 创建。

statusCode, res, err := culqi.CreatePlan(jsonDataPlan)

创建订阅 (suscription)

订阅是一项服务,将客户的卡片与商家设置的特定计划相关联。

可以通过 API 订阅 创建订阅。

statusCode, res, err := culqi.CreateSubscription(jsonData)

创建订单

这是一项服务,允许您为潜在的购买生成支付订单。订单包含销售所需的必要信息,并由 PagoEfectivo 系统用于执行延迟支付。

可以通过 API 订单 创建订单。

statusCode, res, err := culqi.CreateOrder(jsonData)

测试

$ go test -v ./test/ -public_key=pk_test_xxx -secret_key=sk_test_xxx

文档

变更日志

本库所有版本的更改均列在 CHANGELOG 中。

作者

Culqi 团队

许可

culqi-python 的源代码基于 MIT 许可证发布,请参阅 LICENSE 文件。

依赖

~26–43MB
~728K SLoC