Pythonの使用とday83_11_1アリ。

A. 環境の準備。

  1。有料パッケージの開発者モードで登録し、支払いプロセスをシミュレートするために、サンドボックスを登録するには、まず必要。

  https://openhome.alipay.com/platform/appDaily.htm?tab=info  

  2。そして、Alipayの決済プロセスに精通している開発者ドキュメントを、お読みください。

  https://docs.open.alipay.com/270/105898/

  3。オンライン作成するためのアプリケーションは、ライセンスを設定します/

https://openhome.alipay.com/platform/appManage.htm#/create/1-ab6b-4f9c4e5c01f11487667522647

  4。RSA鍵ジェネレータを生成するインストール

  https://docs.open.alipay.com/291/105971

  5.そこgithubのオープンソースのフレームワーク、開発を使用することができます。

  https://github.com/fzlee/alipay

  アプリケーションのpythonにインストールする必要があります:PIPは、インストールのpython-アリペイ-SDK --upgrade

  6.公開鍵と秘密鍵の設定モード:

"" " 
#Alipay_public_key.pem 
----- PUBLIC KEY ----- BEGIN 
Alipayの公共の
公開鍵をEND ----- ----- 

#app_private_key.pem 
----- RSA PRIVATE KEY-をBEGIN ---- 
ユーザの秘密鍵
----- END RSA PRIV

  7.アリペイリンク

"" " 
開発します。https://openapi.alipay.com/gateway.do 
サンドボックス:HTTPS://openapi.alipaydev.com/gateway.do 
" ""

II。支払いプロセスの分析。

 

 

 

 

 

 

   1.まず、フロントエンドは、注文と注文情報(注文金額、オーダー名、支払いの順番を)提出します

  (未払いデフォルト)、データビューを受け入れる受注を生成する背景には、order_string、フロントへの復帰を経由してのお支払いリンクを生成します。

  オープンジャンプの方法によって遠位リンクを受信した後、ユーザは、2次元コードの支払いを行う3。

次いで、(応答=> { 
  せorder_url = response.data.order_url; 
  window.open(order_url、' _self ' 
  })

  4.成功入金後、お支払いは(レンダリング)から、特定のページのレンダリングにジャンプした後、フロントページの成功として送信されます。

  5.非同期コールバック要求インターフェースは、サーバー攻撃を防ぐため、8回に分かれています。

III。書き込みDAMOおよびパッキング:

  テストフェーズ:

AlipayのインポートAlipayの


app_private_key_string = "" " 
----- RSA秘密鍵をBEGIN ----- 

----- ----- END RSA PRIVATE KEY 
" "" 
alipay_public_key_string = "" " 
-----公開鍵----- BEGIN 

----- ENDを公開鍵----- 
"" " 

アリペイ = アリペイ(
    AppIDを = " 2016101600696171 " 
    app_notify_url =なし、   デフォルトのコールバックURL 
    app_private_key_string = app_private_key_string、
    アリペイ公衆キーは、Alipayのリターンメッセージは、ないあなた自身の公開鍵を使って検証しますalipay_public_key_string = alipay_public_key_string、
    sign_type = " RSA2 "RSA或者RSA2 
    デバッグ=真   默认偽


、インポートから luffyapi.libs.iPayの輸入PAY_URL、アリペイ

order_string = alipay.api_alipay_trade_page_pay(
    out_trade_no = STR(time.time())、
    TOTAL_AMOUNT = 0.01 
    対象 = ' 购买商品' 
    return_url = " にhttp:// localhost:8080 / " 
    notify_url = "https://example.com/notify "  また、デフォルトのURL通知記入しない


order_url = PAY_URL + order_string 

IF  __name__ == ' __main__ ' 印刷(order_urlを)
order_url生成

  一緒に公衆パケット公開鍵と秘密鍵の設定のためのより多く支払うことにアプリケーションを使用してください。

  パッケージ構造:

LIBS 
    ├──iPay                               aliapy第2のパッケージパッケージ 
    │├── __init__の.py                  パッケージファイル 
    │├──キー                         #のキーフォルダ 
    ││├──alipay_public_key.pem       アリペイ公共 
    ││└──app_private_key。 PEMの       #のアプリケーションプライベート 
    └──└──settings.py                   #のアプリケーション構成  
コードの表示

 

 

インポートOS
 上記のidのアリペイアプリケーション 
APP_ID = 2,016,093,000,631,831 
通常ラインなしに設定されているデフォルトの非同期コールバックアドレス、 
APP_NOTIFY_URL = なし
 #のアプリケーション秘密鍵ファイルのパス 
APP_PRIVATE_KEY_PATH = os.path.join(os.path.dirname(__FILE__)、キー' ' app_private_key.pem ' Alipayの公開鍵ファイルパス 
ALIPAY_PUBLIC_KEY_PATH = os.path.join(os.path.dirname(__FILE__)、' キー' ' alipay_public_key.pem ' 署名方法 
sIGN_TYPE =' RSA2 ' 
テスト環境の場合-アリペイサンドボックスかどうか 
DEBUG = Trueの
 #の支払い接続 
DEV_PAY_URL = ' https://openapi.alipaydev.com/gateway.do?' 
PROD_PAY_URL = " https://openapi.alipay.com /gateway.do?"
設定
以下からのアリペイのインポートアリペイ
 から .settings インポート *
 異物支払提供 
アリペイ= アリペイ(
    AppIDを = APP_ID、
    app_notify_url = APP_NOTIFY_URL、
    app_private_key_path = APP_PRIVATE_KEY_PATH、
    alipay_public_key_path = ALIPAY_PUBLIC_KEY_PATH、
    sign_type = sign_type、
    デバッグ = DEBUG 

#は、外部決済リンクプレフィックスを提供 
pay_urlをDEV_PAY_URL = IF DEBUG  PROD_PAY_URL
__init__.py
----- PUBLIC KEY ----- BEGIN 
Alipayの公共
 ----- END PUBLIC KEYを-----
alipay_public_key.pem
----- ----- RSA PRIVATE KEYをBEGIN 
、秘密鍵を使用
 ----- END RSA PRIVATE KEY -----を
app_private_key.pem

  時々、DEVインタフェースおよび同期コールバック・インターフェース、アドレス非同期コールバックインタフェースでお金のバックエンド構成。

フォアグラウンドとBASE_URL 
UP_BASE_URL = http://127.0.0.1:8080 
END_BASE_URL = http://127.0.0.1:8000 

コールバックインターフェイスの設定アリペイ
#が行の公式ウェブサイトのアドレスに置き換える必要があります同期コールバックインタフェース(GETフロントページのURLが正面を分離する場合)は、一般的に提供されており、バック 
return_url UP_BASE_URL + = /ペイ/成功
非同期コールバックインタフェース(POST)、インターフェースバックグラウンド・サーバーに設定する必要があります 
notify_url END_BASE_URL + = /発注/成功/ 
dev.pydev.py

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/LZXlzmmddtm/p/11845176.html