Crates.io | swish-api |
lib.rs | swish-api |
version | 0.1.0 |
source | src |
created_at | 2018-12-02 18:59:18.554031 |
updated_at | 2018-12-02 18:59:18.554031 |
description | API bindings for the Swish Payment API |
homepage | |
repository | https://github.com/drager/swish |
max_upload_size | |
id | 99715 |
size | 46,127 |
Rust API bindings for the Swish API. Built using hyper and tokio.
A simple usage example:
extern crate swish;
extern crate tokio_core;
use swish::{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 root_cert_path = current_dir.join("./root_cert.der");
let swish_client = cert_path
.into_os_string()
.to_str()
.and_then(|cert_path_string| {
root_cert_path
.into_os_string()
.to_str()
.map(|root_cert_path_string| {
client::SwishClient::new(
"1231181189",
cert_path_string,
root_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<client::CreatedPayment, error::SwishClientError> = core.run(payment);
}
Please file feature requests and bugs at the issue tracker.
Licensed under either of: