Пакет используется для интеграции Flutter приложения и платежного сервиса onpay.ru

Пакет предоставляет возможность пользователям приложения производить оплату внутри приложения с помощью банквоских карт и других методов платежа поддерживаемых https://onpay.ru без выхода из приложения.

ВАЖНО This package maybe used only with existed merchant account at www.onpay.ru Данный пакет возможно использовать только при наличии аккаунта магазина в https://onpay.ru

Возможности

  • Оплата за товары и услуги без выхода из приложения
  • Поддержка Visa/Mastercard payment within your application
  • Поддержка Система Быстрых Платежей (СБП) Банка России
  • Поддерживаются все методы платежей доступные для магазина
  • Генерации QR кода для оффлайн платежа через СБП

Начало

Для приема карт Visa/Mastercard/МИР

  • Зарегистрируйтесь на https://onpay.ru
  • Заполните заявку на прием платажей по картам Visa/Mastercard (платежный метод "CRD" / "UNR" / "CRW")
  • Запросите техподдержку OnPay активировать API платежной формы APIhttps://wiki.onpay.ru/doku.php?id=api-for-pay-form

Установка

Add flutter_map to your pubspec:

dependencies:
  flutter_onpay_sdk: any # or the latest version on Pub

Android

Убедитесь что разрешение INTERNET добавлено в AndroidManifest <project root>/android/app/src/main/AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET"/>

Использование

Пример использования SDK расположен в папке /examples

Пример использования SDK

По умолчанию используется метод платежа "CRW"

import 'package:flutter_onpay_sdk/flutter_onpay_sdk.dart';


// 1. Создаем объект платежа
    OnPayOrder order = OnPayOrder(
        reference: "SOMEUNIQ"; //Уникальный ключ для отслеживания
        payAmount: 100, // Цена в рублях
        payFor: 'Продукт 1', //Описание продукта в платеже
        payMode: 'fix', // Фиксированя цена
        recipient: 'cloud_sciencejet_net', // Код магазина onpay
        userEmail: 'some@mail.ru', // email пользователя
        note: "Короткая заметка о продукте", // ОПЦИОНАЛЬНО. Дополнительное описание покупки
        interfaceTicker:  "CRW", // Указываем метод платежа доступный для магазина
        additionalParams: { // Дополнительные параметры. Будут переданы по API для запросов check и pay
          "someid": "1"
        },
        )

// 2.1 Вызов платежной формы внутри виджета. Открывает новый экран с платежной формой. Результатом будет объект OnPayResult содержащий OnPayOrder и статус платежа
    OnPayResult result = await OnPaySdk.openPaymentForm(context, order); 

// 3) Обработка результата платежа
    switch (result.status) {
      case OnPayResultCode.success:
        // "ОПЛАЧЕНО";
        break;
      case OnPayResultCode.fail:
        // "Ошибка оплаты";
        break;
      case OnPayResultCode.notCompleted:
        // "Оплата не закончена"
        break;
    }

// Платеж через  Система Быстрых Платежей (СБП) Банка России

Платеж через Систему Быстрых Платежей (СБП) Банка России

import 'package:flutter_onpay_sdk/flutter_onpay_sdk.dart';


// 1. Создаем объект платежа
    OnPayOrder order = OnPayOrder(
        reference: "SOMEUNIQ"; //Уникальный ключ для отслеживания
        payAmount: 100, // Цена в рублях
        payFor: 'Продукт 1', //Описание продукта в платеже
        payMode: 'fix', // Фиксированя цена
        recipient: 'onpay', // Код магазина в onpay
        userEmail: 'some@mail.ru', // email пользователя
        note: "Короткая заметка о продукте", // ОПЦИОНАЛЬНО. Дополнительное описание покупки
        interfaceTicker:  "QRW", // Код для СБП Банка России
        )

// 2. Открывает новый экран с платежной формой. Результатом будет QR код для оплаты через СБП
    OnPayResult result = await OnPaySdk.openPaymentForm(context, order, method: OnPayMethod.sbp);