Files
flutter_wisetronic/lib/models/payment_platform.dart
peima 4f9aa4f683 phase3(foundation): http_util dio5 migration + null-safe models
- http_util.dart: dio4->5 (DioException, nullable params, drop unused statusCode,
  null-safe e.response!.data), countryCode ?? ''
- models/* (39 files): make all instance fields nullable (fromJson initializer-list
  pattern forces nullable); fix internal method usages (cart_info/cart_line_item/
  order/shipping_rate) with !/??
- models/ now passes dart analyze with 0 errors

Widget-level null-safety + remaining utils/store continue in next batch.
2026-07-24 03:48:54 +08:00

85 lines
2.1 KiB
Dart

import 'dart:convert';
import 'package:flutter/cupertino.dart';
import '../generated/l10n.dart';
class PaymentPlatform {
int? id;
String? name;
String? code;
String? method;
String? icon;
String? xLogin;
String? transactionKey;
String? responseKey;
String? squareAppId;
String? squareAccessToken;
String? squareLocationId;
String? publishableKey;
String? merchantId;
PaymentPlatform(this.code);
PaymentPlatform.fromJson(Map<String, dynamic> json)
: id = json['id'],
name = json['name'],
code = json['code'],
method = json['method'],
icon = json['icon'],
xLogin = json['x_login'],
transactionKey = json['transaction_key'],
responseKey = json['response_key'],
squareAppId = json['square_app_id'],
squareAccessToken = json['square_access_token'],
squareLocationId = json['square_location_id'],
publishableKey = json['publishable_key'],
merchantId = json['merchant_id'];
Map<String, dynamic> toJson() => {
'id': id,
'name': name,
'code': code,
'method': method,
'icon': icon,
'x_login': xLogin,
'transaction_key': transactionKey,
'response_key': responseKey,
'square_app_id': squareAppId,
'square_access_token': squareAccessToken,
'square_location_id': squareLocationId,
'publishable_key': publishableKey,
'merchant_id': merchantId,
};
static String getPaymentPlatformName(BuildContext context, String code) {
switch(code) {
case 'chase':
return S.of(context).credit_debit_card;
break;
case 'web-credit-card':
return S.of(context).credit_card;
break;
case 'ALIPAY':
return S.of(context).alipay;
break;
case 'WECHATPAY':
return S.of(context).wechatpay;
break;
case 'paypal':
return S.of(context).paypal;
case 'payondeliverypickup':
return S.of(context).pay_on_deliery_pickup;
case 'stripe':
return S.of(context).credit_card;
default:
return S.of(context).pay_on_deliery;
}
}
@override
String toString() {
return json.encode(this);
}
}