2:代码整合:
(1):
        <!-- 支付部分 -->
          <activity
            android:name="com.unionpay.uppay.PayActivity"
            android:configChanges="orientation|keyboardHidden"
            android:excludeFromRecents="true"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="adjustResize" >
        </activity>
        <activity
            android:name="com.alipay.android.app.sdk.WapPayActivity"
            android:screenOrientation="portrait" >
        </activity>   
ResourceMap 文件:这个文件必须放在package com.alipay.android.app.lib;否则alipay.jar会反射找不到文件配置和支付宝加载的界面;
 
(2):
  Handler mHandler = new Handler() {
        public void handleMessage(android.os.Message msg) {
            Result result = new Result((String) msg.obj);
            switch (msg.what) {
                case RQF_LOGIN:
                case RQF_PAY:
                    Toast.makeText(ExternalPartnerAct.this, result.parseResult(), Toast.LENGTH_SHORT).show();
                    break;
            }
        };
    };   
    /**
     * @description:直接调取支付宝
     * @author samy
     * @date 2014年10月16日 下午7:16:20
     */
    private void payByZFBLocal() {
    final String orderInfo = Result.getNewOrderInfo(orderId, shopItemBean.merchantName, tempNeedPrice >= 0 ? tempNeedPrice + "" : (-tempNeedPrice) + "");
        new Thread() {
            public void run() {
                AliPay alipay = new AliPay(aty, mHandler);
                // 设置为沙箱模式,不设置默认为线上环境;从这里开始跳转到支付宝界面;运行完支付pay()后回调;
                // alipay.setSandBox(true);
                String result = alipay.pay(orderInfo);
                Message msg = new Message();
                msg.what = RQF_PAY;
                msg.obj = result;
                mHandler.sendMessage(msg);
            }
        }.start();
    }
  
    /**
     * @description:封装起来有多处用到;
     * @author samy
     * @date 2014年10月19日 下午12:10:45
     */
    public static String getNewOrderInfo(String out_trade_no, String subject, String total_fee) {
        StringBuilder sb = new StringBuilder();
        sb.append("partner=\"");// 合作者身份ID
        sb.append(Keys.DEFAULT_PARTNER);
        sb.append("\"&out_trade_no=\"");// 商户网站唯一订单号
        sb.append(out_trade_no);
        sb.append("\"&subject=\"");// 商品名称
        sb.append(subject);
        // sb.append("\"&body=\"");// 商品详情
        // sb.append("充100返5元");
        sb.append("\"&total_fee=\"");// 总金额
        sb.append(total_fee);
        sb.append("\"?ify_url=\"");// 网址需要做URL编码; 异步通知;服务器异步通知页面路径;
        // sb.append(URLEncoder.encode("http://notify.java.jpxx.org/index.jsp"));
        sb.append(URLEncoder.encode("http://waimai.365sji.com/notify_url_client.jsp"));
        sb.append("\"&service=\"mobile.securitypay.pay");// 接口名称 ,固定值mobile.securitypay.pay
        sb.append("\"&_input_charset=\"UTF-8");// 参数编码字符集
        // sb.append("\"&return_url=\"");
        // sb.append(URLEncoder.encode("http://m.alipay.com"));
        sb.append("\"&payment_type=\"1");// 支付类型;支付类型。默认值为:1(商品购买)
        sb.append("\"&seller_id=\"");// 卖家支付宝账号
        sb.append(Keys.DEFAULT_SELLER);
        // 如果show_url值为空,可不传
        // sb.append("\"&show_url=\"");
        sb.append("\"&it_b_pay=\"1m");// 支付超时 时间;
        sb.append("\"");
        String sign = Rsa.sign(sb.toString(), Keys.PRIVATE);
        sign = URLEncoder.encode(sign);
        StringBuffer buffer = new StringBuffer(sb);
        buffer.append("&sign=\"");
        buffer.append(sign);
        buffer.append("\"&sign_type=\"RSA\"");// 签名;签名方式,签名类型,目前仅支持RSA
        return new String(buffer);
    }
 
ps:
参照部分:
 @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
        try {
            String info = getNewOrderInfo(position);
            String sign = Rsa.sign(info, Keys.PRIVATE);
            sign = URLEncoder.encode(sign);
            info += "&sign=\"" + sign + "\"&" + getSignType();// 签名;签名方式,签名类型,目前仅支持RSA
            Log.i("ExternalPartner", "start pay");
            Log.i("samy", "info = " + info);
            final String orderInfo = info;
            new Thread() {
                public void run() {
                    AliPay alipay = new AliPay(ExternalPartnerAct.this, mHandler);
                    // 设置为沙箱模式,不设置默认为线上环境;从这里开始跳转到支付宝界面;运行完支付pay()后回调;
                    // alipay.setSandBox(true);
                    String result = alipay.pay(orderInfo);
                    Log.i(TAG, "result = " + result);
                    Message msg = new Message();
                    msg.what = RQF_PAY;
                    msg.obj = result;
                    mHandler.sendMessage(msg);
                }
            }.start();
        }
        catch (Exception ex) {
            ex.printStackTrace();
            Toast.makeText(ExternalPartnerAct.this, R.string.remote_call_failed, Toast.LENGTH_SHORT).show();
        }
    }    /**
     * @description:加载支付宝网页
     * @author samy
     * @date 2014年10月16日 下午7:16:41
     */
    private void payByZFBWeb() {
        // KJHttp kjHttp = GlobalApp.getKJHttp();
        KJStringParams params = new KJStringParams();
        params.put("trade_no", orderId);
        params.put("subject", shopItemBean.merchantName);
        params.put("total_fee", tempNeedPrice >= 0 ? tempNeedPrice + "" : (-tempNeedPrice) + "");
        // kjHttp.urlGet(UrlConstants.PAY_SUBMIT, params, null);//现不做回调处理;
        if (params != null) {
            // StringBuilder是用来组拼请求地址和参数
            StringBuilder str = new StringBuilder(UrlConstants.PAY_SUBMIT);
            // str.append("?").append(params.toString());
            str.append("?");
            if (params != null && params.urlParams.size() != 0) {
                for (ConcurrentHashMap.Entry<String, String> entry : params.urlParams.entrySet()) {
                    // 如果请求参数中有中文,需要进行URLEncoder编码 gbk/utf8
                    try {
                        str.append(entry.getKey()).append("=").append(URLEncoder.encode(entry.getValue(), "utf-8"));
                    } catch (UnsupportedEncodingException e) {
                        e.printStackTrace();
                    }
                    str.append("&");
                }
                str.deleteCharAt(str.length() - 1);
            }
            confirm_order_btn.setEnabled(false);
            Bundle bundle = new Bundle();
            bundle.putString(BaseWebViewAct.PAGE_TITLE, "支付宝支付");
            bundle.putString(BaseWebViewAct.PAGE_URL, str.toString());
            showActivity(aty, PayByZFBAct.class, bundle);
        }
    }  原文地址:http://www.cnblogs.com/hongfeiliuxing/p/a8f5ad2ea6491fc16c106862c64176c5.html