详解Python实现支付接口

开发 后端
以下的文章主要是对Python支付接口的实际操作步骤做一详细介绍,以及Python支付接口快速实现的代码的相关介绍。

如今面对N种快速支付的通道,所以在相关的支持通道的平台中,竞争就会产生,以下的文章就是对Python支付接口的实际操作方案的具体介绍,以下就是文章的相关内容的具体介绍。忘你会有所收获。

进入主题,今天的任务是要打通支付和支付通知接口,根据一般性规则,通过http协议的支付接口的一般设计都是,通过N个field或者查询参数传递数据,其中一个是验证串,防止篡改数据,每个申请了Python支付接口的用户都给了一个编号,相当于用户名,一个key,相当于密码,用于加密防篡改字段的盐值。

易宝的字段定义在文档中有,这个文档到处能下到,对发起请求的url这里文档倒没有什么错,但是文档里的例子是POST,把数据放到隐藏表单里,我这里通过构造Get的querystring的方式来发送数据。

根据文档,首先定义数据如下:用的测试平台的数据

 

  1. data=[   
  2. "",   
  3. ("p0_Cmd","Buy"),   
  4. ("p1_MerId","10000432521"),   
  5. ("p2_Order",transid),   
  6. ("p3_Amt",str(fee)),   
  7. ("p4_Cur","CNY"),   
  8. ("p5_Pid","测试一下嘛"),   
  9. ("p6_Pcat","test"),   
  10. ("p7_Pdesc","test"),   
  11. ("p8_Url","http://"),   
  12. ("p9_SAF","1"),   
  13. ("pa_MP","None"),   
  14. ("pd_FrpId","ICBC-NET"),   
  15. ("pr_NeedResponse","1"),   
  16. ]   

 

***个“”不是打酱油的,在下面的运算是有用处的,不要当我写错了忽略掉。

首先我们要根据数据来构建待加密的验证源串,根据文档描述也就是把每个field的值连接起来,注意,不加任何间隔符,你能猜出是如何构造这个字符串的吗?写这个文档的人多半语文重修不下十次根据这段文档***有用的一句话参看了源码,于是把源码里啰哩吧嗦的一大篇八股文改为一行代码

  1. origin_str=reduce(lambda x,y:"%s%s"%(x,y[1]),data) 

这里用了reduce函数,就是挨个取出list里的数据和下一数据累计运算,运算的方法就是把前一次运算的结果和下一个item作为参数传给reduce的***个参数,这里是一个lambda表达式,x就是前一次运算的结果,y就是下一个item,因为表达式里默认***次运算的结果是字符串,所以这就是在data这个列表头上的***个打酱油的””的来历接下来需要用hmac来加密字符串,在python,我在shell里输入

  1. import hmac 

回车后居然还真有这个库,省去麻烦一大堆,以上内容就是对Python支付接口是如何实现的步骤的部分介绍。

【编辑推荐】

  1. python String模块在实际应用的代码介绍
  2. Python代码在实际应用中的方案简介
  3. Python语法检查引用PyLint配置的具体方法
  4. Python 代码开发工具的强大功能的描述
  5. 用python代码安装软件所需要的工具的介绍
责任编辑:佚名 来源: 互联网
相关推荐

2009-11-23 10:02:22

PHP支付宝接口

2009-08-31 16:23:13

C#接口

2010-03-23 12:42:55

python快速支付接

2011-06-28 11:05:19

Qt QWidget Eventable

2010-01-07 10:28:04

VB.NET实现接口

2009-08-25 10:44:08

C#接口定义接口

2009-08-25 10:57:09

C#接口

2023-07-13 09:01:39

Bean接口容器

2023-04-23 08:49:17

Java接口Future

2017-01-04 18:09:23

Android微信支付快速实现

2009-11-23 09:27:00

PayPal支付接口

2018-05-10 15:54:39

2022-03-22 22:05:39

区块链支付模式

2012-02-23 13:59:00

IndexedDB

2009-08-31 16:47:39

C#接口的定义

2009-07-10 14:26:28

实现SwingActionListe

2009-10-27 15:07:40

VB.NET支付宝接口

2018-02-25 11:22:14

SDK代码接口

2018-03-22 13:33:25

GithadoopPython

2011-11-10 14:42:11

点赞
收藏

51CTO技术栈公众号