deema_sdk 1.0.2
deema_sdk: ^1.0.2 copied to clipboard
Deema BNPL SDK
import 'package:deema_sdk/deema_sdk.dart';
import 'package:deema_sdk/models/purchase_request.dart';
import 'package:deema_sdk/purchase_result.dart';
import 'package:flutter/material.dart';
void main() {
runApp(
MyApp(),
);
}
class MyApp extends StatelessWidget {
MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('Deema Purchase Example')),
body: HomeView(),
),
);
}
}
class HomeView extends StatelessWidget {
HomeView({super.key});
final amountTextController = TextEditingController();
final keyTextController = TextEditingController();
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
children: [
Padding(
padding: const EdgeInsets.all(16.0),
child: TextField(
controller: keyTextController,
decoration: const InputDecoration(
label: Text("SDK Key")
),
),
),
Padding(
padding: const EdgeInsets.all(16.0),
child: TextField(
controller: amountTextController,
decoration: const InputDecoration(
label: Text("Amount")
),
),
),
ElevatedButton(
onPressed: () {
DeemaSdk.lunch(
context,
keyTextController.text,
Environment.sandbox,
PurchaseRequest(
merchantOrderId: "1726",
amount: double.parse(amountTextController.text),
currencyCode: "KWD",
),
(result) {
if (result is Success) {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text("Payment successful!")),
);
} else if (result is Failure) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text("Payment failed: ${result.message}")),
);
} else if (result is Canceled) {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text("Payment was canceled")),
);
} else if (result is Unknown) {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text("Unknown payment result")),
);
}
},
);
},
child: const Text('Create Purchase'),
),
],
);
}
}