1.进入 蚂蚁金服开放平台,在首页点击应用,然后创建应用,申请移动支付权限。申请开通支付,是需要公司文件的,个人是不允许开始支付的,相关工作做好之后我们就拥有了支付时需要用到的AppID。
2.生成应用公钥和私钥,把公钥粘贴到支付宝,如图,私钥我们代码里需要用到,注意私钥要是pkcs8格式的,密钥生成工具下载地址,http://pan.baidu.com/s/1pKEGw35,这个工具可以一键生成私钥和公钥,说明一下秘钥包括私钥和公钥,别给这些名字给绕晕了,呵呵!支付功能我们需要用到的参数就三个,一个是APPID(签约的时候获得),一个是TARGET_ID也就是收款的支付宝账号,还有一个就是私钥了RSA_PRIVATE(由自己工具生成)。
最后下载官网演示把这几个参数加进去即可使用,很简单。
核心代码:
//传入APPID和价格组装数据
Map<String, String> params = OrderInfoUtil2_0.buildOrderParamMap(APPID, price);
//组装成name=value这种格式
String orderParam = OrderInfoUtil2_0.buildOrderParam(params);
//传入组装好的数据和自己的生成的私钥生成签名
String sign = OrderInfoUtil2_0.getSign(params, RSA_PRIVATE);
//生成订单信息
final String orderInfo = orderParam + "&" + sign;
Runnable payRunnable = new Runnable() {
@Override
public void run() {
PayTask alipay = new PayTask(activity);
//核心代码,将订单信息传入即可进行支付,阻塞方法
Map<String, String> result = alipay.payV2(orderInfo, true);
Log.i("msp", result.toString());
Message msg = new Message();
msg.what = SDK_PAY_FLAG;
msg.obj = result;
mHandler.sendMessage(msg);
}
};
Thread payThread = new Thread(payRunnable);
payThread.start();