1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
//!# MPESA Services
//! Using the builder pattern in this to procedurally build Mpesa service specific payloads which are
//! ultimately consumed and the request sent by calling the `send` method.
//! Some of the builder methods for certain services are optional with default values standing in
//! their place when the builder gets consumed
//!
//! Here are the currently available services:
//! 1. [Account Balance](https://developer.safaricom.co.ke/docs#account-balance-api)
//! 2. [B2B](https://developer.safaricom.co.ke/docs#b2b-api)
//! 3. [B2C](https://developer.safaricom.co.ke/docs?shell#b2c-api)
//! 4. [C2B Register](https://developer.safaricom.co.ke/docs?shell#c2b-api)
//! 5. [C2B Simulate](https://developer.safaricom.co.ke/docs#account-balance-api)
//! 6. [Mpesa Express/ STK Push](https://developer.safaricom.co.ke/docs#lipa-na-m-pesa-online-payment)
//! 7. [Transaction Reversal](https://developer.safaricom.co.ke/docs#reversal)
//! 8. [Bill Manager](https://developer.safaricom.co.ke/APIs/BillManager)
//! 9. [Transaction Status](https://developer.safaricom.co.ke/docs#transaction-status)
//! 10. [Dynamic QR](https://developer.safaricom.co.ke/APIs/DynamicQRCode)
mod account_balance;
mod b2b;
mod b2c;
mod bill_manager;
mod c2b_register;
mod c2b_simulate;
mod dynamic_qr;
mod express_request;
mod transaction_reversal;
mod transaction_status;
#[cfg(feature = "account_balance")]
pub use account_balance::{AccountBalanceBuilder, AccountBalanceResponse};
#[cfg(feature = "b2b")]
pub use b2b::{B2bBuilder, B2bResponse};
#[cfg(feature = "b2c")]
pub use b2c::{B2cBuilder, B2cResponse};
#[cfg(feature = "bill_manager")]
pub use bill_manager::*;
#[cfg(feature = "c2b_register")]
pub use c2b_register::{C2bRegisterBuilder, C2bRegisterResponse};
#[cfg(feature = "c2b_simulate")]
pub use c2b_simulate::{C2bSimulateBuilder, C2bSimulateResponse};
#[cfg(feature = "dynamic_qr")]
pub use dynamic_qr::{DynamicQR, DynamicQRBuilder, DynamicQRRequest, DynamicQRResponse};
#[cfg(feature = "express_request")]
pub use express_request::{MpesaExpressRequestBuilder, MpesaExpressRequestResponse};
#[cfg(feature = "transaction_reversal")]
pub use transaction_reversal::{TransactionReversalBuilder, TransactionReversalResponse};
#[cfg(feature = "transaction_status")]
pub use transaction_status::{TransactionStatusBuilder, TransactionStatusResponse};