Struct TransactionCreate

Source
pub struct TransactionCreate<'a> { /* private fields */ }
Expand description

Request builder for creating a transaction in Paddle.

Implementations§

Source§

impl<'a> TransactionCreate<'a>

Source

pub fn new(client: &'a Paddle) -> Self

Source

pub fn include( &mut self, includes: impl IntoIterator<Item = impl Into<String>>, ) -> &mut Self

Include related entities in the response.

§Valid values are:
  • address
  • adjustments
  • adjustments_totals
  • available_payment_methods
  • business
  • customer
  • discount
Source

pub fn append_catalog_item( &mut self, price_id: impl Into<PriceID>, quantity: u32, ) -> &mut Self

Append to the list of items to charge for.

You can charge for items that you’ve added to your catalog by passing the Paddle ID of an existing price entity,

To charge for non-catalog items see append_non_catalog_item.

Source

pub fn append_non_catalog_item( &mut self, price: TransactionItemNonCatalogPrice, quantity: u32, ) -> &mut Self

Append to the list of items to charge for.

You can charge for non-catalog items by passing a TransactionItemNonCatalogPrice object.

Source

pub fn status(&mut self, status: TransactionStatus) -> &mut Self

Status of this transaction. You may set a transaction to billed when creating, or omit to let Paddle set the status.

Transactions are created as ready if they have an address_id, customer_id, and items, otherwise they are created as draft.

Marking as billed when creating is typically used when working with manually-collected transactions as part of an invoicing workflow. Billed transactions cannot be updated, only canceled.

Source

pub fn customer_id(&mut self, customer_id: impl Into<CustomerID>) -> &mut Self

Paddle ID of the customer that this transaction is for.

If omitted, transaction status is draft.

Source

pub fn address_id(&mut self, address_id: impl Into<AddressID>) -> &mut Self

Paddle ID of the address that this transaction is for.

Requires customer_id. If omitted, transaction status is draft.

Source

pub fn business_id(&mut self, business_id: impl Into<BusinessID>) -> &mut Self

Paddle ID of the business that this transaction is for.

Requires customer_id

Source

pub fn custom_data(&mut self, custom_data: HashMap<String, String>) -> &mut Self

Your own structured key-value data.

Source

pub fn currency_code(&mut self, currency_code: CurrencyCode) -> &mut Self

Supported three-letter ISO 4217 currency code. Must be USD, EUR, or GBP if collection_mode is manual.

Source

pub fn collection_mode(&mut self, mode: CollectionMode) -> &mut Self

How payment is collected for this transaction. automatic for checkout, manual for invoices. If omitted, defaults to automatic.

Source

pub fn discount_id(&mut self, discount_id: impl Into<DiscountID>) -> &mut Self

Paddle ID of the discount applied to this transaction.

Source

pub fn billing_details(&mut self, billing_details: BillingDetails) -> &mut Self

Details for invoicing. Required if collection_mode is manual.

Source

pub fn billing_period(&mut self, billing_period: TimePeriod) -> &mut Self

Time period that this transaction is for. Set automatically by Paddle for subscription renewals to describe the period that charges are for.

Source

pub fn checkout_url(&mut self, url: String) -> &mut Self

Paddle Checkout URL for creating or updating an automatically-collected transaction, or when creating or updating a manually-collected transaction where billing_details.enable_checkout is true.

Pass the URL for an approved domain, or null to set to your default payment URL.

Paddle returns a unique payment link composed of the URL passed or your default payment URL + ?_ptxn= and the Paddle ID for this transaction.

Source

pub async fn send(&self) -> Result<SuccessResponse<Transaction>, Error>

Send the request to Paddle and return the response.

Trait Implementations§

Source§

impl<'a> Serialize for TransactionCreate<'a>

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for TransactionCreate<'a>

§

impl<'a> RefUnwindSafe for TransactionCreate<'a>

§

impl<'a> Send for TransactionCreate<'a>

§

impl<'a> Sync for TransactionCreate<'a>

§

impl<'a> Unpin for TransactionCreate<'a>

§

impl<'a> UnwindSafe for TransactionCreate<'a>

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> Same for T

Source§

type Output = T

Should always be Self
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> ErasedDestructor for T
where T: 'static,