Merge branch 'union_pay'

* union_pay:
  完成云闪付对接
  add union pay support
master
laiiihz 5 years ago
commit 47c41bd310

@ -61,7 +61,7 @@ android {
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.akuhome.recook"
minSdkVersion 21
minSdkVersion 23
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

@ -101,6 +101,8 @@ PODS:
- flutter_txugcupload (0.0.1):
- AFNetworking
- Flutter
- flutter_union_pay (0.0.1):
- Flutter
- fluwx (0.0.1):
- Flutter
- mob_sharesdk/ShareSDKPlatforms/WeChatFull
@ -265,6 +267,7 @@ DEPENDENCIES:
- flutter_image_compress (from `.symlinks/plugins/flutter_image_compress/ios`)
- flutter_qr_reader (from `.symlinks/plugins/flutter_qr_reader/ios`)
- flutter_txugcupload (from `.symlinks/plugins/flutter_txugcupload/ios`)
- flutter_union_pay (from `.symlinks/plugins/flutter_union_pay/ios`)
- fluwx (from `.symlinks/plugins/fluwx/ios`)
- foundation_fluttify (from `.symlinks/plugins/foundation_fluttify/ios`)
- image_cropper (from `.symlinks/plugins/image_cropper/ios`)
@ -341,6 +344,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/flutter_qr_reader/ios"
flutter_txugcupload:
:path: ".symlinks/plugins/flutter_txugcupload/ios"
flutter_union_pay:
:path: ".symlinks/plugins/flutter_union_pay/ios"
fluwx:
:path: ".symlinks/plugins/fluwx/ios"
foundation_fluttify:
@ -407,6 +412,7 @@ SPEC CHECKSUMS:
flutter_image_compress: f69d0e0e078ce52b4810695593bc861ee319ae7d
flutter_qr_reader: 1b4faf9032e9ddc738107fd3dc067d29bd5cc67d
flutter_txugcupload: fd4f7a2a99e5fe30e608bf6f4acf0e7408339816
flutter_union_pay: 47a7bf5a4e987745d4378a8b9fb522d0a434793f
fluwx: 13b180563982bf3149472d650e01fa0312236c3d
foundation_fluttify: 0c45145e3fad1fb99188e4979daed5b24cd9b278
HandyJSON: 9e4e236f5d2dbefad5155a77417bbea438201c03
@ -446,4 +452,4 @@ SPEC CHECKSUMS:
PODFILE CHECKSUM: 92b158b51b335be17f029808df79886222d2ae9c
COCOAPODS: 1.9.1
COCOAPODS: 1.9.3

@ -45,6 +45,16 @@
<string>recookalipay</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>unionPay</string>
<key>CFBundleURLSchemes</key>
<array>
<string>RecookUnionPay</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>

@ -7,11 +7,12 @@
* ====================================================
*/
import 'dart:io';
import 'package:common_utils/common_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:flutter_union_pay/flutter_union_pay.dart';
import 'package:recook/base/base_store_state.dart';
import 'package:recook/manager/http_manager.dart';
import 'package:recook/manager/user_manager.dart';
import 'package:recook/models/PayInfoModel.dart';
import 'package:recook/models/alipay_order_model.dart';
@ -29,6 +30,7 @@ import 'package:recook/widgets/custom_app_bar.dart';
import 'package:recook/constants/header.dart';
import 'package:recook/widgets/custom_image_button.dart';
import 'package:recook/widgets/keyboard/bottom_keyboard_widget.dart';
import 'package:recook/widgets/toast.dart';
class OrderPrepayPage extends StatefulWidget {
final Map arguments;
@ -69,6 +71,19 @@ class _OrderPrepayPageState extends BaseStoreState<OrderPrepayPage>
@override
void initState() {
super.initState();
FlutterUnionPay.listen((result) {
switch (result.status) {
case PaymentStatus.CANCEL:
Toast.showError('银联取消支付');
break;
case PaymentStatus.SUCCESS:
Toast.showSuccess('支付成功');
break;
case PaymentStatus.FAIL:
Toast.showError('银联支付失败');
break;
}
});
UserManager.instance.setPassword.addListener(_setPassword);
WidgetsBinding.instance.addObserver(this);
_presenter = OrderPresenterImpl();
@ -205,6 +220,13 @@ class _OrderPrepayPageState extends BaseStoreState<OrderPrepayPage>
color: Color.fromARGB(255, 17, 142, 228),
),
2),
_payTile(
"云闪付支付",
Image.asset(
R.ASSETS_UNION_PAY_PNG,
height: rSize(30),
),
3),
Container(
margin:
EdgeInsets.symmetric(horizontal: rSize(40), vertical: rSize(150)),
@ -316,6 +338,9 @@ class _OrderPrepayPageState extends BaseStoreState<OrderPrepayPage>
case 2:
_aliPay(context);
break;
case 3:
_unionPay(context);
break;
}
}
@ -364,6 +389,22 @@ class _OrderPrepayPageState extends BaseStoreState<OrderPrepayPage>
listener: (WXPayResult result) {});
}
_unionPay(BuildContext context) async {
ResultData resultData =
await HttpManager.post("/v1/pay/unionpay/order/create", {
"orderId": _model.data.id,
"userId": UserManager.instance.user.info.id,
});
dismissLoading();
if (!TextUtil.isEmpty(resultData?.data['data']['tn'] ?? null)) {
FlutterUnionPay.pay(
tn: resultData?.data['data']['tn'],
mode: AppConfig.debug ? PaymentEnv.DEVELOPMENT : PaymentEnv.PRODUCT,
scheme: "RecookUnionPay",
);
}
}
//
_submitPassword() {
dismissLoading();

@ -480,6 +480,13 @@ packages:
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.0.2"
flutter_union_pay:
dependency: "direct main"
description:
name: flutter_union_pay
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.0.1"
flutter_web_plugins:
dependency: transitive
description: flutter

@ -210,6 +210,8 @@ dependencies:
dropdown_search: ^0.4.5
flutter_union_pay : ^0.0.1
dev_dependencies:
flutter_test:
sdk: flutter

Loading…
Cancel
Save