1、添加jar包

将名为libs的文件夹放在您项目根目录下(里面有 BmobPay_版本号.jar 和3个支付宝的jar一共四个jar文件)

2、添加权限和内容

<!-- alipay sdk permission begin --><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" /><!-- alipay sdk permission end -->
 <!-- bmob pay sdk activity begin ,please put below code into application tag --><activityandroid:name="com.alipay.sdk.app.H5PayActivity"android:configChanges="orientation|keyboardHidden|navigation"android:exported="false"android:screenOrientation="behind"android:windowSoftInputMode="adjustResize|stateHidden" ></activity><activityandroid:name="com.bmob.pay.tool.PayActivity"android:screenOrientation="portrait"android:theme="@android:style/Theme.Translucent" /><!-- bmob pay sdk activity end -->

3、类库说明

com.bmob.pay.tool.BmobPay

  • pay(double price, String name, PayListener listener)
  • pay(double price, String name, String body, PayListener listener)
  • PayListener     支付结果监听类com.bmob.pay.tool.PayListener 有成功、失败、未知结果、返回订单号等方法
类型 名称 说明
double price 商品的价格,建议测试用0.02
String name 商品的名称,请注意不要有违禁字眼,可以为空

只允许中文、数字、英文和下划线、英文破折号,否则过滤

String body 商品的详情描述,请注意不要有违禁字眼,可以为空

只允许中文、数字、英文和下划线、英文破折号,否则过滤

  • payByWX(double price, String name, PayListener listener)
  • payByWX(double price, String name, String body, PayListener listener)

    调用微信支付,要安装插件(如果没有安装,会监听器的fail方法会返回-3错误码),插件在sdk文档的plugin文件夹下,demo有通过assets安装的示例

  • query(String orderId, OrderQueryListener listener)

类型 名称 说明
String orderId 支付订单号,不可为空
OrderQueryListener listener 查询结果监听类com.bmob.pay.tool.OrderQueryListener

有成功、失败等方法

4、示例代码

package com.subzero.dictionary.pay;import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Environment;
import android.widget.Toast;
import com.bmob.pay.tool.BmobPay;
import com.bmob.pay.tool.PayListener;/*** Bmob支付宝支付示例* @link http://docs.bmob.cn/androidpay/index.html?menukey=fast_start&key=start_android_pay*/
public class Pay {// 申请的Bmob AppIdprivate String APPID = "换成自己申请的<span style="font-family: Arial, Helvetica, sans-serif;">AppId</span><span style="font-family: Arial, Helvetica, sans-serif;">";</span>
private BmobPay bmobPay;private ProgressDialog dialog;private Context context;public Pay(Context context) {this.context = context;}// 调用支付宝支付public void payByAli(String name, final double price) {// 必须先初始化BmobPay.init(context, APPID);// 初始化BmobPay对象,可以在支付时再初始化bmobPay = new BmobPay((Activity) context);showDialog("正在获取订单...");/*** name 商品名称 price 价格*/bmobPay.pay(price, name, "来自Android客户端", new PayListener() {// 因为网络等原因,支付结果未知(小概率事件),出于保险起见稍后手动查询@Overridepublic void unknow() {Toast.makeText(context, "支付结果未知,请稍后手动查询", Toast.LENGTH_SHORT).show();hideDialog();}// 支付成功,如果金额较大请手动查询确认@Overridepublic void succeed() {Toast.makeText(context, "支付成功!", Toast.LENGTH_SHORT).show();hideDialog();}// 无论成功与否,返回订单号@Overridepublic void orderId(String orderId) {// 此处应该保存订单号,比如保存进数据库等,以便以后查询showDialog("获取订单成功!请等待跳转到支付页面~");}// 支付失败,原因可能是用户中断支付操作,也可能是网络原因@Overridepublic void fail(int code, String reason) {Toast.makeText(context, "支付中断!", Toast.LENGTH_SHORT).show();hideDialog();}});}void showDialog(String message) {if (dialog == null) {dialog = new ProgressDialog(context);dialog.setCancelable(false);}dialog.setMessage(message);dialog.show();}void hideDialog() {if (dialog != null && dialog.isShowing())try {dialog.dismiss();} catch (Exception e) {}}void installBmobPayPlugin(String fileName) {try {InputStream is = context.getAssets().open(fileName);File file = new File(Environment.getExternalStorageDirectory()+ File.separator + fileName);file.createNewFile();FileOutputStream fos = new FileOutputStream(file);byte[] temp = new byte[1024];int i = 0;while ((i = is.read(temp)) > 0) {fos.write(temp, 0, i);}fos.close();is.close();Intent intent = new Intent(Intent.ACTION_VIEW);intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.setDataAndType(Uri.parse("file://" + file),"application/vnd.android.package-archive");context.startActivity(intent);} catch (Exception e) {e.printStackTrace();}}}

详细文档说明:

点击此处

Android第三方支付——Bmob支付总结相关推荐

  1. bmob php支付,Bmob支付

    Bomb是广州比目科技的产品,有支付.IM等等应用,方便接入. 支付的小Demo 第1步:先看文档 要做的事情:创建应用 创建应用成功之后会给你自动生成一些密钥: 之后你要做2件事: 1)安全认证-- ...

  2. Android第三方支付

    移动支付 用户使用移动的终端完成对所购买商品或者服务的支付功能;分为近场支付(蓝牙支付,刷卡,滴卡),和远程支付(网上支付,短信支付) app支付模块 常见的支付厂商-->常见的支付方式 支付宝 ...

  3. Android 第三方支付

    参看支付宝官方文档<安全支付服务 Android 应用开发指南> 一.安全支付服务简介: (一).安全支付服务介绍 安全支付服务是安装在本地 Android 操作系统上的一个组件,主要用来 ...

  4. android第三方支付的接入(支付宝,微信,银联,京东,百度等)

    前言 现在很多应用都需要接入第三方支付sdk,支付方式有很多,常用的支付宝,微信,银联,百度,京东等等,如果一一接入那就太麻烦了,能不能只接入一个sdk但是常用支付方式都能使用呢?ping++帮我们实 ...

  5. Android开发第三方支付微信支付实例集成过程介绍

    最近开发的项目需要集成第三方微信支付,于是查看了微信开放平台的开发指南顺利完成,下面为大家分享一下. 一.在集成之前先到微信开放平台拿到以下三个参数: 项目APP ID, 商户平台的商户号MCH_ID ...

  6. Android接入支付宝实现支付功能

    Android接入支付宝实现支付功能 我本来是想直接讲Android支付这一块的,包括支付宝,微信,其他第三方整合支付等,但是微信开放平台他对我的账号做了限制,所有我今天就先把重心放在支付宝的支付上, ...

  7. android移动支付——微信支付

    前言 这里开篇讲解一系列的Android相关的移动支付.移动支付也称为手机支付,用户使用移动的设备,完成对所购买商品或者服务的支付功能.包括远程支付(网上支付.短信支付),近场支付(刷卡.滴卡.pos ...

  8. Android端集成支付宝支付

    Android端集成支付宝支付 1.申请账号及配置变量 支付宝快速接入链接点击打开链接 支付宝扫码或者账号密码登录 下面是支付宝给出的接入介绍 第一步:创建应用并获取APPID 要在您的应用中接入支付 ...

  9. android移动支付——银联支付

    前言 这里开篇讲解一系列的Android相关的移动支付.移动支付也称为手机支付,用户使用移动的设备,完成对所购买商品或者服务的支付功能.包括远程支付(网上支付.短信支付),近场支付(刷卡.滴卡.pos ...

最新文章

  1. 微信小程序 在使用wx.request时显示加载中
  2. java crossdomin.xml_crossdomain.xml的配置详解
  3. PostgreSQL 优化器代码概览 1
  4. java如何给顺序表赋值_JAVA模拟新增顺序表及单链表
  5. java 5 多线程_Java基础系列五、多线程
  6. imageview获取宽高
  7. vue-watch : 深度监控的语法格式--检测数据的tabledata这个数组的变化
  8. bzoj1048 [HAOI2007]分割矩阵
  9. c#Word模板转PDF,c#word模板生成新的word
  10. 绕过微信客户端授权,获取网页源码
  11. 在家用群晖搭建wordpress博客
  12. TIA西门子博途V17程序安装及相关注意事项
  13. android 常用机型尺寸_Android中获取手机屏幕大小的方法
  14. 相距两千多公里,仅仅数月,从相亲走到结婚 | 2022年复盘日记
  15. Android全屏悬浮窗画布,使用WindowManager实现Android悬浮窗
  16. python简笔画绘制 数据驱动绘图恐龙_python:绘制枫叶简笔画
  17. Win 10 打印机active directory域服务当前不可用解决方法
  18. 计算机讲座背景图,【直播】 以计算机图形研究视角一窥荧幕背后的魔法,讲座即将开始...
  19. 区块链不好落地?腾讯云用区块链做了这些事
  20. APP免费图片图标大全

热门文章

  1. 计算机桌面变成立体,win7系统将桌面变成立体桌面的两种方法
  2. Hbuilder app开发之app启动图片
  3. 我们还年轻,但他们…
  4. 医用离心机,医院检验科常用离心设备
  5. 7.2.5. Window Function Processing
  6. 8750H带的动MATLAB2019吗,i7-8750H评测 性能到底怎么样
  7. 简单一道数学题 剿灭100%垃圾邮件
  8. 【毕业设计】基于stm32的智能饮水控制系统 - 单片机 嵌入式 物联网
  9. 细数那些带打赏功能的平台
  10. 结对编程的总结--带UI的小初高数学学习系统