Struct PayoutsAPI

Source
pub struct PayoutsAPI { /* private fields */ }
Expand description

PayoutsAPI struct implements methods for facilitating: Sending of funds to different recipients programatically.

// Load .env file
dotenv().ok();

let intasend_public_key = env::var("INTASEND_PUBLIC_KEY").expect("INTASEND_PUBLIC_KEY must be set");
let intasend_secret_key = env::var("INTASEND_SECRET_KEY").expect("INTASEND_SECRET_KEY must be set");

// Intasend Client
let intasend = Intasend::new(
   intasend_public_key,
   intasend_secret_key,
    true,
);

// PayoutsAPI
let payout: Payouts = intasend.payout();

Implementations§

Source§

impl PayoutsAPI

Source

pub async fn initiate(&self, payload: PayoutRequest) -> Result<Payout>

The initiate method initiates the API requests to IntaSend’s Payouts (Send Money) API. This depends on the payload struct (PayoutRequest) passed into the method as arguments. This method is used under the hood to power all initiated requests depending on PayoutProvider. It returns a Result of Payout.

Source

pub async fn mpesa_b2c(&self, payload: PayoutRequest) -> Result<Payout>

The mpesa_b2c method initates Mpesa B2C payout API requests to IntaSend’s Payouts API. This depends on the payload struct (PayoutRequest) passed into the method as arguments. It returns a Result of Payout.

Source

pub async fn mpesa_b2b(&self, payload: PayoutRequest) -> Result<Payout>

The mpesa_b2b method initates Mpesa B2B payout API requests to IntaSend’s Payouts API. This depends on the payload struct (PayoutRequest) passed into the method as arguments. It returns a Result of Payout.

Source

pub async fn bank(&self, payload: PayoutRequest) -> Result<Payout>

The bank method initates bank payout API requests to IntaSend’s Payouts API. This depends on the payload struct (PayoutRequest) passed into the method as arguments. It returns a Result of Payout.

Source

pub async fn intasend(&self, payload: PayoutRequest) -> Result<Payout>

The intasend method initiates intasend payout API requests to IntaSend’s Payouts API. This depends on the payload struct (PayoutRequest) passed into the method as arguments. It returns a Payout Result.

Source

pub async fn airtime(&self, payload: PayoutRequest) -> Result<Payout>

The airtime method initiates airtime payout API requests to IntaSend’s Payouts API. This depends on the payload struct (PayoutRequest) passed into the method as arguments. It returns a Result of Payout.

Source

pub async fn approve(&self, payload: PayoutApprovalRequest) -> Result<Payout>

The approve method approves the initiated payout API requests to IntaSend’s Payouts API. This depends on the payload struct (PayoutApprovalRequest) passed into the method as arguments. It returns a Result of Payout.

Source

pub async fn status(&self, payload: PayoutStatusRequest) -> Result<Payout>

The status method checks the status of the initiated payout API requests to IntaSend’s Payouts API. This depends on the payload struct (PayoutStatusRequest) passed into the method as arguments. It returns a Result of Payout.

Source

pub async fn cancel(&self, payload: PayoutCancelRequest) -> Result<Payout>

The cancel method cancels the initiated payout API requests to IntaSend’s Payouts API. This depends on the payload struct (PayoutStatusRequest) passed into the method as arguments. It returns a Result of Payout.

Source

pub async fn bank_codes_ke(&self) -> Result<Vec<BankCodes>>

The bank_codes_ke method gets all bank codes from the IntaSend’s API. This depends on the payload struct (PayoutStatusRequest) passed into the method as arguments It returns a Result of Vec of BankCodes

Trait Implementations§

Source§

impl Debug for PayoutsAPI

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for PayoutsAPI

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,