AndroidとマイクロチャネルアクセスAlipayの支払

AARは、パッケージ、ディレクトリのlibsディレクトリにプロジェクトをダウンロードし、以下の依存性はGradleの来ます

//アリペイSDK AARのパッケージ構成は、必要な
コンパイルを(名前:「alipaySdk-15.6.0-20190226104104-noUtdid」、EXT:「AAR」)
1つの
2
コール支払アリペイのSDKを開始する方法
アリペイSDKは、唯一の支払いを開始呼び出しますパラメータは、サーバの注文情報から返されます。そこでここでは、順序を作成するためのインタフェースのサービス側を呼び出すために支払うことが最初で、その後、サーバは、我々は、アリペイを呼び出すために、このAPPの注文情報を取る、私たちに注文情報を返します。

//我々は、サーバが他に、そのような注文IDとして署名と他のセキュリティ情報がある注文情報、戻り所有以下ORDERINFO
内側ラインの基本的なAlipayのDEMOに従って//用いる

最終のRunnable payRunnable =新規のRunnableを() {

@Override
ます。public void実行(){
PayTaskアリペイ=新しいPayTask(PayDemoActivity.this)。
地図<文字列、文字列>結果= alipay.payV2(ORDERINFO、真の);
Log.i( "MSP"、result.toString());

メッセージmsg =新しいMessage();
msg.what = SDK_PAY_FLAG。
msg.obj =結果;
mHandler.sendMessage(MSG)。
}
}。

//呼び出す非同期なければならない
スレッドのスレッド新しい新=(payRunnable)をpayThread;
payThread.start()
。1
2
3
4
5
6
7
8
9
10
11
12である
13である
14
15
16
17
18である
19。
20
21れる
おさめることにより、上記の呼び出しから見コールバックを受信するメッセージのメカニズムので、私たちはコールバック情報ハンドラのメッセージを受信することがあります。
ハンドラハンドラmHandler =新しい新しいプライベート(){
@SuppressWarnings( "未使用")
公共ボイドのhandleMessage(メッセージmsg){
スイッチ(msg.what){
ケースSDK_PAY_FLAG:{
//アリペイここでコールバック情報を受け取るために
//なお、その結果はサービス側を呼び出してください支払うかを決定するためにAlipayのコールバック結果によって、いないと判定された
BREAKを;
}
デフォルト:
BREAK;
}
};
};
1
2
3
4
5
6
7
8
9
10
11
12は、
13である
14
それが注目されるべきである、支払いの結果ではない支払いコールバック決意結果を通じて、独自のサーバを決定するために呼び出されなければなりません!

他の
ユーザーは電話で考慮する必要が実際の状況は、アリペイをインストールしていませんでした

すでにインストールされているアリペイは、直接アリペイと呼ばれる
インストールされていないアリペイ、アリペイは、H5ページの支払いから転送されます
ステップは比較的簡単であることAlipayのアクセス以上、何のピットはありません。以下のマイクロチャネルは、ピットを支払う必要があります...

マイクロチャネルの有料アクセス
アクセスSDKマイクロチャネル
これで公式サイト

アリペイと比較すると、マイクロチャネルアクセスSDKは比較的簡単ですが、コードの行を取得します

//マイクロチャネルは、SDKを支払う
コンパイル「:微信のAndroid-SDK-と-MTA-:com.tencent.mm.opensdk +」
1。
2
SDKは、マイクロチャネルの支払いやその他の社会的なログインの内側にこれらが一体化されていることに留意すべきです、分離することはできません。あなたがサインイン手紙の中で、以前に統合されたマイクロプロジェクトとなっているのであれば、あなたは統合繰り返す必要があります!

マイクロチャネル打ち上げSDK有料コール
(これは、サービスオーダで返された情報です)... =文字列のコンテンツを
//登録APPIDマイクロ手紙支払う必要
IWXAPIのAPI = WXAPIFactory.createWXAPI(mContext、APPIDを);
JSONObject JSON =新新JSONObject(コンテンツ) ;
PayReq新しい新しいPayReqのREQ =();
req.appId = json.getString( "のAppID");
req.partnerId = json.getString( "PARTNERID");
req.prepayId = json.getString( "prepayid");
REQ。 = json.getString nonceStr( "noncestr");
req.timeStamp = json.getString( "タイムスタンプ");
req.packageValue json.getString =( "パッケージ");
req.sign = json.getString( "サイン")。
api.sendReq(REQ)。//ここで支払わマイクロチャネルへの呼を開始する
。1
2
3
4
5
6
7
8
9
10
11は
12は、
13である
マイクロチャネル支払いコールバックを受信し
ないハンドラと、コードとAlipayの同一ではない上に見ることができます。

マイクロチャネルの有料より特別な場所は、私たちがコールバックを受信するための特別な活動を使用するために必要な情報です。このプロセスは、コールバックを受け取ることができない状況が発生するのは非常に簡単ではありません。

私たちは、あなたがSDK内のマイクロチャネルの内容をチェックアウトすることができ、活動の名前のWXPayEntryActivityを作成する必要があります。注意すべき点がいくつかあります。

活動などAPPのパッケージ名がcom.niubi.companyあるなどの要件を満たすために、このパスは、このアクティビティパスはcom.niubi.company.wxapi.WXPayEntryActivityにする必要があるWXPayEntryActivity
もちろんこのWXPayEntryActivityがファイルAndroidManifestを登録する必要が
活動<
アンドロイド:名=「wxapi.WXPayEntryActivity。」
アンドロイド:=は「真に対して」エクスポート
アンドロイド:launchMode =「singleTop」/>
1。
2
3。
4。
上記の特性およびエクスポートlaunchModeプロパティが追加されなければならないことを特定のノート、それ以外の場合は受信されませんコールバックへ

私たちは支払いを完了した後、通常我々が直接内部の私たち自身のアプリケーションに戻りたいです。今回はそれ以外の場合は、点滅したり、この暗いページに滞在する、上記WXPayEntryActivityが表示されないようにする必要があります。
言葉はそれがレイアウトを持つことはなく、他のは、このアクティビティのオフタイムリーな仕上がりにある、2:00に注意を払うように表示されません
パブリッククラスWXPayEntryActivity実装IWXAPIEventHandler活動を拡張し{

...

@Override
公共ボイドonResp(BaseRespのRESP){
Log.d(TAG、 "onPayFinish、ERRCODE =" + resp.errCode)。

(resp.getType()== ConstantsAPI.COMMAND_PAY_BY_WX){IF
< - AlertDialog.Builderビルダー=新しい新AlertDialog.Builder(この);! - >
< - builder.setTitle(R.string.app_tip);! - - >
< - builder.setMessage(のgetString(R.string.pay_result_callback_msg、String.valueOf(resp.errCode)));! - >
< - builder.show();! - >
//確かにここにいませんDEMOがポップアップダイアログとして上記のようなものですが、私たちはページによって開始通話のために支払うみましょう
:その後、速やかにこのページを仕上げる//、擬似コード掲載
sendPayNotice()
;仕上げ()
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12である
13である
14
15
16
17
18れている
。19
20であり、
別の
同様に、マイクロチャネルの有料の成功が、そのサーバーを呼び出して表示するが、これを覚えて、コールバック状態のマイクロ文字に依存することはできません。
--------------------- 

おすすめ

転載: www.cnblogs.com/hyhy904/p/11069834.html