android 支付宝 服务端,Android之支付宝支付集成

支付宝集成流程

https://opendocs.alipay.com/open/204/105296/

主要的回调返回类两个:PayResult与AuthResult

支付接口的调用:

final String orderInfo = info; // 订单信息

Runnable payRunnable = new Runnable() {

@Override

public void run() {

PayTask alipay = new PayTask(DemoActivity.this);

Map result = alipay.payV2(orderInfo,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() {

@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR1)

@SuppressWarnings("unused")

public void handleMessage(Message msg) {

switch (msg.what) {

case SDK_PAY_FLAG: {

@SuppressWarnings("unchecked")

PayResult payResult = new PayResult((Map) msg.obj);

/**

* 对于支付结果,请商户依赖服务端的异步通知结果。同步通知结果,仅作为支付结束的通知。

*/

String resultInfo = payResult.getResult();// 同步返回需要验证的信息

String resultStatus = payResult.getResultStatus();

// 判断resultStatus 为9000则代表支付成功

if (TextUtils.equals(resultStatus, "9000")) {

// 该笔订单是否真实支付成功,需要依赖服务端的异步通知。

showAlert(PayDemoActivity.this, getString(R.string.pay_success) + payResult);

} else {

// 该笔订单真实的支付结果,需要依赖服务端的异步通知。

showAlert(PayDemoActivity.this, getString(R.string.pay_failed) + payResult);

}

break;

}

case SDK_AUTH_FLAG: {

@SuppressWarnings("unchecked")

AuthResult authResult = new AuthResult((Map) msg.obj, true);

String resultStatus = authResult.getResultStatus();

// 判断resultStatus 为“9000”且result_code

// 为“200”则代表授权成功,具体状态码代表含义可参考授权接口文档

if (TextUtils.equals(resultStatus, "9000") && TextUtils.equals(authResult.getResultCode(), "200")) {

// 获取alipay_open_id,调支付时作为参数extern_token 的value

// 传入,则支付账户为该授权账户

showAlert(PayDemoActivity.this, getString(R.string.auth_success) + authResult);

} else {

// 其他状态值则为授权失败

showAlert(PayDemoActivity.this, getString(R.string.auth_failed) + authResult);

}

break;

}

default:

break;

}

};

};

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值