1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jarvanmo-tobias

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_CN.md 5.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 20:40 4bcc374

Tobias — что это?

Tobias – это плагин Flutter для платёжного SDK Alipay, который поддерживает iOS, Android и OpenHarmony.

Начало работы

Перед использованием настоятельно рекомендуется прочитать официальный документ по подключению.

  1. В файле pubspec.yaml необходимо настроить url_scheme. Обратите внимание, что строка _ не является допустимой.
  2. Если вы работаете с OpenHarmony, добавьте alipays в файл module.json5 в разделе querySchemes:
{
  "module": {
    "querySchemes": [
      "alipays"
    ],
  }
}

Оплата

Использовать Tobias очень просто. Нужно только передать строку, полученную с сервера, Tobias: Если на Android возникает ошибка Unhandled Exception: MissingPluginException(No implementation found for method pay on channel com.jarvanmo/tobias), измените версию в файле android/build.gradle на ту же самую.

import 'package:tobias/tobias.dart' ;
Tobias tobias = Tobias();
tobias.pay(yourOrder);

На стороне iOS вам также нужно настроить и передать универсальную ссылку (universal link). Смотрите, как настроить универсальную ссылку.

Возвращаемое значение представляет собой карту, содержащую результат платежа Alipay. Она также включает дополнительное поле platform со значением iOS или android.

Примечание: Tobias использует pay_V2.

Авторизация и вход

В настоящее время авторизация и вход не поддерживаются на OpenHarmony.

import 'package:tobias/tobias.dart' ;
Tobias tobias = Tobias();
tobias.auth("your auth str);

Проверка установки Alipay

Tobias tobias = Tobias();
var result = await tobias.isAliPayInstalled;

Вы можете получить версию SDK на соответствующей платформе, вызвав tobias.version. Возвращаемое значение — это карта, содержащая version и platform. Пример результата:

{
result: partner="2088411752388544"&seller_id="etongka123@163.com"&out_trade_no="180926084213001"&subject="test pay"&total_fee="0.01"&notify_url="http://127.0.0.1/alipay001"&service="mobile.securitypay.pay"&payment_type="1"&_input_charset="utf-8"&it_b_pay="30m"&return_url="m.alipay.com"&success="true"&sign_type="RSA"&sign="nCZ8MDhsNvYNAbrLZJZ2VUy6vydgAp+JCq1aQo6ORDYtI9zwtnja3qNGQNiDJCuktoIj7fSTM487XhjPDqnOreZjIA1GJpxu9D1I3nMXIn1M7DfZ0noDwXcYZ438/jbYac7g8mhpwdKGweLCAni9mO3Y6q3iBFkox8i9PcsGxJY=",
resultStatus: 9000,
 memo: ,
 platform:iOS
}

Если у вас возникли проблемы с utdid на iOS, вы можете включить no_utdid: true в файле pubspec.yaml.

Обновление до версии 1.0.0

Начиная с версии 1.0.0 разработчикам больше не нужно переписывать AppDelegate. Если вы ранее переписали этот метод, удалите соответствующий код в AppDelegate:


- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
  return [WXApi handleOpenURL:url delegate:[FluwxResponseHandler defaultManager]];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{
  return [WXApi handleOpenURL:url delegate:[FluwxResponseHandler defaultManager]];
}

Если вы всё ещё хотите переписать эти два метода, убедитесь, что вы вызываете super:


- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    
  return [super application:application openURL:url sourceApplication:sourceApplication annotation:annotation];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{
    
  return [super application:application openURL:url options:options];
}

Поблагодарите автора чашкой кофе

<img Добро пожаловать на наш публичный канал!

Подписаться

LICENSE

Copyright 2018 OpenFlutter Project

Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements.  See the NOTICE file distributed with this work for
additional information regarding copyright ownership.  The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License.  You may obtain a copy of
the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
License for the specific language governing permissions and limitations under
the License.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/jarvanmo-tobias.git
git@api.gitlife.ru:oschina-mirror/jarvanmo-tobias.git
oschina-mirror
jarvanmo-tobias
jarvanmo-tobias
master