Struct mpesa::services::B2cBuilder

source ·
pub struct B2cBuilder<'mpesa, Env: ApiEnvironment> { /* private fields */ }
Expand description

B2C transaction builder struct

Implementations§

source§

impl<'mpesa, Env: ApiEnvironment> B2cBuilder<'mpesa, Env>

source

pub fn new( client: &'mpesa Mpesa<Env>, initiator_name: &'mpesa str ) -> B2cBuilder<'mpesa, Env>

Create a new B2C builder. Requires an initiator_name, the credential/ username used to authenticate the transaction request

source

pub fn command_id(self, command_id: CommandId) -> B2cBuilder<'mpesa, Env>

Adds the CommandId. Defaults to CommandId::BusinessPayment if not explicitly provided.

source

pub fn party_a(self, party_a: &'mpesa str) -> B2cBuilder<'mpesa, Env>

Adds Party A which is a required field Party A should be a paybill number.

Errors

If Party A is invalid or not provided

source

pub fn party_b(self, party_b: &'mpesa str) -> B2cBuilder<'mpesa, Env>

Adds Party B which is a required field Party B should be a mobile number.

Errors

If Party B is invalid or not provided

source

pub fn parties( self, party_a: &'mpesa str, party_b: &'mpesa str ) -> B2cBuilder<'mpesa, Env>

👎Deprecated

Adds Party A and Party B. Both are required fields Party A should be a paybill number while Party B should be a mobile number.

Errors

If either Party A or Party B is invalid or not provided

source

pub fn remarks(self, remarks: &'mpesa str) -> B2cBuilder<'mpesa, Env>

Adds Remarks. This is an optional field, will default to “None” if not explicitly provided

source

pub fn occasion(self, occasion: &'mpesa str) -> B2cBuilder<'mpesa, Env>

Adds Occasion. This is an optional field, will default to an empty string

source

pub fn amount<Number: Into<f64>>( self, amount: Number ) -> B2cBuilder<'mpesa, Env>

Adds an amount to the request This is a required field

source

pub fn timeout_url(self, timeout_url: &'mpesa str) -> B2cBuilder<'mpesa, Env>

Error

If QueueTimeoutUrl is invalid or not provided

source

pub fn result_url(self, result_url: &'mpesa str) -> B2cBuilder<'mpesa, Env>

Error

If ResultUrl is invalid or not provided

source

pub fn urls( self, timeout_url: &'mpesa str, result_url: &'mpesa str ) -> B2cBuilder<'mpesa, Env>

👎Deprecated

Adds QueueTimeoutUrl and ResultUrl. This is a required field

Error

If either QueueTimeoutUrl and ResultUrl is invalid or not provided

source

pub async fn send(self) -> MpesaResult<B2cResponse>

B2C API

Sends b2c payment request.

This API enables Business to Customer (B2C) transactions between a company and customers who are the end-users of its products or services. Use of this API requires a valid and verified B2C M-Pesa Short code. See more here

A successful request returns a B2cResponse type

Errors

Returns a MpesaError on failure.

Trait Implementations§

source§

impl<'mpesa, Env: Debug + ApiEnvironment> Debug for B2cBuilder<'mpesa, Env>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'mpesa, Env> !RefUnwindSafe for B2cBuilder<'mpesa, Env>

§

impl<'mpesa, Env> !Send for B2cBuilder<'mpesa, Env>

§

impl<'mpesa, Env> !Sync for B2cBuilder<'mpesa, Env>

§

impl<'mpesa, Env> Unpin for B2cBuilder<'mpesa, Env>

§

impl<'mpesa, Env> !UnwindSafe for B2cBuilder<'mpesa, Env>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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