时间:2021-05-22
安装python-alipay-sdk
pip install python-alipay-sdk --upgrade配置
视图函数orders/views.py
# 订单支付# /order/payfrom alipay import AliPay, ISVAliPayimport osfrom django.conf import settingsclass 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') # 校验订单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':'订单错误'}) # 业务处理 使用python sdk调用支付宝的支付接口 # 支付宝信息 不能放在settings里 会报错 alipay = AliPay( appid="2016101200665304", app_notify_url=None, # 默认回调url 如果为空的话不能用'' 要用None # 个人私钥 app_private_key_string=os.path.join(settings.BASE_DIR, 'apps/orders/app_private_key.pem'), # 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥, alipay_public_key_string=os.path.join(settings.BASE_DIR, 'apps/orders/alipay_public_key.pem'), # 加密方式 sign_type="RSA2", # RSA 或者 RSA2 # 沙箱是True 正式环境是False debug=True # 默认False ) # 调用支付接口 # 电脑网站支付,需要跳转到https://openapi.alipay.com/gateway.do? + order_string 实际地址 # 沙箱地址 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), # 支付总金额 因为Decimal格式不能序列化 所以先转成字符串 subject='天天生鲜%s'%order_id, return_url=None, notify_url=None # 可选, 不填则使用默认notify url ) # 返回应答 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 urlfrom orders.views import OrderPlaceView, OrderCommitView, OrderPayViewurlpatterns = [ url(r'^place$', OrderPlaceView.as_view(), name='place'), # 提交订单页面 url(r'^commit$', OrderCommitView.as_view(), name='commit'), # 提交订单处理 url(r'^pay$', OrderPayView.as_view(), name='pay'), # 订单支付]以上就是本次介绍的相关知识点以及实例代码,更多内容可以参考相关栏目。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了PHP实现的支付宝支付功能。分享给大家供大家参考,具体如下:在给app做支付宝支付接口的时候收集内容整理如下:接口:import('alipay.
我们知道支付宝数字证书是支付宝的一个认证程序,它可以保证支付宝帐户资金安全,我们需要安装支付宝数字证书,但是有些用户不会安装,下面来我们就来给大家讲解一下支付宝
本文实例为大家分享了php支付宝APP支付的具体代码,供大家参考,具体内容如下支付宝网页支付1.支付宝开放平台添加应用,获得appid,并签约。2.在支付宝开放
知道在支付宝中如何设置乘车码扣款吗?在这里,就为各位用户们讲解支付宝中设置乘车码扣款的详细流程讲解。 1、用户们如果要设置支付宝乘车码的扣款方式,那么就可
支付宝生活号平台,是支付宝向个人及组织提供的,面向手机支付宝用户的服务平台。那么大家知道支付宝生活号怎么开通?接下来,我们就来给大家讲解一下这方面的内容。首先打