1. 程式人生 > 實用技巧 >貝葉斯濾波與卡爾曼濾波

貝葉斯濾波與卡爾曼濾波

1.支付寶支付流程

2. 新建支付寶應用

# 訪問"支付寶開發平臺"登入,可以訪問開發者中心
https://open.alipay.com/platform/home.htm
# 可以參考"電腦網站支付" 熟悉電腦支付整體流程
https://docs.open.alipay.com/270/105899/

第一步:建立應用(使用沙箱環境測試)

  • 沙箱環境說明
  • 線上環境需要建立應用,因為我們不是企業,沒有資質,所以只能申請沙箱環境
  • 簡單來講沙箱環境就是給開發者使用的測試環境
  • 沙箱環境地址:https://openhome.alipay.com/platform/appDaily.htm?tab=info
  • 公鑰加密、私鑰解密

2.2 按照官方要求生成金鑰

  • 生成金鑰參考官網:https://docs.open.alipay.com/291/105971

  • 安裝支付寶開放平臺開發助手

  • 一定要儲存兩個東西

    - 支付寶公鑰:我傳送資訊給支付寶,使用支付寶公鑰進行加密
    - 應用私鑰:我自己生成的,支付寶給我傳送的資訊是用我上傳的app公鑰加密,只有我 自己的私鑰可以解密
    

2.3 把生成的應用公鑰貼上到沙箱環境的app中

2.4 檢視沙箱環境賬號資訊

# 商家資訊
商家賬號[email protected]
登入密碼111111

# 買家資訊
買家賬號[email protected]
登入密碼111111
支付密碼111111

3. 測試獲取支付寶掃碼連結

3.1 支付寶開發網址

支付寶開放平臺: https://open.alipay.com/platform/home.htm
支付寶沙箱環境: https://openhome.alipay.com/platform/appDaily.htm?tab=info
支付寶開發者文件:https://openhome.alipay.com/developmentDocument.htm
電腦網站支付流程:https://docs.open.alipay.com/270
生成簽名:https://docs.open.alipay.com/291/106103/
python-alipay-adk : https://github.com/fzlee/alipay/blob/master/README.zh-hans.md

3.2 說明

  • 阿里官方沒有提供python對接支付的sdk,但是python庫中有非官方的sdk包可以使用
  • python-alipay-adk : https://github.com/fzlee/alipay/blob/master/README.zh-hans.md
  • 使用起來非常簡單,只要傳入幾個必要的引數就可以完成
  • 由於支付對安全要求很高,所以要理解對接支付寶安全的流程: 公鑰加密、私鑰解密 這八個字

3.3 app_private_key.pem app私鑰

-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAuhA0MBh4prGIb+SzjT4/427IokJw5sKHWccth0gSN4eavJiYcXVcHCtATq/2s1/1bUZBVQV/0pb+GuuOB3B5iOWovhaE0jjA3Tms5CIX+vrM07+rcCVA7itpZ2WgQtRa5YKumypyrNk3NY+77h8xZuX7N6w5Z+6Uu7TVj0JxXEY8pXyhoki86aKkiw2Z4Ma5BZfFus3iazYjHn0uLLUt+5dsKngVeDZJDSjz6/AKbVA/10Vf4lSqGqgIDG4ElVpn+aiTfv5BgfU+BaomXfQW26rY4nRWXwPRR+wsqSmGIVVF6681bnAUDHph/DGuZUYMJwYOfh/ekYE9GVFTVB1K/wIDAQABAoIBAEejT4SpF2MO/bofMyaRriWSFPusWy3t/hEKCDSLAkCRHHm6ww8EIbfSy0rAo1rC+ordPvBOUr2xVxrkUOX6X0DfM84ke3U5VsCWoUOhANyoTc7FgGuIXGyXGFkwHrk8a9bsLvAdMtPsOj6MHc58AhhdOhFgZSXoDSoMYSFscpsU4gF7p//LJSbiAvf9iU0N+OLN1C1sS5ktu3xVOuuI1uMsktRDMyy+eKo4i/Bhgt6IM2PdERZYXKW7PSK2HZNuniDtqapoMgtLw6QyI+aKvkSWxfk4qQ4vvon+bSdq/We+1XcWHAyGt2voADkb5JOFZ/vMh4jiTBLVNUl/oqDmGkkCgYEA/R4xe5PZ2yiYeM+gma4qPjG8ysUwujKmhZqrmnACcKs+Mjg0EAdcWzXNfckbepjpiZEWUQLHFHHZdtxGmkLzz6qRMmYdriqzIMArvw4ksmNAm1klpZPjDD0DxOaCd9fnYT+nG91GEvqgIZOTWn8BkpBeNKEzGU9twfoxTHJowYUCgYEAvC6OBcTd9wIr/LKlFPMETxKROR42DxNifeQSRaPNwKbNp8rxEVJbkDt7Ax4t3AgcoXmwBwlrM6dJRxN9k+HYYW08TXw+Pm27fCRUnQ4uz/KlmxZp+AlNI3VyDAwQRA90rayicO7j2+5cB+Mk0aXnq2FYpv1SLLhUGzBxtOF5f7MCgYEA1VlFzCvrTVcCbZJUhDTRVmsF/sQHNmrLAYJFcn9HD0DHw/yrpXcO2bKX6pZAmy2Ya2Pns5DrzMfJzO4OdKhKaZgTmq+IBO3o3oocVYXOWK5gHpEdslrc3cvwCV9iSTGqzcWhTVNNZWHq52JEqdqzsJ4PSb02HPdeREpmk1E8CyECgYATYQP1KiHllw6qlkcT0jbmYbYc2LSedtOUvVD4ZPcCWOsi1W5f50hQoR944bm9SASSyHJNNzYX+qk8LZCoEwDyf4pPPHU4fpppHWCtT9GYTpepUfSVu3d7KFQXU4K1T5YncHjGAoPqmTBXC5g2Esy5xGuZvsqgmlbm+eUryHB3qwKBgQD6f5JcSsvz7zFO2h9oIzPZ4gKq69tFhyChNz60ruZ6NT6i31onsc4xBPqUeZ8Rag3ynBpk7ljLsK6n/za8+LbyusMJita9BwKsYdiUAnYiiL9+J+fAgfxtovK7y+b1fE/n/Tec1JKNU7tMouZ4s5vUFaMs6dx+jSNEuD9EiWlLug==
-----END RSA PRIVATE KEY-----

3.4 alipay_pubic_key.pem 支付寶公鑰

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtK2yuyey2y2jPtdU7RyzXwj2CH2cO4xP+ZM03AegArJXbNPqe9XlsnseI8IM17EihmxwvcYsZ2bK6UhkALS2iFnnRGnyKTKPePGx29umH7NXJPjfq+FM/AYINz+074/Hajo00EflE9zJ5E9/wtmH8x6R100/ee5sQlvNIbWehbUB8C2LeyCN4/0nI3v1BJkLlCASaLnK3TmusyGDN0cCQxEIp0TxLMY529Oj03yisOC+X1Gf8YA1SeGyL8eVI2dpA2VS2c8NikmetqmWH84JL6tE0PtiyMgU4y0xfRIW9ml05Cwt1cph9UjSJJpOISr3Er8F43RreCNiwuo5/gfbiQIDAQAB
-----END PUBLIC KEY-----

3.5 alipay_test 測試沙箱環境

# -*- coding: utf-8 -*-
from alipay import AliPay


# 沙箱環境中 app 私鑰
app_private_key_string = open('app_private_key.pem').read()
# 支付寶公鑰
alipay_public_key_string = open( 'alipay_public_key.pem').read()


def get_alipay_url():
    # 例項化一個alipay物件
    alipay = AliPay(
        appid="2016102600762786",  # 沙箱appid
        app_notify_url=None, # 預設回撥url
        app_private_key_string=app_private_key_string,
        # 支付寶的公鑰,驗證支付寶回傳訊息使用,不是你自己的公鑰,
        alipay_public_key_string=alipay_public_key_string,
        sign_type="RSA2", # RSA 或者 RSA2
        debug=True, # 預設False,我們是沙箱,所以改成True(讓訪問沙箱環境支付寶地址)
    )
    # 呼叫支付介面,生成支付連結
    # 電腦網站支付,需要跳轉到https://openapi.alipay.com/gateway.do? + order_string
    order_string = alipay.api_alipay_trade_page_pay(
        out_trade_no="201612226", # 訂單id,應該從前端獲取
        total_amount=str(0.01), # 訂單總金額
        subject="測試阿里雲付款", # 付款標題資訊
        return_url=None, # 付款成功回撥地址(可以為空)
        notify_url=None # 付款成功後非同步通知地址(可以為空)
    )
    pay_url = "https://openapi.alipaydev.com/gateway.do?" + order_string
    print(pay_url) # 將這個url複製到瀏覽器,就會開啟支付寶支付頁面


def query_pay():
    alipay = AliPay(
        appid="2016102600762786", # 沙箱appid
        app_notify_url=None, # 預設回撥url
        app_private_key_string=app_private_key_string,
        # 支付寶的公鑰,驗證支付寶回傳訊息使用,不是你自己的公鑰
        alipay_public_key_string=alipay_public_key_string,
        sign_type="RSA", # RSA 或者 RSA2
        debug=True, # 預設False,我們是沙箱,所以改成True(讓訪問沙箱環境支付寶地址)
    )
    trade_query = alipay.api_alipay_trade_query(
        out_trade_no=20161112, # 上面生成支付碼頁面時傳入的商品訂單號
        trade_no=None
    )
    print(trade_query)


if __name__ == '__main__':
    get_alipay_url()
    # query_pay()