銀聯支付

 最近在做銀聯支付,想到了某個壇主的一句話:銀聯客服真垃圾。不是我黑銀聯,銀聯支付申請到現在,三個月,銀行還沒徹底搞定。都說銀聯支付比較難,我看了也不過如此,不知道是我做的功能少還是怎麼回事,android 客戶端的只需要一步調用就好了,直接照着開發文檔做就行了,其他剩下的都是後臺的工作了。真心的 ,感覺銀聯做着還行,但是真的沒有發現比較完整的銀聯介紹,都是上傳的銀聯的整個開發文檔,這是我感覺,在做第三方介入的時候,銀聯是真心垃圾,開發文檔不完整,各種揪心。廢話不多說,直接上銀聯支付調用的一句話。
   UPPayAssistEx.startPayByJAR(Cancel.this, 
	        					             PayActivity.class, 
	        					             null, 
	        					             null, 
	        					             tn, 
	        					             "00");

  調用直接就是這一句話,第一個參數   cancel.this,不用看,都知道是當前的activity,第二個參數PayActivity.class   這個是銀聯支付的入口,這個是銀聯自己的,這個不用變,具體第三個第四個參數是什麼,這個我確實不太清楚,不過傳入null就可以,如果誰知道是什麼意思的話可以告訴我(菜鳥在這謝過了),第五個參數tn  ,也就是最主要的,是銀聯那邊識別的tn碼,這個是需要後臺來寫的,你只需要獲取,這個後臺通過商戶(也就是你們自己公司,)的流水號(訂單號)生成的tn號(銀聯的訂單號,銀聯自己能識別)。最後一個參數是隻有兩個值,一個是00,一個是01,00是生產環境也就是正式環境,01是測試環境,是可以用銀聯提供的賬號來進行支付。


這個就是支付,如果支付結果需要用戶收到的話,還有一步。


 @Override
	    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	    	// TODO Auto-generated method stub
	    	super.onActivityResult(requestCode, resultCode, data);
	    	
	    	 /*************************************************
	         * 步驟3:處理銀聯手機支付控件返回的支付結果
	         ************************************************/
	        if (data == null) {
	            return;
	        }

	        String msg = "";
	        
	      /*   * 支付控件返回字符串:success、fail、cancel 分別代表支付成功,支付失敗,支付取消*/
	         
	        String str = data.getExtras().getString("pay_result");
	        if (str.equalsIgnoreCase("success")) {
	            msg = "支付成功!";
	        } else if (str.equalsIgnoreCase("fail")) {
	            msg = "支付失敗!";
	            bar.setVisibility(View.GONE);
	            payfor.setEnabled(true);
	        } else if (str.equalsIgnoreCase("cancel")) {
	            msg = "用戶取消了支付";
	            bar.setVisibility(View.GONE);
	            payfor.setEnabled(true);
	        }

	        AlertDialog.Builder builder = new AlertDialog.Builder(this);
	        builder.setTitle("支付結果通知");
	        builder.setMessage(msg);
	        builder.setInverseBackgroundForced(true);
	        // builder.setCustomTitle();
	        builder.setNegativeButton("確定", new DialogInterface.OnClickListener() {
	            @Override
	            public void onClick(DialogInterface dialog, int which) {
	                dialog.dismiss();
	            }
	        });
	        builder.create().show();
	    }
其他的就結束了,其實最主要的就是服務器那邊進行配置的時候,需要仔細看銀聯需要的參數,配置好你就可以來獲取TN碼了 。

我感覺銀聯自己的demo沒有一點用,運行不了,還需要自己測試半天。(銀聯預授權也是在tn碼裏提現的,都是看服務器那邊的,客戶端這邊沒什麼東西)

下邊這個是銀聯的demo,



發佈了29 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章