独立站对接支付渠道

2022-03-24 10:25:28 浏览数 (2)

前言

独立站上线之前,要对接好支付系统,这样客户才能通过网站购买商品,完成整个流程。

流程图

对接过程比较关键两步就是组织订单参数,签名,提交数据,接受返回数据,验证签名,然后将结果返回给前端。

关键函数(python)

md5加密

代码语言:javascript复制
    def _sign_acquire(self, data):
        '''
        组织签名字符串
        '''
        unsigned_string = "{}&{}&{}&{}&{}".format(data['CurrencyType'], data['MerchantNo'], data['ProxyChannelType'], data['TransData'], self._md5_key)
        logger.debug(unsigned_string)

        sign = self._sign(unsigned_string)
        logger.debug(sign)
        # 获得最终的订单信息字符串
        return sign

    def _sign(self, s):
        """
        生成签名字符串

        """
        h = hashlib.md5()
        h.update(s.encode(encoding='utf-8'))
        digested = h.hexdigest()
        #logging.warning(digested)

提交数据

代码语言:javascript复制
    def _fetch(self, url, data_json):
        """
        post 提交数据
        """
        headers = {'Content-Type': 'application/json;charset=UTF-8'}
        #logger.debug(url)
        req = urllib.request.Request(url, data=json.dumps(data_json).encode(), headers=headers)
        try:
            resp = urllib.request.urlopen(req, timeout=30)

        except urllib.error.HTTPError as e:
            resp = e
        #logger.debug(resp.read().decode())
        raw_dict = json.loads(resp.read().decode())
        return raw_dict

本文共 127 个字数,平均阅读时长 ≈ 1分钟

0 人点赞