我有Magento 2详细用户名,密码,签名(贝宝支付网关). 如何添加Paypal支付网关在Flutter 应用程序与此(Magento 2贝宝)细节.

已经成功地在Ffltter应用程序中实现了客户端ID和秘钥,但我只收到了Magento 2的详细信息.

我怎么才能用Magento Detail做这件事呢?

import 'package:flutter/material.dart';
import 'package:flutter_paypal/flutter_paypal.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Paypal',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Paypal Example'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);
  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text(widget.title),
        ),
        body: Center(
          child: TextButton(
              onPressed: () => {
                Navigator.of(context).push(
                  MaterialPageRoute(
                    builder: (BuildContext context) => UsePaypal(
                        sandboxMode: true,
                        clientId:
                        "AW1TdvpSGbIM5iP4HJNI5TyTmwpY9Gv9dYw8_8yW5lYIbCqf326vrkrp0ce9TAqjEGMHiV3OqJM_aRT0",
                        secretKey:
                        "EHHtTDjnmTZATYBPiGzZC_AZUfMpMAzj2VZUeqlFUrRJA_C0pQNCxDccB5qoRQSEdcOnnKQhycuOWdP9",
                        returnURL: "https://samplesite.com/return",
                        cancelURL: "https://samplesite.com/cancel",
                        transactions: const [
                          {
                            "amount": {
                              "total": '100',

                              "currency": "USD",
                              "details": {
                                "tax":30,
                                "shipping": '50',
                                "shipping_discount": 10,
                                "discount":'10',
                                "subtotal": '40',
                              }
                            },
                            "description":
                            "The payment transaction description.",
                            // "payment_options": {
                            //   "allowed_payment_method":
                            //       "INSTANT_FUNDING_SOURCE"
                            // },
                            "item_list": {
                              "items": [
                                {
                                  "name": "A Gift Card",
                                  "quantity": 2,
                                  "price": '10',
                                  "currency": "USD"
                                },
                                {
                                  "name": "Push it bag",
                                  "quantity": 1,
                                  "price": '20',
                                  "currency": "USD"
                                }
                              ],

                              // shipping address is not required though
                              "shipping_address": {
                                "recipient_name": "Jane Foster",
                                "line1": "Travis County",
                                "line2": "",
                                "city": "Austin",
                                "country_code": "US",
                                "postal_code": "73301",
                                "phone": "+00000000",
                                "state": "Texas"
                              },
                            }
                          }
                        ],
                        note: "Contact us for any questions on your order.",
                        onSuccess: (Map params) async {
                          print("onSuccess: $params");
                        },
                        onError: (error) {
                          print("onError: $error");
                        },
                        onCancel: (params) {
                          print('cancelled: $params');
                        }),
                  ),
                )
              },
              child: const Text("Make Payment")),
        ));
  }
}

推荐答案

UserName、Password和Secret接口用于对PayPal的classic 接口进行身份验证,这些接口大约有20年的历史.

当前的API使用REST应用程序客户端ID和密码进行身份验证.所以你应该利用这一点.

忘掉传统的API凭据,不要使用它们或用于任何新集成的传统API.

Flutter相关问答推荐

Riverpod生成器和生成util类

如果文档确实存在,则FiRestore将";False";返回到";if-Document-Existes";...还是我说错了?

Flutter 对齐:不适用于多行文字

TextFormfield无法与自动路由一起正常工作

什么是dart :这只是dart ?

将侧边菜单和底部导航栏放在同一Flutter 应用程序中

从.gitignore中排除.fvm/fvm_config.json

在flutter web上渲染多个Youtube视频

如何在Dart中允许正则表达式中有一个空格,但允许其他字符为1或更多?

如何在Flutter 中使用选定的键和值从 map 列表创建 map

Flutter中如何实现带有变化图标的浮动操作按钮?

获取通过列表呈现的相同 TextEditingController 的值

FutureProvider 不返回数据给 UI

如何在 flutter 中使用 tabbar 作为底部导航栏?

SfCircularChart 周围的额外间距

如何限制用户每 24 小时执行的操作数?

Flutter/Dart 返回_Future的实例而不是实际的字符串值

为什么这个参数类型不能分配给参数类型?

Flutter 小部件中的视图和逻辑分离

从 Uint8List 或图像对象创建 InputImageData 用于 Google ML Kit 人脸检测