acurateco_flutter 1.0.0
acurateco_flutter: ^1.0.0 copied to clipboard
A simple Acurateco API wrapper
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:acurateco_flutter/acurateco_flutter.dart';
void main() {
runApp(const AcuratecoExampleApp());
}
class AcuratecoExampleApp extends StatelessWidget {
const AcuratecoExampleApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Acurateco Flutter Example',
home: Scaffold(
appBar: AppBar(title: const Text('Acurateco Example')),
body: const Center(child: AcuratecoDemo()),
),
);
}
}
class AcuratecoDemo extends StatefulWidget {
const AcuratecoDemo({super.key});
@override
State<AcuratecoDemo> createState() => _AcuratecoDemoState();
}
class _AcuratecoDemoState extends State<AcuratecoDemo> {
late final CheckoutController _controller;
@override
void initState() {
super.initState();
Acurateco().initialize(
backendUrl: 'https://example.com',
merchantKey: 'merchant key',
password: 'password',
);
var request = createAcuratecoRequest();
_controller = CheckoutController(
paymentRequest: request,
onSuccessRedirect: (url) {
Navigator.pop(context);
ScaffoldMessenger.of(
context,
).showSnackBar(const SnackBar(content: Text("Payment Success")));
},
);
}
AcuratecoRequest createAcuratecoRequest() {
var acuratecoOrder = const AcuratecoOrder(
number: "order-1234",
amount: "100.00",
currency: "USD",
description: "Example purchase",
);
return AcuratecoRequest(
operation: AcuratecoOperation.purchase,
successUrl: "https://example.com/success",
order: acuratecoOrder,
);
}
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () {
showDialog(
context: context,
builder: (_) => Dialog(
child: SizedBox(
width: 400,
height: 600,
child: AcuratecoCheckout(controller: _controller),
),
),
);
},
child: const Text('Start Payment'),
),
],
);
}
}