微信支付开发文档:
总的来说,微信支付很简单,看文档肯定是没有问题的。
settings.py 文件中的一些配置:
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# 微信支付相关
WXPAY_APPID = '微信分配的公众账号ID'
WXPAY_MCHID = '商户号'
WXPAY_APIKEY = '商户平台设置的密钥KEY'
# 服务器存放证书路径(微信支付签发的)
WXPAY_CLIENT_CERT_PATH = os.path.join(BASE_DIR, 'key', WXPAY_APPID, 'apiclient_cert.pem')
WXPAY_CLIENT_KEY_PATH = os.path.join(BASE_DIR, 'key', WXPAY_APPID, 'apiclient_key.pem')
自己封装的工具文件 weixin_pay.py:
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.conf import settings
from random import Random
import hashlib
import requests
import re
def get_client_ip(request):
"""
获取请求IP
:param request:
:return:
"""
ip = ''
try:
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
if x_forwarded_for:
ip = x_forwarded_for.split(',')[0]
else:
ip = request.META.get('REMOTE_ADDR')
except:
pass
return ip
def format_url(params, api_key=None):