BushaPaySuccess.fromCommerceJs constructor

BushaPaySuccess.fromCommerceJs(
  1. Map<String, dynamic> payload
)

Creates a success result from commerce-js onSuccess data (Path A — full data).

Implementation

factory BushaPaySuccess.fromCommerceJs(Map<String, dynamic> payload) {
  final data = payload['data'] as Map<String, dynamic>? ?? payload;

  return BushaPaySuccess(
    paymentId: data['id'] as String? ?? data['reference'] as String? ?? '',
    status: data['status'] as String? ?? 'completed',
    sourceAmount: data['source_amount'] as String?,
    sourceCurrency: data['source_currency'] as String?,
    targetAmount: data['target_amount'] as String?,
    targetCurrency: data['target_currency'] as String?,
    requestedAmount: data['requested_amount'] as String?,
    currency: data['currency'] as String?,
    rate: data['rate'] as Map<String, dynamic>?,
    merchantInfo: data['merchant_info'] as Map<String, dynamic>?,
    timeline: data['timeline'] as Map<String, dynamic>?,
    rawData: payload,
  );
}