A Flutter plugin to wrap HyperPay SDK for iOS and Android.

Overview

HyperPay Flutter Plugin

This plugin is a wrapper around HyperPay iOS and Android SDK, it's still in alpha release, and supports limited set of functionality and brands.

Note: this plugin is unofficial.

pub package

Support Checklist

✔️ Brands: VISA, MasterCard, MADA
✔️ Get a checkout ID
✔️ Get payment status
✔️ Perform sync/async payment
✔️ Custom UI
✖️ Ready UI

Getting Started

iOS Setup

  1. Add your Bundle Identifier as a URL Type.
    Open ios folder using Xcode, make sure you select Runner traget, then go to Info tab, and there add a new URL type, then paste your Bundle Identifier and append .payments to it.

  2. Open Podfile, and paste the following inside of it:

target 'Runner' do
  use_frameworks!
  use_modular_headers!

  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))

  $static_framework = ['hyperpay']

  pre_install do |installer|
    Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
    installer.pod_targets.each do |pod|
        if $static_framework.include?(pod.name)
          def pod.build_type;
            Pod::BuildType.static_library
          end
        end
      end
  end
end

Android Setup

  1. Download the oppwa.mobile android SDK.
  2. Assuming you are using VS Code, right click on the android folder and click Open in Android Studio.
  3. Switch to project view.
  4. Right click on your main app directory, then click New > Directory, name it oppwa.mobile.
  5. Drag and drop the aar file you just downloaded into the directory.
  6. Copy this build.gradle file content and make a new file inside the same directory with same content.
  7. Open android/app/build.gradle and add the following lines:
implementation project(":oppwa.mobile")
  1. Open app/build.gradle and make sure that the minSdkVersion is 21
  2. Open settings.gradle, and make sure you have this line to the top:
include ':oppwa.mobile'
  1. Click on Build > Make Project.
  2. Open your AndroidManifest.xml, and make sure it looks like the example app.
    IMPORTANT: the scheme you choose should match exactly your application ID but without any underscores, and then append .payments to it.
    For example: com.nyartech.hyperpay_example becomes com.nyartech.hyperpayexample.payments

🐛 A fix for an Android issue

You might hit the following error if you tried to compile on Android:

AAPT: error: style attribute 'attr/hintTextAppearance (aka com.example.app:attr/hintTextAppearance)' not found.

To fix it, add the following dependnecies to app/buid.gradle:

dependencies {
    implementation "androidx.appcompat:appcompat:1.4.1"
    implementation "com.google.android.material:material:1.5.0"
}

Setup Required Endpoints

It's important to setup your own server with 2 endpoints:

  1. Get Checkout ID
  2. Get payment status

Find full details on set up your server page.

After that, setup 2 Uri objects with your endpoints specifications, refer to example/lib/constants for an example.

String _host = 'YOUR_HOST';

Uri checkoutEndpoint = Uri(
  scheme: 'https',
  host: _host,
  path: '',
);

Uri statusEndpoint = Uri(
  scheme: 'https',
  host: _host,
  path: '',
);

Setup HyperPay App Configuration

The first time you launch your app, setup the plugin with your configurations, it's highly recommended to use flavors to switch between modes.

Implement HyperpayConfig class and put your merchant entity IDs as provided to you by HyperPay.

class TestConfig implements HyperpayConfig {
  String? creditcardEntityID = '';
  String? madaEntityID = '';
  Uri checkoutEndpoint = _checkoutEndpoint;
  Uri statusEndpoint = _statusEndpoint;
  PaymentMode paymentMode = PaymentMode.test;
}

Then you might consider using Dart environment variables to switch between Test and Live modes.

const bool isDev = bool.fromEnvironment('DEV');

void setup() async {
  await HyperpayPlugin.instance.setup(
    config: isDev? TestConfig() : LiveConfig(),
  );
}

Usage

Refer to example directory for a full app usage example. As this is still an alpha release, consider testing your implementation first in the example app before starting in your own app.

Contribution

For any problems, please file an issue.

Contributions are more than welcome to fix bugs or extend this plugin!

Maintainers

Comments
  •  HandshakeException: Handshake error in client (OS Error:  	WRONG_VERSION_NUMBER(tls_record.cc:242))

    HandshakeException: Handshake error in client (OS Error: WRONG_VERSION_NUMBER(tls_record.cc:242))

    hyperscreen Dear eng. I hope you are fine. I just have a problem when connecting with my server and entering credit card data and press pay I find this error HandshakeException: Handshake error in client (OS Error: WRONG_VERSION_NUMBER(tls_record.cc:242))

    opened by MohamedEalbd 26
  • Android CustomTabs crash on API 30 and above

    Android CustomTabs crash on API 30 and above

    ` private fun bindCustomTabsService() { if (mClient != null) return try { val mConnection = object : CustomTabsServiceConnection() { override fun onCustomTabsServiceConnected(name: ComponentName, client: CustomTabsClient) { Log.d(TAG, "onCustomTabsServiceConnected CustomTabsClient = $mClient"); mClient = client mClient!!.warmup(0L); }

                override fun onServiceDisconnected(name: ComponentName?) {
                    mClient = null
                }
    
            }
            Log.d(TAG, "mConnection =  $mConnection");
    
            val ok = CustomTabsClient.bindCustomTabsService(mActivity!!, CUSTOM_TAB_PACKAGE_NAME, mConnection);
    
            Log.d(TAG, "bindCustomTabsService : ,ok = $ok ,CustomTabsClient = $mClient");
        } catch (e: Exception) {
            Log.e(TAG, "bindCustomTabsService = $e ");
        }
    }`
    

    bindCustomTabsServiceis always False !!

    @pr-Mais

    opened by AbdrahumanFikry 25
  • Host Name

    Host Name

    Dear eng. I hope you are fine. I just have small question which is String_host Value what do mean with it as i assigned "https://test.oppwa.com/" To it but it is false as in the run in terminal it says sting-host value is 4 hex digits. So i need your help. Besy regards.

    opened by ibrahim-atif 9
  • im in trouble with hyperpay flutter plugin

    im in trouble with hyperpay flutter plugin

    [HyperpayPlugin/getCheckoutID] HttpException: 400: {"result":{"code":"200.300.404","description":"invalid or missing parameter","parameterErrors":[{"name":"entityID","value":"my test entityId","message":"is not an allowed parameter"}]},"buildNumber":"01bd52148ce2598807fd43a4d36810f974eb028e@2022-04-01 07:48:59 +0000","timestamp":"2022-04-02 12:23:45+0000","ndc":"5B57484A2A9E90A0DF85D8C86427F6F1.uat01-vm-tx04"} there is my code:

    class TestConfig implements HyperpayConfig { String creditcardEntityID = 'test entityId'; String madaEntityID = ''; Uri checkoutEndpoint = _checkoutEndpoint; Uri statusEndpoint = _statusEndpoint; PaymentMode paymentMode = PaymentMode.test; }

    Uri _checkoutEndpoint = Uri(scheme: 'https', host: _host, path: '/v1/checkouts', queryParameters: { 'currency': 'JOD', 'paymentType': 'DB', });

    opened by suhaibAlbdoor 8
  • New Hyper Pay ThreeDSWorkflowListener

    New Hyper Pay ThreeDSWorkflowListener

    Implement challenge callback You need to implement ThreeDSWorkflowListener with onThreeDSChallengeRequired method for displaying challenge screen and onThreeDSConfigRequired method used for providing additional 3DS Service configuration.

    this thing required by hyper pay and the old kotlin code not working please update it .

    thank you

    opened by Abodysoma2021 3
  • I am getting an error in invalid or missing parameter  .. I don't know how to solve the issuse .. please help me out .

    I am getting an error in invalid or missing parameter .. I don't know how to solve the issuse .. please help me out .

    400: {"result":{"code":"200.300.404","description":"invalid or missing parameter","parameterErrors":[{"name":"entityID","value":"8ac7a4c87fce1108017fd0d0925e13a9","message":"is not an allowed parameter"}]},"buildNumber":"3d38ea0e4da85195867ec12eababc8d1828ecfa2@2022-09-23 00:42:34 +0000","timestamp":"2022-09-23 13:49:20+0000","ndc":"DC4EF09F01484266B259F3C6D02CFF5E.uat01-vm-tx02"}

    opened by Atharsaeed1 2
  • feat: Apple Pay 📱

    feat: Apple Pay 📱

    Support for Apple Pay.

    Closes #7.

    Checklist

    • [x] Implement the authorization sheet.
    • [x] Handle errors better.
    • [x] Native Apple Pay button widget.
    • [ ] Docs and examples.
    opened by pr-Mais 2
  • Transform's input file does not exist

    Transform's input file does not exist

    Hello, I faced this problem after adding all the required files I did (build project) and after that I got this problem ( Transform's input file does not exist: C:\Users\nizar\AndroidStudioProjects\nibrass4\android\oppwa.mobile\oppwa.mobile-3.6.0-release.aar. (See https://issuetracker.google.com/issues/158753935) ) I tried to do ( flutter clean ) and then I restarted the app then this problem appears (

    FAILURE: Build failed with an exception.

    • What went wrong: Execution failed for task ':app:mergeDebugAssets'.

    Could not resolve all files for configuration ':app:debugRuntimeClasspath'. Failed to transform oppwa.mobile-3.6.0-release.aar (project :oppwa.mobile) to match attributes {artifactType=android-assets}. > Execution failed for JetifyTransform: C:\Users\nizar\AndroidStudioProjects\nibrass4\android\oppwa.mobile\oppwa.mobile-3.6.0-release.aar. > Transform's input file does not exist: C:\Users\nizar\AndroidStudioProjects\nibrass4\android\oppwa.mobile\oppwa.mobile-3.6.0-release.aar. (See https://issuetracker.google.com/issues/158753935)

    • Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    • Get more help at https://help.gradle.org

    BUILD FAILED in 8s )

    opened by nizar-khan 2
  • [HyperpayPlugin/pay] MissingPluginException(No implementation found for method start_payment_transaction on channel hyperpay)

    [HyperpayPlugin/pay] MissingPluginException(No implementation found for method start_payment_transaction on channel hyperpay)

    Hey,

    I have followed the provided documentation step by step (https://pub.dev/packages/hyperpay) but the plugin is throwing an error on pay() i.e E[/DartMessenger]()(19361): at io.flutter.embedding.engine.dart.DartMessenger.lambda$handleMessageFromDart$0$DartMessenger(DartMessenger.java:206) E[/DartMessenger]()(19361): at io.flutter.embedding.engine.dart.-$$Lambda$DartMessenger$6ZD1MYkhaLxyPjtoFDxe45u43DI.run(Unknown Source:12) E[/DartMessenger]()(19361): at android.os.Handler.handleCallback(Handler.java:883) E[/DartMessenger]()(19361): at android.os.Handler.dispatchMessage(Handler.java:100) E[/DartMessenger]()(19361): at android.os.Looper.loop(Looper.java:264) E[/DartMessenger]()(19361): at android.app.ActivityThread.main(ActivityThread.java:7684) E[/DartMessenger]()(19361): at java.lang.reflect.Method.invoke(Native Method) E[/DartMessenger]()(19361): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) E[/DartMessenger]()(19361): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:980) [HyperpayPlugin[/pay]()] MissingPluginException(No implementation found for method start_payment_transaction on channel hyperpay) Code to reproduce:

    Init Function:

    Future<void> initPaymentSession(
        BrandType brandType,
        double amount,
      ) async {
        CheckoutSettings _checkoutSettings =
            CheckoutSettings(brand: brandType, amount: amount, headers: {
          'Authorization': "Bearer " + accessToken,
        }, additionalParams: {
          'merchantTransactionId': '#123456',
          'invoice_id': "",
          'brand': "$brandType['id']",
        });
    
        hyperpay.initSession(checkoutSetting: _checkoutSettings);
        sessionCheckoutID = await hyperpay.getCheckoutID;
      }
    
    

    The Payment Method

    CardInfo card = CardInfo(
            holder: holderNameController.text,
            cardNumber: cardNumberController.text.replaceAll(' ', ''),
            cvv: cvvController.text,
            expiryMonth: expiryController.text.split('/')[0],
            expiryYear: '20' + expiryController.text.split('/')[1],
          );
    
          try {
            // Start transaction
            if (sessionCheckoutID.isEmpty) {
            await initPaymentSession(BrandType.visa, 1);
            }
            print("Asdad");
            final result = await hyperpay.pay(card);
    
    

    Flutter Doctor Output: Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 2.8.1, on macOS 11.6 20G165 darwin-x64, locale en-PK) [✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0) [✓] Xcode - develop for iOS and macOS (Xcode 13.1) [✓] Chrome - develop for the web [✓] Android Studio (version 2020.3) [✓] VS Code (version 1.63.2) [✓] Connected device (2 available)

    • No issues found!

    opened by lambdatechdev 2
  • Could not find :oppwa.mobile-4.5.0-release

    Could not find :oppwa.mobile-4.5.0-release

    FAILURE: Build failed with an exception.

    • What went wrong: Execution failed for task ':app:checkDebugAarMetadata'.

    Could not resolve all files for configuration ':app:debugRuntimeClasspath'. Could not find :oppwa.mobile-4.5.0-release:. Required by: project :app

    opened by mjidaladin 1
  • invalid or missing parameter

    invalid or missing parameter

    it's shows me this error message event though i parse the entity ID's

    Uri _checkoutEndpoint = Uri(
      scheme: 'https',
      host: 'eu-test.oppwa.com',
      path: 'v1/checkouts',
      queryParameters: {
        'entityId': 'alsdkjfalskdjl923479523hkasjf',
      },
    );
    
    Uri _statusEndpoint = Uri(
      scheme: 'https',
      host: 'eu-test.oppwa.com',
      path: 'v1/payments',
      queryParameters: {
        'entityId': 'alsdkjfalskdjl923479523hkasjf',
      },
    );
    

    [{"name":"entityId","value":null,"message":"invalid or missing parameter"}]}

    opened by fnrapp 1
  • Could not cast value of type 'NSNull' (0x7ff863f30f58) to 'NSString' (0x7ff863f2e638).

    Could not cast value of type 'NSNull' (0x7ff863f30f58) to 'NSString' (0x7ff863f2e638).

    Executing this line

    final result = await hyperpay.pay(card);

    Results in this error

    Could not cast value of type 'NSNull' (0x7ff863f30f58) to 'NSString' (0x7ff863f2e638).

    and app crashes.

    hyperpay: ^1.0.0-dev.7

    opened by shadyaziza 0
  • build(deps): bump http from 0.13.4 to 0.13.5

    build(deps): bump http from 0.13.4 to 0.13.5

    Bumps http from 0.13.4 to 0.13.5.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  •  leaked ServiceConnection

    leaked ServiceConnection

    Hello, I am getting this error whenever I try to make payment, then I close the app on Android devices only.

    E/ActivityThread( 6995): Activity io.flutter.embedding.android.FlutterActivity has leaked ServiceConnection com.nyartech.hyperpay.HyperpayPlugin$cctConnection$1@d6b85e0 that was originally bound here E/ActivityThread( 6995): android.app.ServiceConnectionLeaked: Activity io.flutter.embedding.android.FlutterActivity has leaked ServiceConnection com.nyartech.hyperpay.HyperpayPlugin$cctConnection$1@d6b85e0 that was originally bound here E/ActivityThread( 6995): at android.app.LoadedApk$ServiceDispatcher.(LoadedApk.java:1934) E/ActivityThread( 6995): at android.app.LoadedApk.getServiceDispatcherCommon(LoadedApk.java:1806) E/ActivityThread( 6995): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:1785) E/ActivityThread( 6995): at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1965) E/ActivityThread( 6995): at android.app.ContextImpl.bindService(ContextImpl.java:1896) E/ActivityThread( 6995): at android.content.ContextWrapper.bindService(ContextWrapper.java:810) E/ActivityThread( 6995): at androidx.browser.customtabs.CustomTabsClient.bindCustomTabsService(CustomTabsClient.java:80) E/ActivityThread( 6995): at com.nyartech.hyperpay.HyperpayPlugin.onMethodCall(HyperpayPlugin.kt:189) E/ActivityThread( 6995): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:262) E/ActivityThread( 6995): at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295) E/ActivityThread( 6995): at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$DartMessenger(DartMessenger.java:319) E/ActivityThread( 6995): at io.flutter.embedding.engine.dart.-$$Lambda$DartMessenger$TsixYUB5E6FpKhMtCSQVHKE89gQ.run(Unknown Source:12) E/ActivityThread( 6995): at android.os.Handler.handleCallback(Handler.java:938) E/ActivityThread( 6995): at android.os.Handler.dispatchMessage(Handler.java:99) E/ActivityThread( 6995): at android.os.Looper.loopOnce(Looper.java:201) E/ActivityThread( 6995): at android.os.Looper.loop(Looper.java:288) E/ActivityThread( 6995): at android.app.ActivityThread.main(ActivityThread.java:7813) E/ActivityThread( 6995): at java.lang.reflect.Method.invoke(Native Method) E/ActivityThread( 6995): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) E/ActivityThread( 6995): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)

    I had this problem previously on an old hyperpay sdk, I could solve it by adding this to MainActivity.java : @Override public void onDestroy() { super.onDestroy();

        if (serviceConnection != null) {
            unbindService(serviceConnection);
        }
    }
    

    But I don't know how to solve it in Kotlin, please help, it is making my crashlytics a nightmare

    opened by mhamTech 5
  • CustomTabIntent Closed On App In Background

    CustomTabIntent Closed On App In Background

    Android When CustomTabIntent Open For Entering The OTP Code , If I Send App To The Background The Custom Tab Closed And Return With Cancelled Status .

    opened by Abodysoma2021 1
Releases(v1.1.0-dev.0)
  • v1.1.0-dev.0(Oct 27, 2022)

    What's Changed

    • upgrade android sdk and ios sdk to 4.6.0 by @shreyasheww in https://github.com/nyartech/hyperpay/pull/38

    New Contributors

    • @shreyasheww made their first contribution in https://github.com/nyartech/hyperpay/pull/38

    Full Changelog: https://github.com/nyartech/hyperpay/compare/v1.0.0-dev.4...v1.1.0-dev.0

    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-dev.4(Oct 27, 2022)

    What's Changed

    • fix: support 3DS by @Abdox3 in https://github.com/nyartech/hyperpay/pull/37

    New Contributors

    • @Abdox3 made their first contribution in https://github.com/nyartech/hyperpay/pull/37

    Full Changelog: https://github.com/nyartech/hyperpay/compare/v1.0.0-dev.3...v1.0.0-dev.4

    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-dev.3(Sep 4, 2022)

    What's Changed

    • feat: Apple Pay 📱 by @pr-Mais in https://github.com/nyartech/hyperpay/pull/18
    • fix: bump iOS & Android sdk to version 4.5.0 by @pr-Mais in https://github.com/nyartech/hyperpay/pull/30

    Full Changelog: https://github.com/nyartech/hyperpay/compare/v0.0.9-alpha...v1.0.0-dev.3

    Source code(tar.gz)
    Source code(zip)
  • v0.0.9-alpha(Apr 24, 2022)

    What's Changed

    • fix: ignore case in Android package name and scheme by @pr-Mais in https://github.com/nyartech/hyperpay/pull/12
    • fix: upgrade Android's browser dependency by @pr-Mais in https://github.com/nyartech/hyperpay/pull/20

    New Contributors

    • @pr-Mais made their first contribution in https://github.com/nyartech/hyperpay/pull/12

    Full Changelog: https://github.com/nyartech/hyperpay/compare/v0.0.7-alpha...v0.0.9-alpha

    Source code(tar.gz)
    Source code(zip)
  • v0.0.8-alpha(Mar 1, 2022)

    What's Changed

    • fix: ignore case in Android package name and scheme by @pr-Mais in https://github.com/nyartech/hyperpay/pull/12

    New Contributors

    • @pr-Mais made their first contribution in https://github.com/nyartech/hyperpay/pull/12

    Full Changelog: https://github.com/nyartech/hyperpay/compare/v0.0.6-alpha...v0.0.8-alpha

    Source code(tar.gz)
    Source code(zip)
  • v0.0.7-alpha(Mar 1, 2022)

  • v0.0.6-alpha(Nov 7, 2021)

  • v0.0.5-alpha(Sep 27, 2021)

    What's Changed

    • Fix unwrapped optional error value by @hadysata in https://github.com/nyartech/hyperpay/pull/1
    • doc: fix quotation marks symbol by @hadysata in https://github.com/nyartech/hyperpay/pull/2

    New Contributors

    • @hadysata made their first contribution in https://github.com/nyartech/hyperpay/pull/1

    Full Changelog: https://github.com/nyartech/hyperpay/compare/v0.0.4-alpha...v0.0.5-alpha

    Source code(tar.gz)
    Source code(zip)
  • v0.0.4-alpha(Sep 7, 2021)

  • v0.0.3-alpha(Aug 25, 2021)

  • v0.0.2-alpha(Aug 25, 2021)

  • v0.0.1-alpha(Aug 25, 2021)

Owner
NyarTech
Development and consultancy for IT products and services
NyarTech
Alter SDK is a cross-platform SDK consisting of a real-time 3D avatar system, facial motion capture, and an Avatar Designer component built from scratch for web3 interoperability and the open metaverse.

Alter SDK is a cross-platform SDK consisting of a real-time 3D avatar system, facial motion capture, and an Avatar Designer component built from scratch for web3 interoperability and the open metaverse.

Alter 45 Nov 29, 2022
Px-mobile-sdk-demo-app - PerimeterX Mobile SDK - Demo App

About PerimeterX PerimeterX is the leading provider of application security solu

PerimeterX 1 Nov 20, 2022
All in one eKYC (Electronic Know Your Customer) solution available for android and ios

WideKYC All in one eKYC (Electronic Know Your Customer) solution available for android and ios. Wide Technologies provides an SDK for you to implement

Wide Technologies Indonesia 5 Nov 2, 2022
gradle plugin for building Xcode Projects for iOS, watchOS, macOS or tvOS

gradle-xcodePlugin The gradle xcode plugin (gxp) makes it easier to build Xcode projects by specifying the build settings in a single configuration fi

null 444 Dec 5, 2022
The Gini Bank SDK provides components for capturing, reviewing and analyzing photos of invoices and remittance slips.

Gini Bank SDK for iOS The Gini Bank SDK provides components for capturing, reviewing and analyzing photos of invoices and remittance slips. By integra

Gini GmbH 0 Dec 16, 2021
Sample app to demonstrate the integration code and working of Dyte SDK for iOS, using Objective-C.

iOS sample app (using Objective-C) by dyte Sample app to demonstrate the usage of Dyte iOS SDK Explore the docs » View Demo · Report Bug · Request Fea

Dyte 8 Nov 26, 2021
MbientLab 2 Feb 5, 2022
A simple to use iOS/tvOS/watchOS SDK to help get you off the ground quickly and efficiently with your Elastic Path Commerce Cloud written in Swift.

Elastic Path Commerce Cloud iOS Swift SDK A simple to use iOS/tvOS/watchOS SDK to help get you off the ground quickly and efficiently with your Elasti

Moltin 36 Aug 1, 2022
Native iOS implementation of RadarCOVID tracing client using DP3T iOS SDK

RadarCOVID iOS App Introduction Native iOS implementation of RadarCOVID tracing client using DP3T iOS SDK Prerequisites These are the tools used to bu

Radar COVID 146 Nov 24, 2022
PayByBank SDK is an alternative and easier form of Open Banking solutions.

PayByBank SDK (iOS) The Ecospend Gateway presents PayByBank SDK as an alternative and easier form of Open Banking Instant Payment solutions. PayByBank

Ecospend Technologies Limited 8 Oct 10, 2022
TelegramStickersImport — Telegram stickers importing SDK for iOS

TelegramStickersImport — Telegram stickers importing SDK for iOS TelegramStickersImport helps your users import third-party programaticaly created sti

null 35 Oct 26, 2022
Muxer used on top of Feed iOS SDK for airplay

FeedAirplayMuxer Muxer used on top of Feed iOS SDK for airplay purposes. Demo Project --> https://github.com/feedfm/AirplayDemo Feed Airplay Muxer is

Feed Media 0 May 6, 2022
Basispay IOS SDK Version 2

BasisPay-IOS-KIT BasisPay IOS Payment Gateway kit for developers INTRODUCTION This document describes the steps for integrating Basispay online paymen

null 0 Oct 21, 2021
Release repo for Gini Bank SDK for iOS

Gini Bank SDK for iOS The Gini Bank SDK provides components for capturing, reviewing and analyzing photos of invoices and remittance slips. By integra

Gini GmbH 1 Dec 6, 2022
Da Xue Zhang Platform Lvb iOS SDK

Cloud_Lvb_SDK iOS API Reference Dxz Meeting iOS SDK是为 iOS 平台用户音视频服务的开源 SDK。通过大学长开放平台自研RTC,RTM系统,为客户提供质量可靠的音视频服务。 类 类名 描述 CLS_PlatformManager SDK的音视频主要

null 8 Jan 10, 2022
PayPal iOS SDK

PayPal iOS SDK Welcome to PayPal's iOS SDK. This library will help you accept card, PayPal, Venmo, and alternative payment methods in your iOS app. Su

PayPal 25 Dec 14, 2022
Unofficial Notion API SDK for iOS & macOS

NotionSwift Unofficial Notion SDK for iOS & macOS. This is still work in progress version, the module interface might change. API Documentation This l

Wojciech Chojnacki 59 Jan 8, 2023
150,000+ stickers API & SDK for iOS Apps.

English | 한국어 Stipop UI SDK for iOS Stipop SDK provides over 150,000 .png and .gif stickers that can be easily integrated into mobile app chats, comme

Stipop, Inc. 19 Dec 20, 2022
Spotify SDK for iOS

Spotify iOS SDK Overview The Spotify iOS framework allows your application to interact with the Spotify app running in the background on a user's devi

Spotify 522 Jan 6, 2023