open-payments 0.1.2

Open Payments Rust SDK library with types, HTTP client and signature utilities
Documentation
use open_payments::client::AuthenticatedResources;
use open_payments::snippets::utils::{create_authenticated_client, get_env_var, load_env};
use open_payments::types::auth::ContinueResponse;

#[tokio::main]
async fn main() -> open_payments::client::Result<()> {
    load_env()?;

    let client = create_authenticated_client()?;

    let gnap_token = get_env_var("CONTINUE_ACCESS_TOKEN")?;
    let continue_uri = get_env_var("CONTINUE_URI")?;
    let interact_ref = get_env_var("INTERACT_REF")?;

    let response = client
        .grant()
        .continue_grant(&continue_uri, &interact_ref, Some(&gnap_token))
        .await?;

    match response {
        ContinueResponse::WithToken { access_token, .. } => {
            println!("Received access token: {:#?}", access_token.value);
            println!(
                "Received access token manage URL: {:#?}",
                access_token.manage
            );
        }
        ContinueResponse::Pending { .. } => {
            println!("Pending");
        }
    }
    Ok(())
}