statusPayment method
Future<GetnetStatusPaymentResponse>
statusPayment({
- required GetnetStatusPaymentPayload statusPaymentPayload,
override
Implementation
@override
Future<GetnetStatusPaymentResponse> statusPayment({required GetnetStatusPaymentPayload statusPaymentPayload}) async {
try {
final response = await methodChannel.invokeMethod<Map>('statusPayment', statusPaymentPayload.toJson());
if (response is Map) {
if ((response['code'] == GetnetStatusDeeplink.SUCCESS.name || response['code'] == GetnetStatusDeeplink.PENDING.name) && response['data'] is Map) {
if (response['code'] == GetnetStatusDeeplink.SUCCESS.name) {
final jsonData = response['data'];
return GetnetStatusPaymentResponse.fromJson(json: jsonData);
} else {
return GetnetStatusPaymentResponse(
result: response['result'] ?? '5',
resultDetails: 'Operação ainda pendente cancelada pelo lojista, realize consulta do status',
printMerchantPreference: response['printMerchantPreference'] ?? false,
amount: 0.00,
callerId: statusPaymentPayload.callerId,
receiptAlreadyPrinted: false,
type: '',
inputType: '',
);
}
} else {
throw GetnetStatusPaymentException(message: response['message']);
}
} else {
throw GetnetStatusPaymentException(message: 'invalid response');
}
} on GetnetStatusPaymentException catch (e) {
throw GetnetStatusPaymentException(message: e.message);
} on PlatformException catch (e) {
throw GetnetStatusPaymentException(message: e.message ?? 'PlatformException');
} catch (e) {
throw GetnetStatusPaymentException(message: "Status payment Error: $e");
}
}