testPaymentProcessing static method

Future<void> testPaymentProcessing({
  1. required MastercardConfig config,
  2. required MastercardCardDetails cardDetails,
})

Test payment processing with provided card details

Implementation

static Future<void> testPaymentProcessing({
  required MastercardConfig config,
  required MastercardCardDetails cardDetails,
}) async {
  try {
    final mastercardService = MastercardService(config);

    final paymentRequest = MastercardPaymentRequest(
      orderId: 'TEST_ORDER_${DateTime.now().millisecondsSinceEpoch}',
      amount: 1.00,
      currency: config.currency,
      cardDetails: cardDetails,
      billingAddress: MastercardBillingAddress(
        street: '123 Test Street',
        city: 'Test City',
        stateProvince: 'NY',
        postcodeZip: '10001',
        country: 'US',
      ),
      customer: MastercardCustomer(
        firstName: 'Test',
        lastName: 'User',
        email: 'test@lokotro.com',
        phone: '243989665011',
      ),
      description: 'Lokotro Test Payment',
      require3DS: false,
    );

    await mastercardService.processDirectPayment(
      paymentRequest: paymentRequest,
    );

    mastercardService.dispose();
  } catch (e) {
    rethrow;
  }
}