PaymentRequest.deriveForAddCard constructor

PaymentRequest.deriveForAddCard(
  1. PaymentRequest submitOrderRequest
)

Builds an add-card request from a submit-order request (same customer/shipping, minimal order line).

Implementation

factory PaymentRequest.deriveForAddCard(PaymentRequest submitOrderRequest) {
  if (submitOrderRequest.orderDetails.isEmpty) {
    throw StateError(
      'Cannot derive add-card request: orderDetails is empty.',
    );
  }
  final o = submitOrderRequest.orderDetails.first;
  return PaymentRequest.addCard(
    orderDetails: [
      OrderDetails.forAddCard(
        mOrderId: o.mOrderId,
        amount: o.amount,
        currency: o.currency,
        description: o.description,
      ),
    ],
    customerDetails: submitOrderRequest.customerDetails,
    billingDetails: submitOrderRequest.billingDetails,
    shippingDetails: submitOrderRequest.shippingDetails,
    urls: submitOrderRequest.urls,
    parameters: submitOrderRequest.parameters,
    customData: submitOrderRequest.customData,
    viewType: submitOrderRequest.viewType,
  );
}