bug fixes on halyk payment
parent
c497fa7ed6
commit
5a1f086d78
|
|
@ -125,11 +125,11 @@ class MainActivity : FlutterActivity() {
|
|||
println("---------------")
|
||||
if (requestCode == externalApplicationRequestCode && resultCode == Activity.RESULT_OK && data != null) {
|
||||
println(data.getStringExtra(externalResultDataKey))
|
||||
Toast.makeText(this, data.getStringExtra(externalResultDataKey), Toast.LENGTH_LONG).show()
|
||||
//Toast.makeText(this, data.getStringExtra(externalResultDataKey), Toast.LENGTH_LONG).show()
|
||||
_result.success(data.getStringExtra(externalResultDataKey))
|
||||
} else {
|
||||
_result.error("008", "Error while apps connecting", "aaa")
|
||||
Toast.makeText(this, "Error while apps connecting", Toast.LENGTH_SHORT).show()
|
||||
//Toast.makeText(this, "Error while apps connecting", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
// if (resultCode == Activity.RESULT_OK) {
|
||||
// _result.success(data?.getStringExtra("result"))
|
||||
|
|
|
|||
|
|
@ -90,6 +90,7 @@ class ResultBean {
|
|||
int code;
|
||||
String description;
|
||||
HostResponseBean hostResponse;
|
||||
ErrorResponseBean errorData;
|
||||
|
||||
ResultBean({this.code, this.description});
|
||||
|
||||
|
|
@ -99,6 +100,7 @@ class ResultBean {
|
|||
resultBean.code = map['code'];
|
||||
resultBean.description = map['description'];
|
||||
resultBean.hostResponse = HostResponseBean.fromMap(map['hostResponse']);
|
||||
resultBean.errorData = ErrorResponseBean.fromMap(map['errorData']);
|
||||
return resultBean;
|
||||
}
|
||||
|
||||
|
|
@ -107,6 +109,7 @@ class ResultBean {
|
|||
"code": code,
|
||||
"description": description,
|
||||
"hostResponse": hostResponse,
|
||||
"errorData": errorData,
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -125,6 +128,25 @@ class HostResponseBean {
|
|||
return hostResponseBean;
|
||||
}
|
||||
|
||||
Map toJson() =>
|
||||
{
|
||||
"code": code,
|
||||
"description": description,
|
||||
};
|
||||
}
|
||||
|
||||
class ErrorResponseBean {
|
||||
int code;
|
||||
String description;
|
||||
|
||||
static ErrorResponseBean fromMap(Map<String, dynamic> map) {
|
||||
if (map == null) return null;
|
||||
ErrorResponseBean errorResponseBean = ErrorResponseBean();
|
||||
errorResponseBean.code = map['code'];
|
||||
errorResponseBean.description = map['description'];
|
||||
return errorResponseBean;
|
||||
}
|
||||
|
||||
Map toJson() =>
|
||||
{
|
||||
"code": code,
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import '../models/aman_dao.dart';
|
|||
|
||||
|
||||
class BankService extends BaseService {
|
||||
int sdkVersion = 27;
|
||||
final ApiService _api = locator<ApiService>();
|
||||
final MethodChannel _channel = MethodChannel('channel:com.amanKassa/bank');
|
||||
|
||||
|
|
@ -60,6 +61,7 @@ class BankService extends BaseService {
|
|||
double total = amount * 100;
|
||||
log.i('total: $total, ${total.toInt()}');
|
||||
String response = await _channel.invokeMethod("pay", <String, dynamic>{'amount': total.toInt(), 'token': token });
|
||||
log.i(response);
|
||||
HalykResponse dao = HalykResponse.fromMap(json.decode(response));
|
||||
return dao;
|
||||
} catch (e, stack) {
|
||||
|
|
|
|||
|
|
@ -15,4 +15,8 @@ void main() {
|
|||
String salt = '!=uF:w1N_Salh?1gVSJ#eGfJYHA(wS4D';
|
||||
String hash = md5.convert(utf8.encode('uvaissov@gmail.com$salt')).toString();
|
||||
print(hash);
|
||||
|
||||
|
||||
String value = "100.0";
|
||||
print(double.parse(value));
|
||||
}
|
||||
|
|
@ -32,7 +32,7 @@ class _PopupMenuState extends State<PopupMenu> {
|
|||
const Choice(title: 'Информация о ККМ', icon: Icons.info_outline, command: 'infokkm'),
|
||||
//if (version >= 24 )
|
||||
// const Choice(title: 'Bank', icon: Icons.text_fields, command: 'bank'),
|
||||
if (version >= 27 )
|
||||
if (version >= _bankService.sdkVersion )
|
||||
const Choice(title: 'Настройка HalykPos', icon: Icons.phonelink_lock_outlined, command: 'tap2phone'),
|
||||
const Choice(title: 'Настройки', icon: Icons.settings, command: 'settings'),
|
||||
const Choice(title: 'Принтер', icon: Icons.print, command: 'print'),
|
||||
|
|
|
|||
|
|
@ -227,7 +227,7 @@ class _AdditionalTabState extends State<AdditionalTab> {
|
|||
});
|
||||
|
||||
int version = await _bankService.version();
|
||||
if (version < 27 ) {
|
||||
if (version < _bankService.sdkVersion ) {
|
||||
setState(() {
|
||||
isClosePosBusy = false;
|
||||
});
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ Future<AmanDao<CardData>> paymentHalykPos(double total) async {
|
|||
);
|
||||
return AmanDao<CardData>(msg: response.result.description, success: true, data: cardData);
|
||||
}
|
||||
return AmanDao<CardData>(msg: response.result.description, success: false);
|
||||
return AmanDao<CardData>(msg: response.result.errorData !=null ? response.result.errorData.description : response.result.description, success: false);
|
||||
}
|
||||
|
||||
Future<AmanDao<CardData>> refundHalykPos(CardData refundData, double total) async {
|
||||
|
|
@ -70,7 +70,7 @@ Future<AmanDao<CardData>> refundHalykPos(CardData refundData, double total) asyn
|
|||
);
|
||||
return AmanDao<CardData>(msg: response.result.description, success: true, data: cardData);
|
||||
}
|
||||
return AmanDao<CardData>(msg: response.result.description, success: false);
|
||||
return AmanDao<CardData>(msg: response.result.errorData !=null ? response.result.errorData.description : response.result.description, success: false);
|
||||
}
|
||||
|
||||
Future<Cd.HalykCloseDayDao> closeDayHalykPos() async {
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ class _PaymentViewState extends State<PaymentView> {
|
|||
|
||||
_bankInit() async {
|
||||
int version = await _bankService.version();
|
||||
if (version >= 27) {
|
||||
if (version >= _bankService.sdkVersion) {
|
||||
setState(() {
|
||||
isBankApiAccess = true;
|
||||
});
|
||||
|
|
@ -198,15 +198,25 @@ class _PaymentViewState extends State<PaymentView> {
|
|||
if (!isBankApiAccess || widget.model.operationType != OperationTypePay) {
|
||||
return Container();
|
||||
}
|
||||
return StoreConnector<AppState, BankState>(
|
||||
converter: (store) => store.state.bankState,
|
||||
builder: (_, state) {
|
||||
return StoreConnector<AppState, AppState>(
|
||||
converter: (store) => store.state,
|
||||
builder: (_, _state) {
|
||||
BankState state = _state.bankState;
|
||||
double _total;
|
||||
if (widget.model.mode == SettingModeCalc) {
|
||||
String value = totalCalc(_state.calcState.calcItems);
|
||||
_total = double.parse(value);
|
||||
} else {
|
||||
String value = totalKassa(_state.kassaState.kassaItems);
|
||||
_total = double.parse(value);
|
||||
}
|
||||
|
||||
if (state.password == null || state.login == null || state.password.length < 1 || state.login.length < 1) {
|
||||
return Container();
|
||||
}
|
||||
return InkWell(
|
||||
onTap: () async {
|
||||
AmanDao<CardData> data = await paymentHalykPos(100);
|
||||
AmanDao<CardData> data = await paymentHalykPos(_total);
|
||||
if (data.success) {
|
||||
pressPayment(widget.model.operationType, data.data);
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Reference in New Issue