#tinkoff #api #open-source #bank #acquiring

tinkoffpay

简单的 tinkoff 集成(卖家收到支付表单的链接并将买家重定向到该链接);注意:使用回调方法

4个稳定版本

1.0.3 2022年10月11日
1.0.1 2022年10月7日

#821 in 异步

Apache-2.0

185KB
323

TinkoffPay-rs

⭐️ 请给我一个 star ⭐️

这将激励我继续维护和添加 futures

Github top language Github language count Repository size License Crates.io

关于   |   技术   |   要求   |   开始   |   使用   |   许可 & 屏幕截图   |   作者


🎯 关于

简单的 tinkoff 集成(卖家收到支付表单的链接并将买家重定向到该链接);注意:使用回调方法

🚀 技术

本项目使用了以下工具

✅ 要求

在开始 🏁 之前,您需要安装 GitRust

🏁 开始

# Clone this project
$ git clone https://github.com/KM8Oz/tinkoffpay-rs

# Access
$ cd tinkoffpay-rs

# Install dependencies
$ cargo install --path=.

# Run the project
$ cargo test request_demo_url -- --nocapture 

# The server will initialize in the <https://127.0.0.1:3000>

✅ 使用

    use crate::{Payments, Receipt, Taxation, TaxNDK};
// should be an async fn 
    let payment_url = Payments::default()
        .build(
            "TinkoffBankTest",
            "https://bulkus.ru/pay_back", 
            //  Success or Fail URL (GET) =  [your callback url]?order_id=[orderid]
            //  payment catch url (POST) has those params:
            //           Json(Object {
            //          "Amount": Number(10000),
            //          "CardId": Number(130550983),
            //          "ErrorCode": String("0"),
            //          "ExpDate": String("1122"),
            //          "OrderId": String("278600"),
            //          "Pan": String("430000******0777"),
            //          "PaymentId": Number(1866123460),
            //          "Status": String("CONFIRMED"),
            //          "Success": Bool(true),
            //          "TerminalKey": String("1639044907391DEMO"),
            //          "Token": String("711cd4fa0df2afa8a69a56884e9d902eb882c9a01af56498fc6bfdefaf9eef8d")
            //          })
            "210950", 
            "Подарочная карта на 1400.00 рублей")
        .set_amount(500) // in ruble
        .set_customer("+71234567890", "[email protected]")
        .set_receipt(
            Receipt::default()
            .build(
                "[email protected]", 
                "+71234567890", 
                "[email protected]", 
                Taxation::OSN
            )
            .add_item(
                "Наименование товара 1", // name
                1, // quantity
                100, // in ruble
                TaxNDK::None
            )
            .add_item(
                "Наименование товара 2", // name
                2, // quantity
                200, // in ruble
                TaxNDK::None
            )
        )
        .to_url().await;
        match payment_url.clone() {
            Ok(m) => {
                println!("payment url: {:?}", m);
            },
            Err(err) => {
                println!("payment error: {:?}", err);
            }
        }

📝 许可证

本项目采用 MIT 许可。更多详细信息,请参阅 LICENSE 文件。

@KM8Oz   用 ❤️ 制作

TinkoffPay-rs

 

  回到顶部

依赖

~6–17MB
~229K SLoC