前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >独立站对接支付渠道

独立站对接支付渠道

作者头像
IT不难
发布2022-03-24 10:25:28
5530
发布2022-03-24 10:25:28
举报
文章被收录于专栏:IT不难技术家园

前言

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

流程图

l11zzwbt.png
l11zzwbt.png

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

关键函数(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分钟

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 流程图
  • 关键函数(python)
    • md5加密
      • 提交数据
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档