BushaPaySuccess class

Payment completed successfully.

Full payment data (amounts, rates, timeline) is available when payment was completed in the web checkout flow. When completed via the Busha app, only paymentId and status are available.

Use hasFullData to check which fields are populated.

Important: Always verify the payment server-side via webhooks. The client result is a UX hint, not the source of truth.

Inheritance

Constructors

BushaPaySuccess({required String paymentId, required String status, String? sourceAmount, String? sourceCurrency, String? targetAmount, String? targetCurrency, String? requestedAmount, String? currency, Map<String, dynamic>? rate, Map<String, dynamic>? merchantInfo, Map<String, dynamic>? timeline, Map<String, dynamic>? rawData})
const
BushaPaySuccess.fromCallback({required String paymentId})
Creates a success result from a callback deep link (Path B — limited data).
factory
BushaPaySuccess.fromCommerceJs(Map<String, dynamic> payload)
Creates a success result from commerce-js onSuccess data (Path A — full data).
factory

Properties

currency → String?
Currency of the requested amount.
final
hasFullData → bool
Whether full payment data is available.
no setter
hashCode → int
The hash code for this object.
no setterinherited
merchantInfo → Map<String, dynamic>?
Merchant information.
final
paymentId → String
Payment request ID (e.g., 'PAYR_EhDmpnPwDSjO'). Always present.
final
rate → Map<String, dynamic>?
Exchange rate details.
final
rawData → Map<String, dynamic>?
Full unmodified response from commerce-js.
final
requestedAmount → String?
Originally requested amount.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
sourceAmount → String?
Amount paid in source currency (e.g., '0.00017798').
final
sourceCurrency → String?
Source currency the user paid with (e.g., 'BTC').
final
status → String
Payment status (e.g., 'completed'). Always present.
final
targetAmount → String?
Amount received in target currency (e.g., '13.42').
final
targetCurrency → String?
Target settlement currency (e.g., 'USDT').
final
timeline → Map<String, dynamic>?
Payment timeline with step-by-step events.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
override

Operators

operator ==(Object other) → bool
The equality operator.
inherited