zoukankan      html  css  js  c++  java
  • 支付宝支付

    支付宝支付

    -用支付宝支付需要有个商户号,企业去申请,并且需要企业营业执照:申请完了会有商户号

    -沙箱环境(测试环境)
    -https: // openhome.alipay.com / platform / appDaily.htm?tab = info

    -加密方式
    -对称加密:加密秘钥和解密秘钥用的是同一个
    -非对称加密:加密和解密的秘钥不同,公钥可以随意分发,但是私钥一定不能泄露

    -安装模块
    pip3 install pycryptodome 加密解密的模块

    -支付宝支付流程:
    -1 拿到商户号,回调地址,支付宝公钥,我的私钥 - --生成一个对象(AliPay)

    -2 对象.direct_pay传支付金额,支付商品描述,支付订单号 - --返回个加密的串(把前面参数加密了)

    -3 拿到加密的串拼到get请求参数部分pay_url = "https://openapi.alipaydev.com/gateway.do?{}".format(query_params)

    -4 重定向到该地址(向该地址发送get请求)

    -5 用户付款,付款成功支付宝会给我发送两个请求,一个是get请求,一个是post请求

    -6 咱们的程序需要处理这两个回调请求(请求回来需要验证签名)

    -get请求一般用于页面展示
    -post请求用于修改订单状态

    -项目中需要配置:公钥私钥生成方式
      
    https: // docs.open.alipay.com / 291 / 105971
    -支付宝公钥:商户号中输入的应用公钥,会自动生成一个支付宝公钥,把它粘贴过来
    -应用私钥(用户私钥)

    -支付宝回调返回数据中会有:
    -singn:必须验证签名,验证通过才能进行后续的修改
    -订单id
    -根据订单id修改订单状态

    -如果用户付款了,但是你服务挂掉了?
    -如果服务挂掉了,支付宝过一会会自动在回调(24小时内,隔一段时间就会回调),重启服务器即可
  • 相关阅读:
    测量MySQL的表达式和函数的速度
    MySQL中的比较操作符<=>
    Python中的args和kwargs
    MySQL8新特性(2)--mysql的升级过程
    MySQL8新特性(1)--原子DDL
    PostgreSQL中的一些日志
    PostgreSQL的表空间
    [九]基础数据类型之Boolean详解
    [八]基础数据类型之Double详解
    [七]基础数据类型之Float详解
  • 原文地址:https://www.cnblogs.com/xuxingping/p/11165839.html
Copyright © 2011-2022 走看看