Giter VIP home page Giter VIP logo

nokia-care / yookassa-billing Goto Github PK

View Code? Open in Web Editor NEW

This project forked from netshy/yookassa-billing

0.0 0.0 0.0 234 KB

The Yookassa-Billing System is a comprehensive and robust payment management solution designed as a part of the Yandex Practicum graduate work. Implemented as a diploma assignment in the middle python course, this project focuses on creating a seamless billing experience for users and administrators alike.

Shell 0.54% Python 97.68% Mako 0.32% Dockerfile 1.47%

yookassa-billing's Introduction

Yookassa-Billing

https://github.com/netshy/graduate_work

Yandex Practicum graduate work

This project was implemented as a graduation assignment in the middle Python course at Yandex Practicum.

Task

Implement the "Billing" project. Two methods for working with cards must be developed: paying for a subscription and refunding the payment. The system should be resilient to interruptions: there should be no double charges, and users should always have the guarantee that the operation has been executed. Besides implementing the system, integrate it with Django's admin panel so you can monitor client subscription payments.

Layout

Features

  • Users can pay for a subscription.
  • Users can get a refund if they unsubscribe.
  • The refund amount is calculated based on the subscription's days since payment.
  • Administrators have the functionality to view and manually configure individual subscriptions.
  • Email notifications are sent via Mailgun about user transactions (successful/unsuccessful/refund).
  • Status checks of transactions in case of network disruptions.

Architecture

Get subscription user flow

  1. User registers.
  2. User logs in and receives an access token.
  3. User selects a subscription plan with subscription_plan_id.
  4. Yookassa generates a link for subscription payments.
  5. User successfully pays.
  6. User receives an email confirming the successful payment.
  7. Subscription is activated.

Get refund user flow

  1. User specifies the active subscription to cancel with subscription_id.
  2. User receives an email confirming the cancellation of the subscription.
  3. Subscription is canceled.

For the convenience of sending requests, a collection is prepared in Postman | Environments

yookassa-billing's People

Contributors

nonameists avatar netshy 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.