支付宝支付

 

首先导入依赖和jar包

implementation (name: 'alipaySdk-15.5.9-20181123210601', ext: 'aar')

支付宝最新Jar包

 

权限

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

 

在我们主build.gradle加入三方库

        maven { url 'https://jitpack.io' }
        //支付宝支付要导入的仓库
        flatDir {
            dirs 'libs'
        }

 

 PayResult

public class PayResult {
	private String resultStatus;
	private String result;
	private String memo;

	public PayResult(Map<String, String> rawResult) {
		if (rawResult == null) {
			return;
		}

		for (String key : rawResult.keySet()) {
			if (TextUtils.equals(key, "resultStatus")) {
				resultStatus = rawResult.get(key);
			} else if (TextUtils.equals(key, "result")) {
				result = rawResult.get(key);
			} else if (TextUtils.equals(key, "memo")) {
				memo = rawResult.get(key);
			}
		}
	}

	@Override
	public String toString() {
		return "resultStatus={" + resultStatus + "};memo={" + memo
				+ "};result={" + result + "}";
	}

	/**
	 * @return the resultStatus
	 */
	public String getResultStatus() {
		return resultStatus;
	}

	/**
	 * @return the memo
	 */
	public String getMemo() {
		return memo;
	}

	/**
	 * @return the result
	 */
	public String getResult() {
		return result;
	}
}

AliPayBean

private String message;
    private String status;
    private String result;
    private final String SUCCESS_STATUS = "0000";
    public boolean isSuccess(){
        return status.equals(SUCCESS_STATUS);
    }
    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }
//接收返回消息
MyHandler myHandler = new MyHandler(this);
    private static class MyHandler extends Handler {
        private final WeakReference<SeatActivity> mActivity;
        public MyHandler(SeatActivity activity){
            mActivity = new WeakReference<SeatActivity>(activity);
        }
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if(mActivity.get() == null){
                PayResult payResult = new PayResult((Map<String, String>) msg.obj);
                ToastUtil.showToast(payResult.getMemo());
                return;
            }
        }
    }


//成功方法

                final String result = aliPayBean.getResult();
                final Runnable payRunnnable = new Runnable() {
                    @Override
                    public void run() {
                        PayTask payTask = new PayTask(SeatActivity.this);
                        Map<String, String> map = payTask.payV2(result, true);
                        Message message = new Message();
                        message.obj = map;
                        myHandler.sendMessage(message);
                    }
                };
                // 必须异步调用
                Thread payThread = new Thread(payRunnnable);
                payThread.start();
                popupWindow.dismiss();

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值