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を)
一緒に公衆パケット公開鍵と秘密鍵の設定のためのより多く支払うことにアプリケーションを使用してください。
パッケージ構造:
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
----- PUBLIC KEY ----- BEGIN
Alipayの公共
----- END PUBLIC KEYを-----
----- ----- RSA PRIVATE KEYをBEGIN
、秘密鍵を使用
----- END RSA PRIVATE KEY -----を
時々、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 + = 「/発注/成功/ 」