出于安全考虑,验签我们都是放到后台进行验签的。对于我们移动端节省了很多的劳动力。
支付界面如下:
支付完成界面如下:
ok,接下来开始我们轻松的开发之旅:
准备:需要以公司名义,在支付宝,微信等平台上开通公司账户并且认证,如:支付过程中需要公司的帐号和商户号。
支付宝:
1、获取订单信息(根据自己公司的实际情况:可以在服务端完成,也可以在本地完成)
2、客户端拿这些订单信息向服务器后台进行请求,返回支付签名信息signInfo
3、app携带支付信息,调用支付接口请求支付宝客户端,从而调起支付界面
/**
* 支付宝进行请求
*
* @param signInfo
*/
private void payToOrderService(final String signInfo) {
new Thread() {
@Override
public void run() {
super.run();
PayTask payTask = new PayTask(MyScannerPayActivity.this);
// String result = payTask.pay(signInfo, true);
Map<String, String> result = payTask.payV2(signInfo, true);
Message message = mHandler.obtainMessage();
message.what = SDK_PAY_FLAG;
message.obj = result;
mHandler.sendMessage(message);
}
}.start();
}
4、
用户操作,输入密码支付,支付成功;直接返回取消支付;出现错误,支付失败;进入支付界面,但输入密码支付,支付待确认;
5、支付宝客户端将支付结果告诉app客户端,商户服务器通知app服务器支付结果;
6、app客户端处理支付结果;
7、app服务器处理支付结果。
app客户端结果处理代码:
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what)