Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/drager/swish
Rust API bindings for the Swish API. https://developer.getswish.se/merchants/
https://github.com/drager/swish
api-bindings payment rust rust-library swish
Last synced: 2 months ago
JSON representation
Rust API bindings for the Swish API. https://developer.getswish.se/merchants/
- Host: GitHub
- URL: https://github.com/drager/swish
- Owner: drager
- Created: 2018-06-05T14:41:51.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-12-02T19:09:55.000Z (about 6 years ago)
- Last Synced: 2024-10-07T16:06:09.648Z (2 months ago)
- Topics: api-bindings, payment, rust, rust-library, swish
- Language: Rust
- Homepage:
- Size: 40 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-sweden - Rust
README
# Swish
[![Build Status](https://travis-ci.org/drager/swish.svg?branch=master)](https://travis-ci.org/drager/swish)
[![crates.io](https://img.shields.io/crates/v/swish-api.svg)](https://crates.io/crates/swish-api)
[![API docs](https://docs.rs/swish-api/badge.svg)](https://docs.rs/swish-api)
[![MIT/Apache-2.0 licensed](https://img.shields.io/crates/l/swish-api.svg)](https://github.com/drager/swish/tree/master/README.md#license)Rust API bindings for the Swish API.
Built using [hyper](https://github.com/hyperium/hyper/) and [tokio](https://github.com/tokio-rs/tokio).## Usage
A simple usage example:
```rust
extern crate swish_api;
extern crate tokio_core;use swish_api::{client, error};
use tokio_core::reactor::Core;fn main() {
let core = Core::new().unwrap();
let handle = core.handle();
let current_dir = env::current_dir()?;
let cert_path = current_dir.join("./test_cert.p12");let swish_client = cert_path
.into_os_string()
.to_str()
.map(|cert_path_string| {
client::SwishClient::new("1231181189", cert_path_string, "swish", handle)
}).unwrap();let mut payment_params = client::PaymentParams::default();
payment_params.amount = 100.00;
payment_params.payee_alias = "1231181189";
payment_params.payee_payment_reference = Some("0123456789");
payment_params.callback_url = "https://example.com/api/swishcb/paymentrequests";
payment_params.message = Some("Kingston USB Flash Drive 8 GB");let payment = client.create_payment(payment_params);
let payment: Result = core.run(payment);
}
```## Features and bugs
Please file feature requests and bugs at the [issue tracker][tracker].
[tracker]: https://github.com/drager/swish/issues
## License
Licensed under either of:* Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)