最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

django實(shí)現(xiàn)支付寶支付實(shí)例講解

 更新時(shí)間:2019年10月17日 15:58:12   作者:BZ易風(fēng)  
在本篇文章里小編給大家整理的是一篇關(guān)于django支付寶支付的代碼實(shí)例內(nèi)容,需要的朋友們可以學(xué)習(xí)下。

安裝python-alipay-sdk

pip install python-alipay-sdk --upgrade

配置

視圖函數(shù)orders/views.py

# 訂單支付
# /order/pay
from alipay import AliPay, ISVAliPay
import os
from django.conf import settings
class OrderPayView(View):
  def post(self, request):
    '''支付頁面'''
    # 判斷用戶是否登錄
    user = request.user
    if not user.is_authenticated():
      return JsonResponse({'res':0, 'errmsg':'用戶尚未登錄'})
    # 接收訂單id
    order_id = request.POST.get('order_id')
    # 校驗(yàn)訂單id
    if not order_id:
      return JsonResponse({'res':1, 'errmsg':'無效的訂單id'})
    # 查詢訂單信息
    try:
      order = OrderInfo.objects.get(order_id=order_id, user=user, pay_method=3, order_status=1)
    except OrderInfo.DoesNotExist:
      return JsonResponse({'res':2, 'errmsg':'訂單錯(cuò)誤'})

    # 業(yè)務(wù)處理 使用python sdk調(diào)用支付寶的支付接口
    # 支付寶信息  不能放在settings里 會(huì)報(bào)錯(cuò)
    alipay = AliPay(
      appid="2016101200665304",
      app_notify_url=None, # 默認(rèn)回調(diào)url 如果為空的話不能用'' 要用None
      # 個(gè)人私鑰
      app_private_key_string=os.path.join(settings.BASE_DIR, 'apps/orders/app_private_key.pem'),
      # 支付寶的公鑰,驗(yàn)證支付寶回傳消息使用,不是你自己的公鑰,
      alipay_public_key_string=os.path.join(settings.BASE_DIR, 'apps/orders/alipay_public_key.pem'),
      # 加密方式
      sign_type="RSA2", # RSA 或者 RSA2
      # 沙箱是True 正式環(huán)境是False
      debug=True # 默認(rèn)False
    )
    # 調(diào)用支付接口
    # 電腦網(wǎng)站支付,需要跳轉(zhuǎn)到https://openapi.alipay.com/gateway.do? + order_string 實(shí)際地址
    # 沙箱地址 https://openapi.alipaydev.com/gateway.do? + order_string 沙箱地址在alipay后面加上dev
    total_price = order.total_price + order.transit_price # Decimal
    order_string = alipay.api_alipay_trade_page_pay(
      out_trade_no=order_id, # 訂單id
      total_amount=str(total_price), # 支付總金額 因?yàn)镈ecimal格式不能序列化 所以先轉(zhuǎn)成字符串
      subject='天天生鮮%s'%order_id,
      return_url=None,
      notify_url=None # 可選, 不填則使用默認(rèn)notify url
    )
    # 返回應(yīng)答
    pay_url = 'https://openapi.alipaydev.com/gateway.do?' + order_string
    return JsonResponse({'res':3, 'pay_url':pay_url})

配置路由urls.py

from django.conf.urls import url
from orders.views import OrderPlaceView, OrderCommitView, OrderPayView


urlpatterns = [
  url(r'^place$', OrderPlaceView.as_view(), name='place'), # 提交訂單頁面
  url(r'^commit$', OrderCommitView.as_view(), name='commit'), # 提交訂單處理
  url(r'^pay$', OrderPayView.as_view(), name='pay'), # 訂單支付

]

以上就是本次介紹的相關(guān)知識(shí)點(diǎn)以及實(shí)例代碼,更多內(nèi)容可以參考腳本之家相關(guān)欄目。

相關(guān)文章

  • Python 高級(jí)庫15 個(gè)讓新手愛不釋手(推薦)

    Python 高級(jí)庫15 個(gè)讓新手愛不釋手(推薦)

    對(duì)于初學(xué)者來說,這是一種簡單易學(xué)的編程語言;另一個(gè)原因:大量開箱即用的第三方庫,正是 23 萬個(gè)由用戶提供的軟件包使得 Python 真正強(qiáng)大和流行,本文給大家分享15 個(gè)讓新手愛不釋手Python 高級(jí)庫的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2021-05-05
  • python匹配兩個(gè)短語之間的字符實(shí)例

    python匹配兩個(gè)短語之間的字符實(shí)例

    今天小編就為大家分享一篇python匹配兩個(gè)短語之間的字符實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 如何使用PyCharm將代碼上傳到GitHub上(圖文詳解)

    如何使用PyCharm將代碼上傳到GitHub上(圖文詳解)

    這篇文章主要介紹了如何使用PyCharm將代碼上傳到GitHub上(圖文詳解),文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 解決numpy矩陣相減出現(xiàn)的負(fù)值自動(dòng)轉(zhuǎn)正值的問題

    解決numpy矩陣相減出現(xiàn)的負(fù)值自動(dòng)轉(zhuǎn)正值的問題

    這篇文章主要介紹了解決numpy矩陣相減出現(xiàn)的負(fù)值自動(dòng)轉(zhuǎn)正值的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 在PyCharm中實(shí)現(xiàn)添加快捷模塊

    在PyCharm中實(shí)現(xiàn)添加快捷模塊

    今天小編就為大家分享一篇在PyCharm中實(shí)現(xiàn)添加快捷模塊,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python獲取從命令行輸入數(shù)字的方法

    python獲取從命令行輸入數(shù)字的方法

    這篇文章主要介紹了python獲取從命令行輸入數(shù)字的方法,涉及Python操作命令行輸入的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • Python連接DB2數(shù)據(jù)庫

    Python連接DB2數(shù)據(jù)庫

    DB2 是美國IBM公司開發(fā)的一套關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它主要的運(yùn)行環(huán)境為UNIX(包括IBM自家的AIX)、Linux、IBM i(舊稱OS/400)、z/OS,以及Windows服務(wù)器版本。今天我們來探討下如何使用Python連接DB2數(shù)據(jù)庫
    2016-08-08
  • 在Python中處理時(shí)間之clock()方法的使用

    在Python中處理時(shí)間之clock()方法的使用

    這篇文章主要介紹了在Python中處理時(shí)間之clock()方法的使用,是Python入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • Python網(wǎng)絡(luò)爬蟲與信息提取(實(shí)例講解)

    Python網(wǎng)絡(luò)爬蟲與信息提取(實(shí)例講解)

    下面小編就為大家?guī)硪黄狿ython網(wǎng)絡(luò)爬蟲與信息提取(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • 10個(gè)Python中python_docx庫的實(shí)用案例分享

    10個(gè)Python中python_docx庫的實(shí)用案例分享

    在日常辦公和文檔處理中,Word文檔是我們最常用的格式之一,Python通過python?-?docx庫能夠?qū)崿F(xiàn)對(duì)Word文檔的各種自動(dòng)化操作,本文為大家準(zhǔn)備了10個(gè)常用的案例,希望對(duì)大家有所幫助
    2025-02-02

最新評(píng)論

铜鼓县| 栾川县| 秦皇岛市| 富裕县| 南川市| 镇赉县| 望城县| 恭城| 交城县| 黔西| 九龙坡区| 营口市| 门头沟区| 丹东市| 正蓝旗| 元氏县| 广南县| 泰安市| 敦化市| 鸡泽县| 奉节县| 原平市| 大埔区| 桐梓县| 闵行区| 红原县| 孙吴县| 淅川县| 澳门| 太仆寺旗| 洪泽县| 禄丰县| 土默特左旗| 格尔木市| 普格县| 张家川| 望江县| 营山县| 贵德县| 兴国县| 岳普湖县|