Headless SDK
Juspay Hyperswitch is designed to facilitate the integration and management of payment-related functionalities in a decoupled or headless architecture with flexibility to customize your checkout UI.
Customize the payment experience using Headless functions
// dependencies: flutter_hyperswitch: ^version_number
// run the following command to fetch and install the dependencies flutter pub get
import 'package:flutter_hyperswitch/flutter_hyperswitch.dart';
_hyper.init(HyperConfig(publishableKey: 'YOUR_PUBLISHABLE_KEY'));final params = PaymentMethodParams(clientSecret: 'YOUR_PAYMENT_INTENT_CLIENT_SECRET')
Session _sessionId = await hyper.initPaymentSession(params);options (Required)
Description
SavedSession? _savedSessionId = await _hyper.getCustomerSavedPaymentMethods(_sessionId!);
// use the customer_default_saved_payment_method_data to fulfill your usecases
final customer_last_used_saved_payment_method_data = await _hyper.getCustomerLastUsedSavedPaymentMethodData(_savedSessionId!);
if (customer_last_used_saved_payment_method_data != null) {
final paymentMethod = customer_last_used_saved_payment_method_data.left;
if (paymentMethod != null) {
final card = paymentMethod.left;
}
}
}
// use the confirmWithCustomerDefaultPaymentMethod function to confirm and handle the payment session response
Future<void> _confirmPayment() async {
final confirmWithLastUsedPaymentMethodResponse =
await _hyper.confirmWithLastUsedPaymentMethod(_savedSessionId!);
if (confirmWithLastUsedPaymentMethodResponse != null) {
final message = confirmWithLastUsedPaymentMethodResponse.message;
if (message.isLeft) {
_confirmStatusText = "${confirmWithLastUsedPaymentMethodResponse.status.name}\n${message.left!.name}";
} else {
_confirmStatusText = "${confirmWithLastUsedPaymentMethodResponse.status.name}\n${message.right}";
}
}
}options (Required)
Description
Last updated
Was this helpful?

