SdkPaymentTransactionData.fromJson constructor

SdkPaymentTransactionData.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory SdkPaymentTransactionData.fromJson(Map<String, dynamic> json) {
  Map<String, dynamic>? asMap(dynamic v) =>
      v is Map<String, dynamic> ? v : (v is Map ? Map<String, dynamic>.from(v) : null);

  final billing = asMap(json['billing_address']);
  final shipping = asMap(json['shipping_address']);
  final customer = asMap(json['customer_details']);
  final pmd = asMap(json['payment_method_data']);

  return SdkPaymentTransactionData(
    raw: Map<String, dynamic>.from(json),
    action: json['action']?.toString(),
    status: json['status']?.toString(),
    orderStatus: json['order_status']?.toString(),
    mOrderId: json['m_order_id']?.toString(),
    pOrderId: json['p_order_id']?.toString(),
    pRequestId: json['p_request_id']?.toString(),
    pspRefId: json['psp_ref_id']?.toString(),
    transactionId: json['transaction_id']?.toString(),
    isLive: _parseBool(json['is_live']),
    terminalLabel: json['terminal_label']?.toString(),
    remark: json['remark']?.toString(),
    reason: json['reason']?.toString(),
    currency: json['currency']?.toString(),
    amount: json['amount']?.toString(),
    channel: json['channel']?.toString(),
    channelId: json['channel_id']?.toString(),
    shippingFee: json['shipping_fee']?.toString(),
    convenienceFee: json['convenience_fee']?.toString(),
    customerDetails: customer != null
        ? SdkPaymentCustomerSnapshot.fromJson(customer)
        : null,
    billingAddress: billing != null
        ? SdkPaymentServiceAddress.fromJson(billing)
        : null,
    shippingAddress: shipping != null
        ? SdkPaymentServiceAddress.fromJson(shipping)
        : null,
    ipCountry: json['ip_country']?.toString(),
    psp: json['psp']?.toString(),
    paymentMethod: json['payment_method']?.toString(),
    mPaymentToken: json['m_payment_token']?.toString(),
    transactionTime: json['transaction_time']?.toString(),
    paymentMethodData: pmd != null
        ? SdkPaymentMethodDataSlice.fromJson(pmd)
        : null,
    apmName: json['apm_name']?.toString(),
    apmIdentifier: json['apm_identifier']?.toString(),
    subMerchantIdentifier: json['sub_merchant_identifier']?.toString(),
    parameters: _parseSlotList(json['parameters']),
    customData: _parseSlotList(json['custom_data']),
    fraud: _parseBool(json['fraud']),
    type: json['type']?.toString(),
    redirectUrl: json['redirect_url']?.toString(),
  );
}