轻量级支付方式整合集成,实现支付与业务完全剥离,快速简单完成支付模块的开发

  特性

  屏蔽支付方式之间接入API和数据结构的差异,统一API和数据结构支持支付类型横向扩展统一异常处理

  支持支付方式及功能

  支付方式

  pay_type=ali_pay

  pay_type=wx_pay

  通用功能

  平台特有功能

  使用说明

  安装

  # installation

  pip install all-pay --upgrade

  核心说明

  配置(dict)

  ALIPAY_CONFIG={

  'pay_type': 'ali_pay', # 必填 区分支付类型

  'app_id': 'xxx', #必填 应用id

  'private_key_path': 'xxx', #必填 私钥

  'public_key_path': 'xxx',#必填 公钥

  'notify_url': 'xxx',# 异步回调地址

  'sign_type': 'RSA2', # 签名算法 RSA 或者 RSA2

  'debug': False, # 是否是沙箱模式

  }

  WECHAT_CONFIG={

  'pay_type': 'wx_pay', # 必填 区分支付类型

  'app_id': 'xxx', # 必填,应用id

  'mch_key': 'xxx', # 必填,商户平台密钥

  'mch_id': 'xxx', # 必填,微信支付分配的商户号

  'app_secret': 'xxx', # 应用密钥

  'notify_url': 'xxx'# 异步回调地址

  'api_cert_path': 'xxx', # API证书

  'api_key_path': 'xxx' # API证书 key

  }

  其中 pay_type 为本项目所需,用来区分支付类型,其余为富贵对应支付方式所需配置参数,具体参考对应支付方式对应的官方文档。

  Pay类

  支付网关,支付方式分配和转发入口

  PayOrder类

  统一封装支付订单信息,主要用于支付下单

  生成统一订单例子

  order=PayOrder.Builder().subject('商品标题') .out_trade_no('商品订单号').total_fee('商品费用').build()

  通过 Builder模式+链式调用 灵活组合通用参数和特殊参数 更多参数说明参见 源码

  PayResponse类

  统一封装支付返回业务信息,主要用于支付查询

  生成统一回单例子

  response=PayResponse.Builder().trade_no('平台订单号').out_trade_no('商家订单号').build()

  通过 Builder模式+链式调用 灵活组合通用参数和特殊参数 更多参数说明参见 源码

  demo

  from all_pay import PayOrder

  from all_pay import Pay

  ALIPAY_CONFIG={

  'pay_type': 'ali_pay', # 必填 区分支付类型

  'app_id': 'xxx', #必填 应用id

  'private_key_path': 'xxx', #必填 私钥

  'public_key_path': 'xxx',#必填 公钥

  'notify_url': 'xxx',# 异步回调地址

  'sign_type': 'RSA2', # 签名算法 RSA 或者 RSA2

  'debug': False, # 是否是沙箱模式

  }

  # 额外参数,某些支付方式有些选填的参数在PayOrder并没有封装,可以自行传递

  extra_params={

  'xxx':'xxx'

  'xxx':'xxx'

  'xxx':'xxx'

  }

  order=PayOrder.Builder().subject('商品标题') .out_trade_no('商品订单号').total_fee('商品费用').build()

  pay=Pay(ALIPAY_CONFIG) # 传入对应支付方式配置

  order_res=pay.trade_page_pay(order,extra_params)# 传入对应订单和额外参数(要是需要)

  功能说明

  电脑网站支付[trade_page_pay]

  pay=Pay(ALIPAY_CONFIG) # 传入对应支付方式配置

  order_res=pay.trade_page_pay(order)# 传入对应订单

  手机网站支付[trade_wap_pay]

  pay=Pay(ALIPAY_CONFIG) # 传入对应支付方式配置

  order_res=pay.trade_wap_pay(order)# 传入对应订单

  APP支付[trade_app_pay]

  pay=Pay(ALIPAY_CONFIG) # 传入对应支付方式配置

  order_res=pay.trade_app_pay(order)# 传入对应订单

  异步通知校验[parse_and_verify_result]

  # 传入对应支付方式配置

  pay=Pay(WECHAT_CONFIG)

  # 传入对应支付方式返回的原始数据,校验成功会返回解析成json数据

  data=pay.parse_and_verify_result(req_xml)

  微信JS支付[trade_js_pay]

  # 传入对应支付方式配置

  pay=Pay(WECHAT_CONFIG)

  # 传入对应订单

  data=pay.trade_js_pay(order)

  微信企业付款到零钱[enterprise_pay]

  # 传入对应支付方式配置

  pay=Pay(WECHAT_CONFIG)

  # 传入对应订单

  data=pay.enterprise_pay(order)

  交易查询[trade_query]

  # 传入对应支付方式配置

  pay=Pay(WECHAT_CONFIG)

  # 传入对应回单信息

  data=pay.trade_query(response)

  交易取消[trade_cancel]

  # 传入对应支付方式配置

  pay=Pay(WECHAT_CONFIG)

  # 传入对应回单信息

  data=pay.trade_cancel(response)

  退款[trade_refund]

  # 传入对应支付方式配置

  pay=Pay(WECHAT_CONFIG)

  # 传入对应回单信息

  data=pay.trade_refund(response)

  退款查询[trade_refund_query]

  # 传入对应支付方式配置

  pay=Pay(WECHAT_CONFIG)

  # 传入对应回单信息

  data=pay.trade_refund_query(response)

更多相关文章

  1. UWP与Android中如何在多线程中刷新UI
  2. Ubuntu上adb找不到设备问题小结
  3. UI设计
  4. Android中Activity启动模式launchermode和intent.addFlags
  5. 按日期选择最晚日期与最早日期对应的数的差值
  6. sql根据表名获取字段及对应说明
  7. Android(安卓)Apk脱壳(360加固)
  8. 关于打印日志的使用
  9. 关于android 多媒体数据库

随机推荐

  1. Android使用系统Intent实现分享功能及将
  2. android横屏竖屏 实现
  3. Android游戏开发学习(1)--android设置全
  4. Dealing with bitmap object in android
  5. Android 视频播放
  6. Android属性设置大全
  7. android 图片相关处理
  8. android 把TextView中的文字添加阴影效果
  9. Android 全局背景音乐
  10. Error while executing process D:\Andr