pub struct TransactionReversalBuilder<'mpesa, Env: ApiEnvironment> { /* private fields */ }

Implementations§

source§

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

source

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

Creates new TransactionReversalBuilder

source

pub fn command_id(self, command_id: CommandId) -> Self

Adds CommandId. Defaults to CommandId::TransactionReversal if no value explicitly passed

Errors

If CommandId is not valid

source

pub fn transaction_id(self, transaction_id: &'mpesa str) -> Self

Add the Mpesa Transaction ID of the transaction which you wish to reverse

This is a required field.

source

pub fn receiver_party(self, receiver_party: &'mpesa str) -> Self

Organization receiving the transaction

This is required field

source

pub fn receiver_identifier_type( self, receiver_identifier_type: IdentifierTypes ) -> Self

Type of organization receiving the transaction

This is an optional field, will default to IdentifierTypes::ShortCode

source

pub fn result_url(self, result_url: &'mpesa str) -> Self

Error

If ResultUrl is invalid or not provided

source

pub fn timeout_url(self, timeout_url: &'mpesa str) -> Self

Adds QueueTimeoutUrl and ResultUrl. This is a required field

Error

If either QueueTimeoutUrl and ResultUrl is invalid or not provided

source

pub fn remarks(self, remarks: &'mpesa str) -> Self

Comments that are sent along with the transaction.

This is an optiona field; defaults to “None”

source

pub fn occasion(self, occasion: &'mpesa str) -> Self

Adds any additional information to be associated with the transaction.

This is an optional Parameter, defaults to “None”

source

pub fn amount<Number: Into<f64>>(self, amount: Number) -> Self

Adds an amount to the request

This is a required field

source

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

Transaction Reversal API

Requests for transaction reversal

This API enables reversal of a B2B, B2C or C2B M-Pesa transaction Required parameters:

transaction_id: This is the Mpesa Transaction ID of the transaction which you wish to reverse

amount : The amount transacted in the transaction to be reversed , down to the cent

receiver_party: Your organization’s short code.

See more from the Safaricom API docs here

A successful request returns a TransactionReversalResponse type

Errors

Returns a MpesaError on failure.

Trait Implementations§

source§

impl<'mpesa, Env: Debug + ApiEnvironment> Debug for TransactionReversalBuilder<'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 TransactionReversalBuilder<'mpesa, Env>

§

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

§

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

§

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

§

impl<'mpesa, Env> !UnwindSafe for TransactionReversalBuilder<'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