getSessionToken method

Future<String> getSessionToken({
  1. required String orderNumber,
  2. required String orderAmount,
  3. required String orderCurrency,
  4. required String orderDescription,
  5. bool? recurringInit,
  6. String? scheduleId,
  7. bool? reqToken,
  8. List<String>? cardToken,
})

Get a session token for Hosted Payment Fields

According to Mobibox HPF documentation, session tokens require checkout authentication parameters (operation, order, hash).

URL parameters (returnUrl, successUrl, etc.) are managed internally as placeholders.

Reference: https://docs.mobibox.io/docs/guides/hosted_payment_fields

orderNumber - Order number/ID orderAmount - Order amount orderCurrency - Order currency (e.g., 'USD') orderDescription - Order description recurringInit - Initialize recurring payment (optional) scheduleId - Schedule ID for recurring payments (optional) reqToken - Request card token for future payments (optional) cardToken - Array of card tokens for returning customers (optional)

Implementation

Future<String> getSessionToken({
  required String orderNumber,
  required String orderAmount,
  required String orderCurrency,
  required String orderDescription,
  bool? recurringInit,
  String? scheduleId,
  bool? reqToken,
  List<String>? cardToken,
}) async {
  if (_sessionTokenService == null) {
    throw Exception(
      'MobiPay not initialized. Please call initialize() first.',
    );
  }

  return _sessionTokenService!.getSessionToken(
    orderNumber: orderNumber,
    orderAmount: orderAmount,
    orderCurrency: orderCurrency,
    orderDescription: orderDescription,
    recurringInit: recurringInit,
    scheduleId: scheduleId,
    reqToken: reqToken,
    cardToken: cardToken,
  );
}