700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java调用快捷支付接口_Android客户端集成支付宝快捷支付

java调用快捷支付接口_Android客户端集成支付宝快捷支付

时间:2022-11-21 19:24:37

相关推荐

java调用快捷支付接口_Android客户端集成支付宝快捷支付

一.第三方支付开放接口

1.支付宝

面向用户:支付宝、微信

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

2.官网

3.请求参数说明

4.支付宝集成

1)安全

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

a)订单号

b)RSA私钥

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

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

5.使用OpenSSL生成公钥私钥

支付宝钱包支付接口开发包2.0标准版(0516)\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@'&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./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;

}

};

};

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。