Overview
Webhooks
- Webhooks
- Webhook Event Guide
- Webhook Payloads
API Usage & How-Tos
Overlay Checkout
Mobile Integration
Plugins & External Integrations
Mobile Integration
Flutter Integration
This guide will help you integrate the Dodo Payments API into your Flutter applications.
Flutter Integration
Copy
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
class PaymentScreen extends StatefulWidget {
@override
_PaymentScreenState createState() => _PaymentScreenState();
}
class _PaymentScreenState extends State<PaymentScreen> {
late WebViewController _controller;
final String paymentLink = "https://checkout.dodopayments.com/buy/{productid}";
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Payment')),
body: WebView(
initialUrl: paymentLink,
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (WebViewController webViewController) {
_controller = webViewController;
},
navigationDelegate: (NavigationRequest request) {
if (request.url.contains('payment_id') && request.url.contains('status')) {
// Handle payment completion
final uri = Uri.parse(request.url);
final paymentId = uri.queryParameters['payment_id'];
final status = uri.queryParameters['status'];
handlePaymentCompletion(paymentId, status);
return NavigationDecision.prevent;
}
return NavigationDecision.navigate;
},
),
);
}
void handlePaymentCompletion(String? paymentId, String? status) {
if (status == 'succeeded') {
// Payment successful
} else {
// Payment failed
}
}
}
On this page
Assistant
Responses are generated using AI and may contain mistakes.