Git Product home page Git Product logo

cordova-plugin-purchase's Introduction

Cordova Purchase Plugin

In-App Purchases for Cordova

Build Status


Need professional help and support? Contact Me.

I dedicate a considerable amount of my free time to developing and maintaining this Cordova plugin, along with my other Open Source software. To help ensure this plugin is kept updated, new features are added and bugfixes are implemented quickly, please donate a couple of dollars (or a little more if you can stretch) as this will help me to afford to dedicate time to its maintenance. Please consider donating if you're using this plugin in an app that makes you money, if you're being paid to make the app, if you're asking for new features or priority bug fixes. Thank you!

Summary

This plugin allows In-App Purchases to be made from Cordova, PhoneGap and Ionic applications.

It lets you handle in-app purchases on many platforms with a single codebase.

Features

ios android win-8 win-10/uwp mac
consumables
non consumables
subscriptions
restore purchases
receipt validations
downloadable content
introductory prices

Supported platforms

  • iOS version 6.0 or higher.
  • Android version 2.2 (API level 8) or higher
    • with Google Play client version 3.9.16 or higher
  • Windows Store/Phone 8.1 or higher
  • Windows 10 Mobile
  • macOS version 10
  • Xbox One
    • (and any platform supporting Microsoft's UWP)

Installation

Install the plugin (Cordova)

cordova plugin add cordova-plugin-purchase [--variable BILLING_KEY="<BILLING_KEY>"]

BILLING_KEY is only required for Android. Check here for details.

Install the plugin (PhoneGap)

Add the following to your config.xml file:

phonegap cli-7.1.0
<gap:plugin name="cc.fovea.cordova.purchase" source="npm" version="6.0.0">
<param name="BILLING_KEY" value="MIIB..."/>
</gap:plugin>

phonegap cli-8.0.0
<plugin spec="https://github.com/j3k0/cordova-plugin-purchase.git#phonegap-cli-8.0.0">
    <param name="BILLING_KEY" value="MIIB..."/>
</plugin>

phonegap-cli-8.1.1 is not supported if you need Android, because it ships with a buggy cordova-android version (7.1.2) that doesn't allow installation of .aidl files. If you don't need android, you can use the latest version of the plugin.

Install recommended plugins

Install cordova-plugin-network-information (click for details).

Sometimes, the plugin cannot connect to the app store because it has no network connection. It will then retry either:

  • periodically after a certain amount of time;
  • when the device fires an 'online' event.

The cordova-plugin-network-information plugin is required in order for the 'online' event to be properly received in the Cordova application. Without it, this plugin will only be able to use the periodic check to determine if the device is back online.

Setup your Application

See Setup iOS Applications and Setup Android Applications.

Getting Started

If you don't know much about In-App Purchases, you'll find a good overview on the subject from those guys:

They all share the same concepts, so they are a good reads in all cases, with some advice that apply to all platforms.

To ease the beggining of your journey into the intimidating world of In-App Purchase with Cordova, we wrote a guide which hopefully will help you get things done: https://purchase.cordova.fovea.cc/

In short, you'll have two main tasks to accomplish:

  1. Setup your application and In-App Products on AppStore, Play or Azure platforms using their respective web interfaces.
  2. Add In-App Purchase code to your application.

For setup, the wiki contains good information.

For the code itself, the API Documentation is a definitely a recommended read.

Documentation

Extra Resources

For iOS

Extensions

Have a very simple need? Maybe this will help.

Contribute

Contributors:

  • Jean-Christophe Hoelt, Author
  • Josef Fröhle, Support
  • Guillaume Charhon, initial Android code
  • Matt Kane, initial iOS code
  • Mohammad Naghavi, original unification attempt
  • Dave Alden @dpa99c (Apple-hosted IAPs for iOS)

Sponsors

Licence

The MIT License

Copyright (c) 2014-2019, Jean-Christophe Hoelt and contributors

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

cordova-plugin-purchase's People

Contributors

aharbick avatar bostondv avatar chuckv01 avatar davvidbaker avatar deonkuhn avatar dexus avatar dkarzon avatar dominic-simplan avatar dpa99c avatar dwburns avatar epabst avatar giuseppelt avatar hypery2k avatar j3k0 avatar jacknova avatar jacse avatar jkirkell avatar jscorales avatar kitsunde avatar ljcp avatar masimplo avatar mehmetkoc182 avatar mnasyrov avatar phfsantos avatar qwelias avatar sebastianzillessen avatar tehmaestro avatar trumpet2012 avatar uareurapid avatar znegva avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.