首先导入支付宝最新的SDK
然后在主项目build.gradle
中,添加下面的内容,将 libs
目录作为依赖仓库:
// 添加下面的内容
flatDir {
dirs 'libs'
}
在您 App Module 的 build.gradle 中,添加下面的内容,将支付宝 SDK 作为项目依赖:
dependencies {
// 添加下面的内容
compile (name: 'alipaySdk-15.5.7-20181023110917', ext: 'aar')
}
运行权限
android.permission.INTERNET
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
支付宝接口调用:
Runnable payRunnable = new Runnable() { String oo="这里是你的支付宝字符串"; @Override public void run() { PayTask alipay = new PayTask(MainActivity.this); Map<String, String> result = alipay.payV2(oo , true); Message msg = new Message(); msg.what = SDK_PAY_FLAG; msg.obj = result; mHandler.sendMessage(msg); } }; // 必须异步调用 Thread payThread = new Thread(payRunnable); payThread.start(); }
支付结果获取和处理:
private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case SDK_PAY_FLAG: @SuppressWarnings("unchecked") PayResult payResult = new PayResult((Map<String, String>) msg.obj); String resultStatus = payResult.getResultStatus(); // 判断resultStatus 为9000则代表支付成功 if (TextUtils.equals(resultStatus, "9000")) {/*支付成功*/ Toast.makeText(MainActivity.this, "支付成功", Toast.LENGTH_SHORT).show(); } else {/*支付失败*/ Toast.makeText(MainActivity.this, "支付失败", Toast.LENGTH_SHORT).show(); } break; } } };