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