Bmob 移动端支付
2016-09-01 11:21
375 查看
1.导入jar包
2.修改AndroidManifest.xml
添加权限<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
添加 一个 Bmob 默认的 Activity
<activity android:name="com.bmob.pay.tool.PayActivity" android:theme="@android:style/Theme.Translucent" /> <!-- bmob pay sdk activity end -->
3.代码
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Bmob.initialize(this, "cef177e901d6ad01156903c626c8c63a"); order = new PayOrder(); bmobPay = new BmobPay(this); button1 = (Button) findViewById(R.id.button1); button2 = (Button) findViewById(R.id.button2); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub order.setPrice(0.1); order.setName("套餐1"); choseType(); } }); button2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub order.setPrice(0.2); order.setName("套餐1"); choseType(); } }); }
/** * 弹出框支付方式选择 */ protected void choseType() { // TODO Auto-generated method stub new AlertDialog.Builder(this) .setMessage("支付方式选择") .setPositiveButton("支付宝", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { pay(true); } }) .setNeutralButton("微信", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { pay(false); } }).create().show(); }
/** * 进行支付 * * @param byAli */ void pay(final boolean byAli) { Toast.makeText(this, "正在申请支付。。请稍候。。", Toast.LENGTH_SHORT).show(); order.setPaid(false); order.save(MainActivity.this); PayListener listener = new PayListener() { @Override public void unknow() { Toast.makeText(MainActivity.this, "支付失败,很抱歉你只能看这么一点了", Toast.LENGTH_SHORT).show(); } @Override public void succeed() { Toast.makeText(MainActivity.this, "支付操作完成!请等待服务器校验通过即可满足您的要求!", Toast.LENGTH_SHORT).show(); checkAgain(); } @Override public void orderId(String arg0) { order.setOrderId(arg0); order.update(MainActivity.this); } @Override public void fail(int arg0, String arg1) { Toast.makeText(MainActivity.this, "支付失败,很抱歉你只能看这么一点了", Toast.LENGTH_SHORT).show(); if (!byAli && arg0 == -3) { Toast.makeText(MainActivity.this, "您尚未安裝微信支付插件", 0).show(); // 没有微信支付安装微信支付插件 InstallPlugin.installBmobPayPlugin(MainActivity.this, InstallPlugin.ASSETS_PLUGIN); } } }; // 支付宝 true / 微信 false if (byAli) { bmobPay.pay(Double.parseDouble(order.getPrice().toString()), order.getName(), listener); // bmobPay.pay(order.getName(), "一步到味", // Double.parseDouble(order.getPrice().toString()), true, listener); } else { bmobPay.payByWX(Double.parseDouble(order.getPrice().toString()), order.getName(), listener); } }
/** * 支付完成后 */ void checkAgain() { bmobPay.query(order.getOrderId(), new OrderQueryListener() { @Override public void succeed(String arg0) { if (arg0.equals("NOTPAY")) { Toast.makeText(MainActivity.this, "支付失败", Toast.LENGTH_SHORT).show(); } else { order.setPaid(true); order.update(MainActivity.this); Toast.makeText(MainActivity.this, "感谢你购买" + order.getName() + "!", Toast.LENGTH_SHORT) .show(); } } @Override public void fail(int arg0, String arg1) { Toast.makeText(MainActivity.this, "查询失败", Toast.LENGTH_SHORT) .show(); } }); }
4.
相关文章推荐
- 移动端app支付宝支付
- 基于Bmob在小程序端实现一键支付
- 个人开发者也能盈利!Bmob支付SDK使用实例
- 记一下支付宝移动端支付的坑
- 个人开发者也能盈利!Bmob支付SDK使用实例
- 亲历H5移动端游戏微信支付接入及那些坑(一)——支付方式与坑
- 移动端支付,通过RSA非对称加密
- Bmob支付
- Android第三方支付——Bmob支付总结
- 基于Bmob在小程序端实现一键支付
- 移动端支付,通过RSA非对称加密
- 移动端支付系统前景
- 支付宝API接口--移动端网页支付(沙箱)
- 社交、支付、搜索一体,微信5.4要在移动端革百度阿里的命
- 支付宝支付-服务端php对接移动端应用app
- 亲历H5移动端游戏微信支付接入及那些坑(三)——支付接入
- DELPHI移动端支付宝支付
- ios集成支付宝,移动端拼接支付订单字符串
- Asp.Net开通支付宝移动端网页支付
- Bmob解决移动端后台服务实现方案