Coder Social home page Coder Social logo

dietmap / yaak Goto Github PK

View Code? Open in Web Editor NEW
16.0 4.0 1.0 347 KB

:water_buffalo: YAAK is a simple server that by its API makes In-App Purchase receipt and Auto-Renewable subscription validation easy :)

License: MIT License

Kotlin 100.00%
appstore apple itunes-store in-app-purchase appstore-api receipt in-app-receipt receipt-validation appstore-receipt storekit

yaak's Introduction

YAAK - Yet Another AppStore Kit

GitHub Workflow Status Docker Image Version (latest semver)

YAAK is a simple server that by its API makes In-App Purchase receipt and Auto-Renewable subscription validation easy

You should always validate receipts on the server, in Apple's words:

Use a trusted server to communicate with the App Store. Using your own server lets you design your app to recognize and trust only your server, and lets you ensure that your server connects with the App Store server. It is not possible to build a trusted connection between a user’s device and the App Store directly because you don’t control either end of that connection.

Running YAAK locally

YAAK is a Spring Boot application written in Kotlin and built using Gradle. You can build a jar file and then run it on your local machine as follows:

$ git clone https://github.com/dietmap/yaak.git
$ cd yaak
$ ./gradlew clean build
$ java -jar build/libs/*.jar

Or you can run it from Gradle directly using the Spring Boot Gradle plugin.

$ ./gradlew bootRun

Once you run it you can access YAAK here: http://localhost:8080/

Security

By default YAAK runs with this settings. You should generate your own secure API key or choose and configure other available security option: API_KEY, OAUTH, NONE

Health check

Once the YAAK is started you can hit this endpoint in order to verify whether the service is up and running:

$ curl http://localhost:8080/actuator/health

Adding custom callbacks

You can plug-in your custom webhook for handling subscription/purchase specific logic.

yaak.user-app.subscription-webhook-url

Apple Store API Endpoints

Receipt

The following API endpoints accept HTTP POST method and require Content-Type: application/json request body

Returns HTTP 200 with the detailed receipt body or HTTP 500 with error details in case of any errors

Simply returns HTTP code without response body. HTTP 200 if the receipt is valid or HTTP 500 in case of any errors.

Subscription

Google Play Store API Endpoints

Receipt

...

Subscription

...

Docker

The docker image is stored in Docker Hub dietmap/yaak repo.

Issues and contribution

Bug reports and pull requests are welcome on GitHub at https://github.com/dietmap/yaak

License

YAAK is Open Source software released under MIT license.

yaak's People

Contributors

koziolk avatar matt-sikora avatar mhuta avatar noffke avatar patrafter avatar pnowy avatar wojtekbauman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

noffke

yaak's Issues

Missing Google Play Documentation

Hi,

I was wondering if this project is still actively maintained and whether Google Play subscriptions are actually supported too.
I couldn't find any documentation regarding Google Play and webhooks.

Thanks

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.