问答

shop app 的stripe 的live mode

作者:admin 2021-04-22 我要评论

import 'dart:convert';import 'package:flutter/material.dart';import 'package:shop_app/models/Cart.dart';import 'package:webview_flutter/webview_flutte...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:shop_app/models/Cart.dart';
import 'package:webview_flutter/webview_flutter.dart';
import '../constants.dart';
class Paypal extends StatefulWidget {
  final String sessionId;
 const Paypal({Key key, this.sessionId}) : super(key: key);
 @override
 _PaypalState createState() => _PaypalState();
}
class _PaypalState extends State<Paypal> {
  WebViewController _controller;
 @override
 Widget build(BuildContext context) {
    return Scaffold(
      resizeToAvoidBottomInset: false,
 body: WebView(
        initialUrl: initialUrl,
 javascriptMode: JavascriptMode.unrestricted,
 onWebViewCreated: (controller) => _controller = controller,
 onPageFinished: (String url) {
          if (url == initialUrl) {
            print("${initialUrl} is url");
 _redirectToStripe();
 }
        },
 navigationDelegate: (NavigationRequest request) {
          if (request.url.startsWith("https://success.com")) {
            demoCarts.clear();
 Navigator.pop(context);
 } else if (request.url.startsWith("https://cancel.com")) {
            Navigator.of(context).pop("cancel");
 }
          return NavigationDecision.navigate;
 },
 ),
 );
 }
  String get initialUrl =>
      'data:text/html;base64,${base64Encode(Utf8Encoder().convert(kStripeHtmlPage))}';
 void _redirectToStripe() {
    //<--- prepare the JS in a normal string
 final redirectToCheckoutJs = '''
var stripe = Stripe('$apiKey');
  stripe.redirectToCheckout({
 sessionId: '${widget.sessionId}'
}).then(function (result) {
 result.error.message = 'Error'});
''';
 _controller.evaluateJavascript(
        redirectToCheckoutJs); //<--- call the JS function on controller
 }
}
const kStripeHtmlPage = '''
<!DOCTYPE html>
<html>
<script src="/uploads/allimg/210422/1500531424-0.jpg"></script>
<head><title>Stripe checkout</title>

</head>
<body>
  <h3>Please wait for a moment...</h3>
  </body>
</html>
''';

出現了"uncaught integrationerror: live stripe.js integrations must use https.
我要怎麼把kStripeHtmlPage轉成https?

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 求助!Mysql workbench connections出

    求助!Mysql workbench connections出

  • c++ 的dll 转golang可以调用

    c++ 的dll 转golang可以调用

  • c++的 new int{10}  和 new int(10) 有

    c++的 new int{10} 和 new int(10) 有

  • Grafana MySQL为数据源时, 折线图无法

    Grafana MySQL为数据源时, 折线图无法

腾讯云代理商
海外云服务器