java客户端绑定支付宝_Android客户端集成支付宝快捷支付

一. 第三方支付开放接口

1. 支付宝

面向用户:  支付宝、微信

面向企业:  连连支付、东方支付

2. 官网

3. 请求参数说明

4. 支付宝集成

1) 安全

哪些参数需要从服务端获取

a) 订单号

b) RSA私钥

优化后:客户端向服务端传参数包括商品id + 价格

服务端构造完整的符合支付宝参数规范的订单信息

5. 使用OpenSSL生成公钥私钥

支付宝钱包支付接口开发包2.0标准版(20160516)\DEMO\openssl

6. 其他的支付接口

1) Bmob

客户端只要cp一下代码,就可以实现支付宝快捷支付了:

public class MainActivity extends Activity {

private static final int SDK_PAY_FLAG = 1;

public void btnpay(View v) {

String url="可变地址";

Map params=new HashMap();

params.put("product_id", "10101");

params.put("price", "101元");

// TODO Auto-generated method stub

HTTPUtils.get(this, url, params, new ResponseListener() {

@Override

public void onResponse(String arg0) {

// TODO Auto-generated method stub

if(TextUtils.isEmpty(arg0))

{

alipay(arg0);

}

}

@Override

public void onErrorResponse(VolleyError arg0) {

// TODO Auto-generated method stub

}

});

}

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

private void alipay(String arg0) {

final String payInfo ="partner='2088101568358171'&seller_id='xxx@alipay.com'&out_trade_no='0819145412-6177'&subject='测试'&body='测试测试'&total_fee='0.01'&notify_url='http://notify.msp.hk/notify.htm'&service='mobile.securitypay.pay'&payment_type='1'&_input_charset='utf-8'&it_b_pay='30m'&sign='lBBK%2F0w5LOajrMrji7DUgEqNjIhQbidR13GovA5r3TgIbNqv231yC1NksLdw%2Ba3JnfHXoXuet6XNNHtn7VE%2BeCoRO1O%2BR1KugLrQEZMtG5jmJIe2pbjm%2F3kb%2FuGkpG%2BwYQYI51%2BhA3YBbvZHVQBYveBqK%2Bh8mUyb7GM1HxWs9k4%3D'&sign_type='RSA'";

new Thread() {

@Override

public void run() {

// 构造PayTask 对象

PayTask alipay = new PayTask(MainActivity.this);

// 调用支付接口,获取支付结果

String result = alipay.pay(payInfo, true);

Message msg = new Message();

msg.what = SDK_PAY_FLAG;

msg.obj = result;

mHandler.sendMessage(msg);

}

}.start();;

}

private Handler mHandler = new Handler() {

@SuppressWarnings("unused")

public void handleMessage(Message msg) {

switch (msg.what) {

case SDK_PAY_FLAG: {

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

/**

* 同步返回的结果必须放置到服务端进行验证(验证的规则请看https://doc.open.alipay.com/doc2/

* detail.htm?spm=0.0.0.0.xdvAU6&treeId=59&articleId=103665&

* docType=1) 建议商户依赖异步通知

*/

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

String resultStatus = payResult.getResultStatus();

// 判断resultStatus 为“9000”则代表支付成功,具体状态码代表含义可参考接口文档

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

Toast.makeText(MainActivity.this, "支付成功", Toast.LENGTH_SHORT).show();

} else {

// 判断resultStatus 为非"9000"则代表可能支付失败

// "8000"代表支付结果因为支付渠道原因或者系统原因还在等待支付结果确认,最终交易是否成功以服务端异步通知为准(小概率状态)

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

Toast.makeText(MainActivity.this, "支付结果确认中", Toast.LENGTH_SHORT).show();

} else {

// 其他值就可以判断为支付失败,包括用户主动取消支付,或者系统返回的错误

Toast.makeText(MainActivity.this, "支付失败", Toast.LENGTH_SHORT).show();

}

}

break;

}

default:

break;

}

};

};

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值