yookassa_payments_flutter.dart 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. export 'models/currency.dart';
  2. export 'models/amount.dart';
  3. export 'models/method_save_payment.dart';
  4. export 'models/payment_method_types.dart';
  5. export 'models/tokenization_settings.dart';
  6. export 'models/customization_settings.dart';
  7. export 'models/google_pay_parameters.dart';
  8. export 'models/test_mode_settings.dart';
  9. export 'models/tokenization_result.dart';
  10. export 'input_data/tokenization_module_input_data.dart';
  11. import 'input_data/saved_card_module_input_data.dart';
  12. import 'dart:convert';
  13. import 'package:flutter/services.dart';
  14. import 'package:yookassa_payments_flutter/models/tokenization_result.dart';
  15. import 'input_data/tokenization_module_input_data.dart';
  16. import 'models/payment_method_types.dart';
  17. class YookassaPaymentsFlutter {
  18. static const MethodChannel _channel =
  19. MethodChannel('ru.yoomoney.yookassa_payments_flutter/yoomoney');
  20. static Future<TokenizationResult> tokenization(
  21. TokenizationModuleInputData data) async {
  22. var inputData = data.toJson();
  23. return await _channel
  24. .invokeMethod('tokenization', inputData)
  25. .then((value) => TokenizationResult.fromJson(json.decode(value)));
  26. }
  27. static Future<void> confirmation(String url, PaymentMethod? paymentMethod,
  28. String clientApplicationKey, String shopId) async {
  29. var inputData = {
  30. 'url': url,
  31. 'paymentMethod': paymentMethod?.name,
  32. 'clientApplicationKey': clientApplicationKey,
  33. 'shopId': shopId
  34. };
  35. return await _channel.invokeMethod('confirmation', inputData);
  36. }
  37. static Future<TokenizationResult> bankCardRepeat(
  38. SavedBankCardModuleInputData data) async {
  39. return await _channel
  40. .invokeMethod('repeat', data.toJson())
  41. .then((value) => TokenizationResult.fromJson(json.decode(value)));
  42. }
  43. }