接口文档:https://docs.open.alipay.com/204/105465/

一、签名方法示例:「代码中的私钥是随机生成无法使用,做示例用」

def sign(params):sort_param = sorted([(key, unicode(value, 'UTF-8').encode('UTF-8')) for key, value in params.iteritems()], key=lambda x: x[0])content = '&'.join(['='.join(x) for x in sort_param]) priKey = '''-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAqZWHu3pBiKj5DDod4uDg0Tnmr6wDXzDogVjqZMVr6Khf+4qG
ENFyFDAWiycHQwFh6UzyRFDFiiBh2TS3IyBMQ6Noow32bOXDM/ObfiFRSYO9iCLv
Q+SU3r2S3dOx+l7YkYJBiM9stKuTlA3r6Ma9Rq9j26cIQLR/YMWGDV/MQy/AS0l2
fa97hK/coKiope3ILTJnhknCli5oGBi2aoLx1mT+OMMguSFku2Pd9tgE7ZLABYrk
0Bz1Qq4O3UiUrGrpe0d3/hBAbZIu4blZsp4YbBxSRy+VH9KqcJ/vsKXp1d8mMjV0
QuacZBdOHscWu7/wz4xbQgu6E8iEXT21a9JpQQIDAQABAoIBAQCgGw6kz83jajSH
eK8SrmFS56mGHY6pZpF83SeesE0qwRytbaEZa8SajrQZ+GUAu+Nm0kDAgsmdmOkI
mp50yV93VGXL27jWIy5idBJPyMDn+TsNtn3SyZJLoQtx5xXXXYh2CFY7BiqJgJu6
YlJh2JCGlbxfepluDXtdL99Z7SH6IyaszW1ffaQvoI6OuQpWj/Mo79VIMipCztFT
sMWW/O6ySuz2+DqQ8ShgMsCP9LMOGkhWtw7JaOGjSH6ZqOropQ3rFiFF0HI3ILjV
s/e6chOIpwCcG3wzt5yd4s/GNo6FkKNsKVRv8GN1RlFjp6TtCfQSX34Isz2CBrCr
gyyBwQlhAoGBAN+fJ2D/fk8Iny3uwhhz8mK1HThFisAwMMKWN9f49/xBlrZy1rV2
oRdo7WmNfCewbKBjPIdFMR+aH7vuJd+3ofiTY3Dn94ZnzIDW/7tici8blKNlh6NF
6LnlzdoMWqPvChB6q6YZwTWpSnDVtUBpMlS1PXwr7cQ0zPrpgPcWFaEFAoGBAMIj
ZglbsJ3WRD4Paq8UKHzCWp5CpLOeFO504uyPvFY6EKPD8vueVkKb2zLBdu1a4iCG
CIkmO91raY0F7TUYM5oX7Rys+2AiX+QEZlWGjgsU0xQg2dUsfVjTC9Hdwv/QHO55
Ye84zpmr1xbjEbgM1WojPy3bsoKfG6He1NkgCQwNAoGAaZo6OXdOSbpzmXhoFq4i
p/SJwPouRQY88JeJ9abwTSMYLj7bIETOXETD4RXcrM2G7tMOUX8ebKMXG2OiZRzO
E5pe2oHhBYrdK3bcu7wI2jA3KFaZEETCW4+nf7JX15TZ9uBHUSBWeqXgrppthuZm
y1PvnkUMepzItDEzIvw96JUCgYBILPrpbcI63Acg/4BNOPRYdbVU8zfiY1oq0R/w
jPubHxlCmT4D1/j/6IvU0eJSGiDJsKsJukI1bpKeUF7BB49fsZeAurr2IbF+xzf4
gf7bFdHnwNLbkx/C3yucyZKOoqOu8Ue8tWTx8tYTdzYGNBc/z3zT/DQgpeCTDJIb
avKSHQKBgCZwht04cyFDqv1brXJ1VAE6XJKDGopQbEBdCKg/C2HXfeHx2H47bkNU
Vv5hmuGZc70Xu+aol0KLVWU1/zFSvO8f4I8eTYq1H6qR4ml2chvBVjf3uT82gUbQ
EduCPhYXAlyL2sm51/CHtZW1+GVQxHLD7zXm1g4cExmJCmvdwV7B
-----END RSA PRIVATE KEY-----'''private_key = OpenSSL.crypto.load_privatekey(OpenSSL.crypto.FILETYPE_PEM, priKey)return b64encode(OpenSSL.crypto.sign(private_key, content, 'sha256'))

二、主函数:「 params['app_id']需要配置成您的开发者id」 ./signThing.txt就是生成的请求串

#encoding:utf-8
from base64 import b64encode
import json
import urllib
import OpenSSLif '__main__' == __name__:params = {} params['app_id'] = 'XXX'params['method'] = 'alipay.trade.app.pay'params['format'] = 'json'params['timestamp'] = '2017-07-07 10:05:56'params['charset'] = 'UTF-8'params['version'] = '1.0'params['sign_type'] = 'RSA2'params['biz_content'] = {}params['biz_content']['body'] = '非sdk原生php服务端生成请求订单'params['biz_content']['subject'] = 'php代码示例'params['biz_content']['out_trade_no'] = '201723123123124124'params['biz_content']['timeout_express']='10m'params['biz_content']['total_amount'] = '0.01'params['biz_content']['product_code'] = 'QUICK_MSECURITY_PAY'params['biz_content']['goods_type'] = '0'params['biz_content']=json.dumps(params['biz_content'], separators=(',', ':')) params['sign']=rsa_sign(params);sort_param = sorted([(key, unicode(value, 'UTF-8').encode('UTF-8')) for key, value in params.iteritems()], key=lambda x: x[0])file = open('./signThing.txt', 'wb')file.write(urllib.urlencode(sort_param))file.close()

原文链接: https://openclub.alipay.com/read.php?tid=1223&fid=2

Python原生服务端签名生成请求订单信息「orderString」相关推荐

  1. 微信小程序:阿里云OSS直传实践-PHP实现服务端签名

    目录 1.阿里云OSS上传方式 1.1.Web端Browser.js SDK直传(不推荐) 1.2.Web端上传服务端再上传至OSS 1.3.服务端签名后Web端直传(推荐) 2.PHP服务端生成签名 ...

  2. 阿里云oss文件上传(简单上传、服务端签名后直传)

    前置: 自行开通阿里oss服务: https://www.aliyun.com/product/oss?spm=a2c4g.11174283.J_8058803260.125.d9387da2TjNf ...

  3. 阿里云OSS服务端签名前端JS直传(php)示例

    阿里云OSS服务端签名后前端JS直传(php)示例 需求:服务端上传图片太慢,需要使用前端直传的方式.但前端把阿里云的 AccessKey ID 和 AccessKey Secret 放在前端文件中会 ...

  4. 【OSS】服务端签名后直传实现阿里云存储上传文件

    文章目录 1.前言 2.阿里云OSS 2.1.开通服务 2.2.创建Bucket 2.3.创建子账户 3.服务端 3.1.依赖导入 3.2.配置文件 3.3.控制器编写 3.4.接口测试 4.前端联调 ...

  5. 服务端验证Google Pay订单的两种方式

    Google Pay主要支付流程: 1.手机端向服务端发起支付,生成预订单,给手机端返回生成的订单号 2.手机端向Google发起支付(传入本地服务器生成的订单号) 3.Google服务器将支付结果返 ...

  6. 商城项目09_品牌管理菜单、快速显示开关、阿里云进行文件上传、结合Alibaba管理OSS、服务端签名后直传

    文章目录 ①. 品牌管理菜单 ②. 快速显示开关 ③. 阿里云上传概述 ④. 使用代码进行文件上传 ⑤. 结合Alibaba来管理oss ⑥. gulimall-third-party微服务 ⑦. 服 ...

  7. 分布式电商项目二十六:使用阿里云存储的服务端签名后直传(前端联调)

    使用阿里云存储的服务端签名后直传(前端联调) 在前端显示上传的界面,可以根据人人fast-vue的结构,在src\components目录下添加upload文件夹,直接添加vue组件即可,总计三个组件 ...

  8. oss服务端签名后直传分析与代码实现

    文章目录 1.简介 1.1 普通上传方式 1.2 服务端签名后直传 3.服务端签名后直传文档 3.1 用户向应用服务器请求上传Policy和回调. 3.2 应用服务器返回上传Policy和签名给用户. ...

  9. zookeeper源码分析之四服务端(单机)处理请求流程

    上文: zookeeper源码分析之一服务端启动过程 中,我们介绍了zookeeper服务器的启动过程,其中单机是ZookeeperServer启动,集群使用QuorumPeer启动,那么这次我们分析 ...

最新文章

  1. windows网络负载平衡
  2. lsm tree java_LSM-tree 基本原理及应用
  3. Enterprise Library 2.0 技巧(4):如何用编程的方法来配置Logging Application Block
  4. java获取某日期之前/之后一天的日期(实现代码)
  5. spring boot 源码分析(七) 事件机制 之 SpringApplicationEvent
  6. [机器学习-原理及实现篇]线性回归-最小二乘法
  7. 实验楼python3中挑战一_实验楼python3学习挑战项目
  8. 如何将 Python 的一个类方法变为多个方法?
  9. 设计自己的基于Selenium 的自动化测试框架-Java版(3) - 给框架分分层
  10. 模型相关:SolidWorks创建Cube模型,在3DMax中给不同面添加不同颜色,导出自带纹理的FBX至Unity
  11. 调查问卷java源码_2020年Java技术趋势
  12. 源码大招:不服来战!撸这些完整项目,你不牛逼都难! 1
  13. 分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(2月13日-2月19日)
  14. JS中的冒泡排序代码实现(超详细)
  15. AtCoder Beginner Contest 160 A ~ E
  16. 树莓派4B刷openwrt软路由系统,树莓派做有线路由器的扩展实现各种自定义操作
  17. html td里面元素的获取
  18. 雅俗共享的微信小程序《老子探秘》,大家评价一下好坏
  19. 推荐学习-数据结构与算法之美
  20. SendMessgae

热门文章

  1. 为表的添加中文属性时出现的Incorrect string value: '\xE7\x9A\x84\xE6\xB1\xEA...
  2. apicloud——云编译失败
  3. 读书笔记 摘自:《你坏》
  4. [Android 9][markw] 红米4高配版 刷入Lineage OS 16与OpenGApps
  5. 计算机考试照片是一寸,怎么用电脑拍照片_怎么用电脑将照片修成一寸大小
  6. 农民伯伯android,Android3.1r1API中文文档——ImageView(cnmahj+农民伯伯).doc.doc
  7. FIL存储服务器订单系统,开源存储系统Slate构建FIL检索市场
  8. filecoin-存储证明子系统(rust-fil-proofs)[翻译]
  9. 路线指示箭头的生成——两个Vector3计算Distance,Rotation
  10. symfony配置文件之三:routing和路由配置