Flutter plugin for sagepay SDK
To use this plugin, add sagepay as a dependency in your pubspec.yaml file.
This plugin uses two APIs
- Create a SagePay instance by calling the constructor SagePay. The constructor accepts a required instance of the following: context, business, reference, callbackUrl, amount, token It returns an instance of SagePay which we then call the async method .chargeTransaction() on.
import 'package:sagepay/sagepay.dart';
final sagePay = SagePay(
context: context,
amount: 100,
reference: "{{randomly generated string}}",
callbackUrl: "{{call back url}}",
token: "{{Secret Key}}",
business: Business(name: "{{business name}}", email: "{{business email}}"),
paymentMethod: 'card,transfer',
metadata: {
"name":"Ladenifer Jada",
"email":"ladjada@ymail.com"
}
);
PaymentResponse? response = await sagePay.chargeTransaction();
- Handle the response Calling the .chargeTransaction() method returns a Future of PaymentResponse which we await for the actual response as seen above.
PaymentResponse? response = await sagePay.chargeTransaction();
if (response != null) {
if(response.success!) {
//handle success response
} else {
//Handle not successful
}
} else {
//User cancelled checkout
}