Paystack SDK for iOS. Accept Payments on iOS

Overview

Paystack iOS SDK

CocoaPods Carthage compatible CocoaPods CocoaPods

The Paystack iOS SDK make it easy to collect your users' credit card details inside your iOS app. By charging the card immediately on our servers, Paystack handles the bulk of PCI compliance by preventing sensitive card data from hitting your server.

This library helps collect card details on iOS, completing a charge. This shoulders the burden of PCI compliance by helping you avoid the need to send card data directly to your server. Instead you send to Paystack's server and get a reference which you can verify in your server-side code. The verify call returns an authorization_code. Subsequent charges can then be made using the authorization_code.

Requirements

Our SDK is compatible with iOS apps supporting iOS 8.0 and above. It requires Xcode 8.0+ to build the source.

You will also need to add Keychain Sharing entitlements for your app.

Integration

We've written a guide that explains everything from installation, to charging cards and more.

Example app

There is an example app included in the repository:

  • Paystack iOS Example shows a minimal Swift integration with our iOS SDK using PSTCKPaymentCardTextField, a native credit card UI form component we provide. It uses a small example backend to make charges.

To build and run the example apps, open Paystack.xcworkspace and choose the appropriate scheme.

Getting started with the Simple iOS Example App

Note: The example app requires Xcode 8.0 to build and run.

Before you can run the app, you need to provide it with your Paystack public key.

  1. If you haven't already, sign up for a Paystack account (it takes seconds). Then go to https://dashboard.paystack.co/#/settings/developer.
  2. Replace the paystackPublicKey constant in ViewController.swift (for the Sample app) with your Test Public Key.
  3. Head to https://github.com/paystackhq/sample-charge-card-backend and click "Deploy to Heroku" (you may have to sign up for a Heroku account as part of this process). Provide your Paystack test secret key for the PAYSTACK_TEST_SECRET_KEY field under 'Env'. Click "Deploy for Free".
  4. Replace the backendURLString variable in the example iOS app with the app URL Heroku provides you with (e.g. "https://my-example-app.herokuapp.com") WITHOUT THE TRAILING '/'

Making a test Charge

After completing the steps required above, you can (and should) test your implementation of the Paystack iOS library in your iOS app. You need the details of an actual debit/credit card to do this, so we provide ##test cards## for your use instead of using your own debit/credit cards.

You will find test cards on this Paystack documentation page.

To try out the OTP flow, we have provided a test "verve" card:

50606 66666 66666 6666
CVV: 123
PIN: 1234
TOKEN: 123456

You can then view the payments in your Paystack Dashboard!

Misc. notes

Handling errors

See PaystackError.h for a list of error codes that may be returned from the Paystack API.

Comments
  • _OBJC_CLASS_$_PSTCKTransactionParams

    _OBJC_CLASS_$_PSTCKTransactionParams

    file was built for x86_64 which is not the architecture being linked (arm64)

    i'm working in Xcode 8.1 in objective C. The library is working fine in the stimulater. When i try to run it on my device iPhone 6 (10.1)

    Xcode shows the error ld: warning: ignoring file /Users/osx/Desktop/SAMagazine/Paystack.framework/Paystack, file was built for x86_64 which is not the architecture being linked (arm64): /Users/osx/Desktop/SAMagazine/Paystack.framework/Paystack Undefined symbols for architecture arm64: "OBJC_CLASS$_PSTCKTransactionParams", referenced from: objc-class-ref in SubscriptionViewController.o screen shot 2016-12-07 at 9 41 38 am

    bug 
    opened by jaipreetSingh50 10
  • 'Fabric+FABKits.h' file not found

    'Fabric+FABKits.h' file not found

    Problem/Motivation

    Install new paysatck sdk because of webview issue

    Proposed resolution

    'Fabric+FABKits.h' file not found in PSTCKAPIClient.m

    Repeatable

    Always|Sometimes|Specific conditions|Specific times Always (If it is a bug, you are reporting lease specify:)

    Steps to repeat: (Describe how the issue can be repeated by someone who is to work on it)

    1. Step 1
    2. Step 2
    3. ...

    Expected Results:

    (What you expected steps 1, 2 and 3 to give)

    Actual Results:

    (What is gave including any error messages, memory dump etc that can help)

    opened by ankitgauravapporio 6
  • Update guide

    Update guide

    The doc need a little upgrade if let card = paymentTextField.cardParams as? PSTCKCardParams this particular line And can you add some example if am trying to add card from my own textField

    bug good first issue 
    opened by sagaya 6
  • 'new' is unavailable: You cannot directly instantiate an PSTCKTransaction...

    'new' is unavailable: You cannot directly instantiate an PSTCKTransaction...

    Problem

    I get this error during build time in Xcode 12.5 in the "PSTCKAPIClient.m" file: "'new' is unavailable: You cannot directly instantiate an PSTCKTransaction. You should only use one that has been returned from an PSTCKAPIClient callback."

    Steps to reproduce

    1. Create a new project with Xcode 12.5
    2. Install the Paystack SDK(v 3.0.15) using CocoaPods
    3. Build the project.

    Expected Results

    Successful build.

    Actual Results:

    "'new' is unavailable: You cannot directly instantiate an PSTCKTransaction. You should only use one that has been returned from an PSTCKAPIClient callback."

    Screenshot 2021-05-01 at 16 42 02

    opened by enkkashley 5
  • Payment UI for iOS and Android App

    Payment UI for iOS and Android App

    I have created a test account to integrate this lib in our app. And i found a payment page in the dashboard, My question is that can we access this payment page through app and how we can access this page through the app as there is no example regarding this feature in the demo application include in this repo. Is it possible than how. Or we have to create own UI for payment through the application Please revert as soon as possible Thanks

    wontfix 
    opened by ajjumehra 5
  • Access Code does not match public key?

    Access Code does not match public key?

    Problem/Motivation

    (Why the issue was filed, steps to reproduce the problem, etc.)

    Proposed resolution

    (Description of the proposed solution, the rationale behind it, and workarounds for people who cannot use the patch.)

    Repeatable

    Always|Sometimes|Specific conditions|Specific times

    (If it is a bug, you are reporting lease specify:)

    Steps to repeat: (Describe how the issue can be repeated by someone who is to work on it)

    1. Step 1
    2. Step 2
    3. ...

    Expected Results:

    (What you expected steps 1, 2 and 3 to give)

    Actual Results:

    (What is gave including any error messages, memory dump etc that can help) Hi Getting this error "UserInfo={NSLocalizedDescription=There was an error processing your card -- try again in a few seconds, com.paystack.lib:ErrorMessageKey=Access Code does not match public key" Please help me out? What is about this error? Thanks

    opened by JittenderKumar 4
  • Setup CodeQL for SAST

    Setup CodeQL for SAST

    Setup CodeQL for SAST

    Commit to add CodeQL workflow for Static App Security Testing.

    Description

    Commit to add CodeQL workflow for Static App Security Scanning.

    Motivation and Context

    This commit allows us to run Github CodeQl as Github Actions and use CodeQL as a Static Application Security Testing tool to identify security vulnerabilities in code before it gets merged to master and deployments made.

    Acceptance Criteria

    Screenshots (if appropriate)

    Types of changes

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [x] My pull request addresses exactly one patch/feature.
    • [x] I have created a branch for this patch/feature.
    • [x] Each individual commit in the pull request is meaningful. (Please rebase, removing useless commits if not)
    • [ ] I have added tests to cover my changes.
    • [ ] All new and existing tests passed.
    • [x] My code follows the code style of this project.
    • [ ] My change requires change(s) to the environment.
    • [ ] My change requires change(s) to the database.
    • [ ] Other information.

    Fixes #0 (Enter the number for the issue this fixes. If you have not yet created an issue, please do so now or delete this line if you are only submitting a patch)

    Changes made by this pull request

    opened by eyitemi-paystack 3
  • Feature/update charge endpoints

    Feature/update charge endpoints

    Changes made by this pull request

    • This PR switches the enpoints used by the SDK from the mobile charge endpoint to the Paystack public API. This aims to resolve many of the reliability issues reported by developers.
    opened by jubril-paystack 3
  • usage of Deprecated UIWebView

    usage of Deprecated UIWebView

    Problem/Motivation

    Possible rejection of iOS apps due to usage of deprecated UIWebview in PSTCKAuthViewController WhatsApp Image 2019-10-15 at 12 07 59

    Proposed resolution

    Remove deprecated UIWebView for WKWebView

    opened by demistry 3
  • Removed availability annotation on init method

    Removed availability annotation on init method

    Fixes #50

    Context

    From Xcode 12.5 Release Notes:

    Clang now infers the availability of +new from availability annotations on -init methods.

    Problem identified

    The availability annotation on the init method in PSTCKTransaction is throwing a semantic issue because it has been marked unavailable.

    Changes made by this pull request

    • Removed availability annotation on init method in PSTCKTransaction
    opened by ahmed-paystack 2
  • SonarCloud Configuration

    SonarCloud Configuration

    - Updated Gemfile to pull Slather
    - Added Sonar properties file
    -  Create Github Actions workflow to run metrics lane with Fastlane
    - Created a Lane to run to tests and upload stats to SonarCloud
    - Enabled code coverage on Paystack iOS Tests and iOS Example schemes
    
    CI 
    opened by Peter-John-paystack 2
  • Bump addressable from 2.7.0 to 2.8.1

    Bump addressable from 2.7.0 to 2.8.1

    Bumps addressable from 2.7.0 to 2.8.1.

    Changelog

    Sourced from addressable's changelog.

    Addressable 2.8.1

    • refactor Addressable::URI.normalize_path to address linter offenses (#430)
    • remove redundant colon in Addressable::URI::CharacterClasses::AUTHORITY regex (#438)
    • update gemspec to reflect supported Ruby versions (#466, #464, #463)
    • compatibility w/ public_suffix 5.x (#466, #465, #460)
    • fixes "invalid byte sequence in UTF-8" exception when unencoding URLs containing non UTF-8 characters (#459)
    • Ractor compatibility (#449)
    • use the whole string instead of a single line for template match (#431)
    • force UTF-8 encoding only if needed (#341)

    #460: sporkmonger/addressable#460 #463: sporkmonger/addressable#463 #464: sporkmonger/addressable#464 #465: sporkmonger/addressable#465 #466: sporkmonger/addressable#466

    Addressable 2.8.0

    • fixes ReDoS vulnerability in Addressable::Template#match
    • no longer replaces + with spaces in queries for non-http(s) schemes
    • fixed encoding ipv6 literals
    • the :compacted flag for normalized_query now dedupes parameters
    • fix broken escape_component alias
    • dropping support for Ruby 2.0 and 2.1
    • adding Ruby 3.0 compatibility for development tasks
    • drop support for rack-mount and remove Addressable::Template#generate
    • performance improvements
    • switch CI/CD to GitHub Actions
    Commits
    • 8657465 Update version, gemspec, and CHANGELOG for 2.8.1 (#474)
    • 4fc5bb6 CI: remove Ubuntu 18.04 job (#473)
    • 860fede Force UTF-8 encoding only if needed (#341)
    • 99810af Merge pull request #431 from ojab/ct-_do_not_parse_multiline_strings
    • 7ce0f48 Merge branch 'main' into ct-_do_not_parse_multiline_strings
    • 7ecf751 Merge pull request #449 from okeeblow/freeze_concatenated_strings
    • 41f12dd Merge branch 'main' into freeze_concatenated_strings
    • 068f673 Merge pull request #459 from jarthod/iso-encoding-problem
    • b4c9882 Merge branch 'main' into iso-encoding-problem
    • 08d27e8 Merge pull request #471 from sporkmonger/sporkmonger-enable-codeql
    • Additional commits viewable in compare view

    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump jmespath from 1.4.0 to 1.6.1

    Bump jmespath from 1.4.0 to 1.6.1

    Bumps jmespath from 1.4.0 to 1.6.1.

    Release notes

    Sourced from jmespath's releases.

    Release v1.6.1 - 2022-03-07

    • Issue - Use JSON.parse instead of JSON.load.

    Release v1.6.0 - 2022-02-14

    • Feature - Add support for string comparissons.

    Release v1.5.0 - 2022-01-10

    • Support implicitly convertible objects/duck-type values responding to to_hash and to_ary.

      [See related GitHub pull request #51](jmespath/jmespath.rb#51).

    Changelog

    Sourced from jmespath's changelog.

    1.6.1 (2022-03-07)

    • Issue - Use JSON.parse instead of JSON.load.

    1.6.0 (2022-02-14)

    • Feature - Add support for string comparisons.

    1.5.0 (2022-01-10)

    • Support implicitly convertible objects/duck-type values responding to to_hash and to_ary.

      [See related GitHub pull request #51](jmespath/jmespath.rb#51).

    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump nokogiri from 1.11.7 to 1.13.6

    Bump nokogiri from 1.11.7 to 1.13.6

    Bumps nokogiri from 1.11.7 to 1.13.6.

    Release notes

    Sourced from nokogiri's releases.

    1.13.6 / 2022-05-08

    Security

    • [CRuby] Address CVE-2022-29181, improper handling of unexpected data types, related to untrusted inputs to the SAX parsers. See GHSA-xh29-r2w5-wx8m for more information.

    Improvements

    • {HTML4,XML}::SAX::{Parser,ParserContext} constructor methods now raise TypeError instead of segfaulting when an incorrect type is passed.

    sha256:

    58417c7c10f78cd1c0e1984f81538300d4ea98962cfd3f46f725efee48f9757a  nokogiri-1.13.6-aarch64-linux.gem
    a2b04ec3b1b73ecc6fac619b41e9fdc70808b7a653b96ec97d04b7a23f158dbc  nokogiri-1.13.6-arm64-darwin.gem
    4437f2d03bc7da8854f4aaae89e24a98cf5c8b0212ae2bc003af7e65c7ee8e27  nokogiri-1.13.6-java.gem
    99d3e212bbd5e80aa602a1f52d583e4f6e917ec594e6aa580f6aacc253eff984  nokogiri-1.13.6-x64-mingw-ucrt.gem
    a04f6154a75b6ed4fe2d0d0ff3ac02f094b54e150b50330448f834fa5726fbba  nokogiri-1.13.6-x64-mingw32.gem
    a13f30c2863ef9e5e11240dd6d69ef114229d471018b44f2ff60bab28327de4d  nokogiri-1.13.6-x86-linux.gem
    63a2ca2f7a4f6bd9126e1695037f66c8eb72ed1e1740ef162b4480c57cc17dc6  nokogiri-1.13.6-x86-mingw32.gem
    2b266e0eb18030763277b30dc3d64337f440191e2bd157027441ac56a59d9dfe  nokogiri-1.13.6-x86_64-darwin.gem
    3fa37b0c3b5744af45f9da3e4ae9cbd89480b35e12ae36b5e87a0452e0b38335  nokogiri-1.13.6-x86_64-linux.gem
    b1512fdc0aba446e1ee30de3e0671518eb363e75fab53486e99e8891d44b8587  nokogiri-1.13.6.gem
    

    1.13.5 / 2022-05-04

    Security

    Dependencies

    • [CRuby] Vendored libxml2 is updated from v2.9.13 to v2.9.14.

    Improvements

    • [CRuby] The libxml2 HTML4 parser no longer exhibits quadratic behavior when recovering some broken markup related to start-of-tag and bare < characters.

    Changed

    • [CRuby] The libxml2 HTML4 parser in v2.9.14 recovers from some broken markup differently. Notably, the XML CDATA escape sequence <![CDATA[ and incorrectly-opened comments will result in HTML text nodes starting with &lt;! instead of skipping the invalid tag. This behavior is a direct result of the quadratic-behavior fix noted above. The behavior of downstream sanitizers relying on this behavior will also change. Some tests describing the changed behavior are in test/html4/test_comments.rb.

    ... (truncated)

    Changelog

    Sourced from nokogiri's changelog.

    1.13.6 / 2022-05-08

    Security

    • [CRuby] Address CVE-2022-29181, improper handling of unexpected data types, related to untrusted inputs to the SAX parsers. See GHSA-xh29-r2w5-wx8m for more information.

    Improvements

    • {HTML4,XML}::SAX::{Parser,ParserContext} constructor methods now raise TypeError instead of segfaulting when an incorrect type is passed.

    1.13.5 / 2022-05-04

    Security

    Dependencies

    • [CRuby] Vendored libxml2 is updated from v2.9.13 to v2.9.14.

    Improvements

    • [CRuby] The libxml2 HTML parser no longer exhibits quadratic behavior when recovering some broken markup related to start-of-tag and bare < characters.

    Changed

    • [CRuby] The libxml2 HTML parser in v2.9.14 recovers from some broken markup differently. Notably, the XML CDATA escape sequence <![CDATA[ and incorrectly-opened comments will result in HTML text nodes starting with &lt;! instead of skipping the invalid tag. This behavior is a direct result of the quadratic-behavior fix noted above. The behavior of downstream sanitizers relying on this behavior will also change. Some tests describing the changed behavior are in test/html4/test_comments.rb.

    1.13.4 / 2022-04-11

    Security

    Dependencies

    • [CRuby] Vendored zlib is updated from 1.2.11 to 1.2.12. (See LICENSE-DEPENDENCIES.md for details on which packages redistribute this library.)
    • [JRuby] Vendored Xerces-J (xerces:xercesImpl) is updated from 2.12.0 to 2.12.2.
    • [JRuby] Vendored nekohtml (org.cyberneko.html) is updated from a fork of 1.9.21 to 1.9.22.noko2. This fork is now publicly developed at https://github.com/sparklemotion/nekohtml

    ... (truncated)

    Commits
    • b7817b6 version bump to v1.13.6
    • 61b1a39 Merge pull request #2530 from sparklemotion/flavorjones-check-parse-memory-ty...
    • 83cc451 fix: {HTML4,XML}::SAX::{Parser,ParserContext} check arg types
    • 22c9e5b version bump to v1.13.5
    • 6155881 doc: update CHANGELOG for v1.13.5
    • c519a47 Merge pull request #2527 from sparklemotion/2525-update-libxml-2_9_14-v1_13_x
    • 66c2886 dep: update libxml2 to v2.9.14
    • b7c4cc3 test: unpend the LIBXML_LOADED_VERSION test on freebsd
    • eac7934 dev: require yaml
    • f3521ba style(rubocop): pend Style/FetchEnvVar for now
    • Additional commits viewable in compare view

    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • new' is unavailable: You cannot directly instantiate an PSTCKTransaction.

    new' is unavailable: You cannot directly instantiate an PSTCKTransaction.

    Problem/Motivation

    Error message:

    new' is unavailable: You cannot directly instantiate an PSTCKTransaction. You should only use one that has been returned from an PSTCKAPIClient callback.

    Screenshot 2021-06-25 at 21 30 27

    Everything was working perfectly until I updated Xcode.

    Xcode version: Version 12.5 (12E262)

    opened by Ahyox 6
  • Paystack ios SDK  3.0.15 not building on xcode 12

    Paystack ios SDK 3.0.15 not building on xcode 12

    'new' is unavailable: You cannot directly instantiate an PSTCKTransaction. You should only use one that has been returned from an PSTCKAPIClient callback.

    That is the error i get for everytime i want to build my application. Please i need your urgent intervention as it is stopping my whole solution to build Screenshot 2021-05-06 at 17 31 32

    opened by pelexy 3
  • Paystack Live mode not working properly

    Paystack Live mode not working properly

    Problem/Motivation

    Live mode not working with public key. After enter card details redirecting to otp request , after otp entered, again returns back to app nothing error thrown.

    Proposed resolution

    (Description of the proposed solution, the rationale behind it, and workarounds for people who cannot use the patch.)

    Repeatable

    Always|Sometimes|Specific conditions|Specific times

    (If it is a bug, you are reporting lease specify:)

    Steps to repeat: (Describe how the issue can be repeated by someone who is to work on it)

    1. Step 1
    2. Step 2
    3. ...

    Expected Results:

    (What you expected steps 1, 2 and 3 to give)

    Actual Results:

    (What is gave including any error messages, memory dump etc that can help)

    opened by ghost 1
Releases(v3.0.15)
Owner
Paystack
Paystack
Paystack
A robust Flutter plugin for making payments via Paystack Payment Gateway. Completely supports Android and iOS

?? Paystack Plugin for Flutter A Flutter plugin for making payments via Paystack Payment Gateway. Fully supports Android and iOS. ?? Installation To u

Wilberforce Uwadiegwu 165 Jan 4, 2023
Item selling mobile app with secure payments with Payhere payment gateway. Auto APK generation with github actions CI/CD.

payhere_demo A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if

Shihara Dilshan 2 Jan 20, 2022
Hybrid App build on flutter SDK able to run on Android, IOS, web, desktop

Codeforces Visualizer APP Ready to use Flutter Application. Uses codeforces API. Useful for codeforces programmers. ScreenShots Single User Page Compa

vikas yadav 13 Dec 31, 2022
A Flutter plugin that supports Pangle SDK on Android and iOS.

Thanks for non-commercial open source development authorization by JetBrains. 穿山甲 Flutter SDK `pangle_flutter`是一款集成了字节跳动穿山甲 Android 和 iOS SDK的 Flutter

null 121 Dec 2, 2022
Cross platform application for iOS and Android using Google's SDK Flutter.

scout Cross platform application for iOS and Android using Google's SDK Flutter. Launch screen for the application. The menu for selecting cookies. Cu

null 0 Nov 9, 2021
Quickstart guide for the Agora Flutter SDK(Android/iOS)

Agora Flutter Quickstart This tutorial describes how to create an Agora account and build a sample app with Agora using Flutter. Other Languages: 简体中文

Agora.io Community 501 Dec 30, 2022
Task List application developed in Dart language with SDK Flutter for Android, iOS and Web

Task List application developed in Dart language with SDK (Software Development Kit) Flutter for Android, iOS and Web.

João Bruno 2 Jun 2, 2022
A Flutter plugin for the Google Mobile Ads SDK

A Flutter plugin for the Google Mobile Ads SDK

Google Ads 251 Jan 2, 2023
P2P payment solution using Stream's Flutter SDK and Rapyd's Wallet API

Peer-to-peer payment integration to a messaging app using Flutter ?? This project shows how to integrate a peer-to-peer payment solution to your Strea

Souvik Biswas 15 Dec 8, 2022
Official plugin for using Thepeer SDK with flutter https://thepeer.co

Flutter Thepeer This package makes it easy to use the Thepeer in a flutter project. ?? Screen Shots ?? How to Use plugin ThePeer Send Launch ThepeerSe

The Peer 23 Dec 27, 2022
A simple chat app UI using flutter SDK project.

Chatty App A simple chat app UI using flutter SDK project. Screenshot Getting Started This project is a starting point for a Flutter application. A fe

Tengku Belmiro 5 Jul 15, 2022
Flutter SDK for Stripe.

Flutter Stripe The Stripe Flutter SDK allows you to build delightful payment experiences in your native Android and iOS apps using Flutter. We provide

null 633 Jan 7, 2023
Official Flutter SDK for Khalti Payment systems

Khalti Payment Gateway for Flutter Use Khalti Payment Gateway solution in your app or website to simplify payment for your customers. You do not need

Khalti 16 Oct 13, 2022
The official sdk for the user-friendly API of Mega services on the Dart language.

megasdkdart The official sdk for the user-friendly API of Mega services in the Dart language. Example: import 'package:megasdkdart/megasdkdart.dart';

meg4cyberc4t 4 Mar 30, 2022
Official sdk for vchat

V_Chat_SDK Micro service Check Our Full documention VCHAT DOCS Quick Review Android IOS Don't forget to see the example attached to github here V_CHAT

Hatem Ragab 42 Dec 17, 2022
This project is the HERE SDK reference application for Flutter

HERE SDK Reference Application for Flutter The reference application for the HERE SDK for Flutter (Navigate Edition) shows how a complex and release-r

HERE Technologies 32 Dec 15, 2022
A Social App Built Using FLutter SDK.

Hi ?? , I'm Faheem ??‍?? A Social App Built Using FLutter SDK. The main objective of this application is to provide a single platform for the Students

Faheem Ahmad 26 Nov 10, 2022
Flutter Video Conferencing SDK & Sample App

100ms Flutter SDK ?? Here you will find everything you need to build experiences with video using 100ms iOS/Android SDK. Dive into our SDKs, quick sta

100ms 79 Dec 22, 2022
Unofficial Dart SDK for Decentralized Social / DeSo.org

DeSo Dart SDK Unofficial Dart SDK for Decentralized Social / DeSo.org Report Bug · Request Feature Table of Contents About the Project Built With Gett

Deverse 8 Sep 16, 2022