Skip to main content

一个 Django 应用程序,用于集成条带和贝宝一次性付款。包括条纹订阅

项目描述

Django-Stripe-PayPal (DSP)

DSP 是一个 Django 应用程序,用于接受来自 Paypal 和(一次性和订阅)Stripe 的付款(一次性)。

快速设置

  1. 将“付款”添加到您的 INSTALLED_APPS 设置中,如下所示:

       INSTALLED_APPS = [
            ...
            'payment',
    	    ]
    
    
  2. 在您的项目中包含支付 URLconf,urls.py 如下所示:

    path('payment/', include('payment.urls')),

  3. 添加settings.py以下内容 -

    STRIPE  =  True
    PAYPAL  =  True
    
    STRIPE_PRODUCTION = False
    
    STRIPE_API_KEY  =  ''
    STRIPE_AMOUNT  =  10000
    STRIPE_CURRENCY  =  'gbp'
    STRIPE_PRODUCT_NAME  =  ''
    STRIPE_WEBHOOK_SECRET = ''    
    
    PAYPAL_SANDBOX  =  True
    PAYPAL_CLIENT_KEY  =  ''
    PAYPAL_SECRET_KEY  =  ''
    PAYPAL_AMOUNT  =  10
    PAYPAL_CURRENCY_CODE  =  'gbp'
      
    SUCCESS_TEMPLATE_PATH  =  'template_success.html' or 'appname/template_success.html'
    FAIL_TEMPLATE_PATH  =  'template_fail.html' or 'appname/template_fail.html'
    # For users who cancelled their subscriptions and continue till their period ends
    DISCONTINUE_TEMPLATE_PATH = 'template_discontinue.html' or 'appname/template_discontinue.html' 
    # For users who cancelled their subscriptions IMMEDIATELY
    CANCEL_TEMPLATE_PATH = 'template_cancel.html' or 'appname/template_cancel.html'
    
  4. 迁移数据库(即python manage.py migrate

  5. 使用checkout视图时,请确保 URL 具有模板文件上显示的字符串参数(用于简化流程并且是不可或缺的一部分) -

    <div>
    
    <a  href="{% url 'checkout' 'Stripe' %}">Stripe Checkout</a>
    <a  href="{% url 'checkout' 'Paypal' %}">PayPal Checkout</a>
    
    </div>
    

STRIPEPAYPAL默认为Trueie 两种支付服务都在使用。根据您的需要进行更改。对于STRIPE_AMOUNT,使用货币的非十进制表示(即对于 £10,输入 1000),对于PAYPAL_AMOUNT,使用标准符号(即 £10 作为 10 或 10.00)。

SUCCESS_TEMPLATE_PATHFAIL_TEMPLATE_PATH 分别指支付成功和失败/取消视图的模板。在此处添加您的自定义路径。

结帐成功视图使用 用户对象来存储记录,因此请确保在处理结帐之前用户已登录(LoginRequiredMixin已到位,但请考虑这是一个友好的提醒) - 确保您login_url的配置正确settings.py

订阅指南

  1. StripeSubscriptionview 负责发起一个事务。在您的模板中,您需要提供priceid可以从https://dashboard.stripe.com/products获取的参数->

    <a href="{% url 'stripe-sub' 'priceid' %}">Premium</a>

  2. 然后将用户重定向到 Stripe URL,并在订阅模型中创建一个对象,该对象分别在成功/失败时更新/删除。

  3. StripeWebhookview 记录了 Stripe Webhook 发出的以下事件——

            'invoice.finalized',
            'invoice.payment_succeeded',
            'invoice.payment_action_required',
            'invoice.payment_failed',
            'invoice.updated',
            'invoice.paid',
            'payment_intent.succeeded',
            'payment_intent.failed',
            'payment_intent.canceled',
            'payment_intent.created',
            'customer.subscription.created',
            'customer.subscription.deleted',
            'customer.subscription.updated',
            'customer.source.expiring',
            'charge.succeeded',
            'charge.failed',
  1. StripeSubscriptionCancelview 立即结束订阅并将用户的 Active 状态设置为 False
  2. StripeSubscriptionModifyview 在期间结束日期结束订阅。[即将更新 ACTIVE 状态码]

模板指南(无冒犯,专业人士)

   Project
   |
   |
   |___App1
       |
       |
       |___Templates
           |
           |
           |___App1
               |___template1.html

如果按照上面的目录结构,在下settings.py输入为 - 。SUCCESS_TEMPLATE_PATHFAIL_TEMPLATE_PATHApp1/template1.html

对于具有templatesroot 权限的用户,照常进行!

现场/制作指南

PAYPAL_SANDBOX默认为True和在现场/生产中,将其更改为False并将STRIPE_PRODUCTION更改为True

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

django-stripe-paypal-0.1.4.tar.gz (10.2 kB 查看哈希)

已上传 source