SDK与API、alipay支付(封装)


一、SDK与API

1、SDK(software development kit),中文可译为“软件开发工具包”。

          一般都是一些被软件工程师用于为特定的软件包、软件架构、硬件平台、操作系统等建立应用软件的开发工具的集合。

           通俗点是指由第三方服务商提供的实现软件产品某项功能的工具包。在编辑器里敲代码的时候它会自动补全代码、自动检查错误

2、API(application programming interface),中文可译为“ 应用程序编程接口”。
        提供用户编程时的接口,是一些预先定义的 函数
        目的是提供 应用程序与开发人员基于某 软件或硬件得以访问一组 例程的能力,而又无需访问源码,或理解内部工作 机制的细节。

       讲个小故事:

研发人员A开发了软件A,研发人员B正在研发软件B。
有一天,研发人员B想要调用软件A的部分功能来用,但是他又不想从头看一遍软件A的源码和功能实现过程,怎么办呢?
研发人员A想了一个好主意: 我把软件A里你需要的功能打包好,写成一个函数。你按照我说的流程,把这个函数放在软件B里,就能直接用我的功能了!
其中,API就是研发人员A说的那个函数。

二、alipay支付

1、在scripts文件夹中 新建t_alipay文件
2、文件内 按照sdk写代码
   先写配置代码

 

 

 

 生成密钥

 

 下载安装

打开,生成密钥

 

 有应用公钥去支付宝开放平台生成 支付宝公钥

 

最终代码

# 根据sdk文档写
from alipay import AliPay
# 应用私钥
# 固定写法,固定三行。非对称加密:拿私钥签发加密,拿公钥解密,因为公钥是由私钥产生的
app_private_key_string = """-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAkzbXH6DincqSPTvwf1yvvqJ9B7dKzpZ6rfrxaNgxfQ4k8g5y9oWeHDnvbG1L6tjGRhLJRAqdGzZSWF4y8bM8ZQqvl93L+O62qILIEthLbFRy1TJypHso4E0ar4qDUAMjfqKk34KcVlkTklevzO1j8UxupjVgRSsSLTwm7e8xFn/JyI+Aj37Ysh5daxYDhmf8AwsF4ZhjonAFSPfmhS3laZ8KOg1qtzddDVb9LsL8qL6DQBkAPvRtjArcxDAgkpBvoMVNHXyxlXNSnU1ottgQx1fqCafrBHiuu4BgYnlEgj73kFvF0PTQ163i4vLqYTRXTd7cmSo8bVr6Mm4ferXn9QIDAQABAoIBABxMcHH+BVH7vLzUpth0wrvMlGhFTbYEqzSChqF23ZyCeYumR2coLEqUwHeBUxSj8wlJVzMjLywp9w5RnU1k/PkXYsW4txr1GFuwODGXLnh2i1R8TBleK29iovyXjcJ1t/8B2Nu2ScM3gFGjVYH5KDscTDDbFdR2ARp886bNUgxW3Zb6/JJrPn/Evt/h+uH3O0ke0QAzRRoVmOXxrfDwzSa5yHxeIAS8F9Xh+XJI3rDWiRbwtUKucuWC6k4tZcIyDk+AM19Jyz7FDBkbDCc3ENZqmytQczqbmHESPNTNG6yW2en+PPf9cNeYMwAhedsBAZEQsJ/EgpH3v5EFenQTSskCgYEAxc/PfxyNJCX41q0UzFeBqyk45F0z0riTDoGiAwQWj9sST3wBujRdThLbzdhWfdoXSWaGQSwpzigYZ8W2a+aLGrQhV5z4H+VgEzDpjmndcVj/CBHxBFXJdvvmWEl4OoeRo+5tncBFeE4ScXPY5d9hMkbvFEWjagoOngbjw5q2tJ8CgYEAvoTJ2ZeGbxyFJHVm4nzY9cQykghPKYj1vDlIPEsF5a5FirOB03xjNig/Swy8DSOmaiR6uSb0nR2E+Q5pscEJQ3+Mc1aNYJ9Iy6IN1HvQUGTjmaCrGqQkPlwEOsGgV+99cOCOOSupmTexlJ9qHz1JMjvtg07UcKK7pUStHjDBpusCgYEAngrXhH5CQhRYiORGTrDHeAH6Y3IXuo8fZyKpV3GHuS3Vpk20b5nwxjUJCqCDEhASNOHF+AIZ8I1WWmq7wd+zWgV68i4GjC1OImcc41yvwSTSthbnkogb64V81yLz/QddlDUlvTjmCCWQVLazH43mcS39TBwLYOhiH13v0dMlkI8CgYBSvXykIShjLPGtycbq6emXoqOLxEwM78w4+G+kr7hZ7XuKJzdkz4qOxJ/oShmJY0gspLcfnglyCpXrTBUe+4S4abZniNlRcxu8RB7ZfwQTRh2KZLqqkUqkQnYbxmeKiRnjYcKilZHMVuGqeCkwc/9L77bQ5fVhDWuM9OxyRh50DQKBgHg7cRaq3PGGjoCKh01mWiATWyOUadlgevi+0Ju4vK/Bjl5eitDTyvJ6b6NWEQZXhT4UZs/Wcq+bG2RF+G/Sx3Y1zwnlqw6Dmd/mDPVN1mOHQyRqOtf5yjqVKxHG4fpw2OnPOkvst1UvNGRQQITVHTzFw7BPnNqKpEvq92oNcQw/
-----END RSA PRIVATE KEY-----"""
# 支付宝公钥
alipay_public_key_string = """-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0af0AzpsISfe6McmOKV4vRbebWcdWQhaHtDg/o/9lliB30W/p5UzZoXcEYEjaSLviAjfEZrbXb+gxq9opRsF0c5nNmsNAwfnYDSX0arDipXidl0EkR5Ud6N0huETRQBOejrj6s1sjtWXLutmXSKcwFqw0XijV5ONdlIfRHpEOIMDU2qgt9dsfZ5OOXLxyaVfSygS4u24cMvLji8flHIlbMzGhzxZ7Wvd0csPItg8p/zFuq0yhdwwmH6CzLX67PNaP89AF7uiFf8H0osMcy0FaNM3S8OpMQ1GCJ3FVoJYn6H8XznnVYSxOdL43dPt9iPBT5raqtOvwTZ8Wj5pJvS46wIDAQAB
-----END PUBLIC KEY-----"""
# 支付对象
alipay = AliPay(
    appid="2016101900721602",  # 沙箱应用中的
    app_notify_url=None,       # the default notify path
    app_private_key_string=app_private_key_string,
    # alipay public key, do not use your own public key!
    alipay_public_key_string=alipay_public_key_string,
    sign_type="RSA2",          # RSA or RSA2  # 加密方式
    debug=False # False by default # 是否是线下线上环境
)
# 测试网关
gateway = 'https://openapi.alipaydev.com/gateway.do'
#支付链接 : https://openapi.alipay.com/gateway.do? + order_string
import time
order_string = alipay.api_alipay_trade_page_pay    (
    out_trade_no="%s" % time.time(),
    total_amount=50000,
    subject='航母',
    return_url="http://localhost:8080",     # 前台回调接口:支付成功后会跳转到前台的首页
    notify_url="https://example.com/notify" # 后台回调接口。上线后,要换成公网的
)
# 支付链接
pay_url=gateway + '?' + order_string
print(pay_url)

生成的支付链接

 

 两种支付方式

 

 

 

 

 

 支付成功

 

 

 

结果

 三、alipay支付 二次封装

 

 

 

 

 

 

 

 测试文件

 

 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM