refund method
Refund a previous payment
amount - Refund amount in cents (null for full refund)
paymentReferenceId - Reference ID of the payment to refund
refundReference - Unique reference ID for this refund
Implementation
@override
Future<RefundResult> refund({
int? amount,
required String paymentReferenceId,
required String refundReference,
}) async {
try {
final result = await methodChannel.invokeMethod<Map>('refund', {
'amount': amount,
'paymentReferenceId': paymentReferenceId,
'refundReference': refundReference,
});
if (result == null) {
throw ZettleException(
code: 'REFUND_FAILED',
message: 'Refund returned null result',
);
}
return RefundResult.fromMap(Map<String, dynamic>.from(result));
} on PlatformException catch (e) {
throw ZettleException(
code: e.code,
message: e.message ?? 'Refund failed',
details: e.details,
);
}
}