位置: 编程技术 - 正文

Intel 英特尔之开发人员专区 ------Android 开发之Android 应用程序如何调用支付宝接口(英特尔在哪打开)

编辑:rootadmin
Android 开发之Android 应用程序如何调用支付宝接口

推荐整理分享Intel 英特尔之开发人员专区 ------Android 开发之Android 应用程序如何调用支付宝接口(英特尔在哪打开),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:英特尔噔噔噔噔噔,英特尔xe,英特尔 噔噔噔噔,英特尔 噔噔噔噔,英特尔k,英特尔 噔噔噔噔,英特尔噔噔噔噔噔,英特尔噔噔噔噔噔,内容如对您有帮助,希望把文章链接给更多的朋友!

zheng z. 于 年 3 月 5 日 提交

新浪 腾讯

最近在做一个关于购物商城的项目,项目里面付款这块我选的是调用支付宝的接口,因为用的人比较多。

1、到支付宝官网,下载支付宝集成开发包

由于android设备一般用的都是无线支付,所以我们申请的就是支付宝无线快捷支付接口。下面是申请的地址以及下载接口开发包的网址: 快捷支付(无线)这个服务。) 下载集成开发包( ↓ ↓ ↓ ↓ 把“alipay_demo”项目导入到Eclipse中,run一下;成功之后,好好的研究研究该demo,至于到时候如何集成到你的项目里面,文档上说明很详细,按着文档上一步一步来就行了。我的建议是先把这个demo弄懂再设计你的项目,看看调用接口是需要哪些数据,这样也有利于你一开始设计数据。

2、介绍接口demo里面的结构

· 打开项目会发现里面有5个类: 其中,Base.java、PayResult.java、SignUtils.java这三个类不需要动,到时候直接放到项目里面就行了,如果你想了解它们也可以看看。重点就是ExternalFragment.java和PayDemoActivity.java这两个类。先来说说PayDemoActivity.java类。

package com.alipay.sdk.pay.demo; /* 请 参考《移动支付接口SDK2.0标准版接入与使用规则》__(7.2 RSA密钥生成与使用),并使用压缩包中的openssl RSA密钥生成工具,生产一套RSA公私钥。 这里签名时,只需要使用生成的RSA私钥。 Note:为了安全起见,使用RSA私钥进行签名的操作过程,应该尽量放到商家服务器端去进行。 */public class PayDemoActivity extends FragmentActivity { //商户PID(合作身份者id,以开头的位纯数字,这个你申请支付宝签约成功后就会看见) public static final String PARTNER = ""; //商户收款账号(这里填写收款支付宝账号,即你付款后到账的支付宝账号) public static final String SELLER = ""; //商户私钥,pkcs8&#;式(商户私钥,自助生成,即rsa_private_key.pem中去掉首行,最后一行,空&#;和换行最后拼成一行的字符串,rsa_private_key.pem这个文件等你申请支付宝签约成功后,按照文档说明你会生成的,如果android版本太高,这里要用PKCS8&#;式用户私钥,不然调用不会成功的,那个&#;式你到时候会生成的,表急。) public static final String RSA_PRIVATE = ""; //支付宝公钥(支付宝(RSA)公钥,用签约支付宝账号登录ms.alipay.com后,在密钥管理页面获取;或者文档上也有。 ) public static final String RSA_PUBLIC = "";}

PayDemoActivity.java这个类等你申请支付宝签约成功后再配置,先放在这不用管,如何配置我注释里面已经写的很明白了。

然后是ExternalFragment.java这个类。这个类其实很简单,你运行这个demo会发现其实在PayDemoActivity.java类的onCreate()方法中填充的布局包含了ExternalFragment类,因此就会显示ExternalFragment类填充的布局,然后点击“支付”按钮,就会调用支付宝接口(因为PayDemoActivity.java未配置,所以你现在估计调用不成功)。我们找到按钮的点击事件的方法就找到调用支付宝的入口了,这个类的代码如下:

/** * call alipay sdk pay. 调用SDK支付 * */ public void pay(View v) { // 订单 String orderInfo = getOrderInfo("测试的商品", "该测试商品的详细描述", "0."); // 对订单做RSA 签名 String sign = sign(orderInfo); try { // 仅需对sign 做URL编码 sign = URLEncoder.encode(sign, "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } // 完整的符合支付宝参数规范的订单信息 final String payInfo = orderInfo &#; "&sign="" &#; sign &#; ""&" &#; getSignType(); Runnable payRunnable = new Runnable() { @Override public void run() { // 构造PayTask 对象 PayTask alipay = new PayTask(PayDemoActivity.this); // 调用支付接口,获取支付结果 String result = alipay.pay(payInfo); Message msg = new Message(); msg.what = SDK_PAY_FLAG; msg.obj = result; mHandler.sendMessage(msg); } }; // 必须异步调用 Thread payThread = new Thread(payRunnable); payThread.start(); }

现在,你已经知道代码是如何调用支付宝接口了。接下来的问题就是:如何把这些代码集成到你的项目中去?

3、写好你的项目4、如何将支付宝接口集成到你的项目当中Intel 英特尔之开发人员专区 ------Android 开发之Android 应用程序如何调用支付宝接口(英特尔在哪打开)

1.解压接口压缩文件(文件名是WS_MOBILE_PAY_SDK_BASE.zip),找到安卓的压缩文件(文件名是支付宝移动支付SDK标准版(Android).zip)。标准SDK以jar包方式提供给商户应用工程集成,打开alipay-sdk-common文件夹分别是alipaysdk.jar、alipaysecsdk.jar、alipayutdid.jar这三个jar包。 2.导入开发资源 (1) 将这 3 个 jar 包放入商户应用工程的 libs 目录下,如下图。 图1-1 libs目录结构 (2) 进入商户应用工程的 Java Build Path,将 libs 目录下的 jar 导入,如下图。 图1-2 导入jar (3) 选中 Order and Export,勾选 3 个 jar 包,如下图。 图1-3 勾选3个jar包 3.修改Manifest文件 在商户应用工程的AndroidManifest.xml文件里面添加声明:

<activity android:name="com.alipay.sdk.app.H5PayActivity" android:configChanges="orientation|keyboardHidden|navigation" android:exported="false" android:screenOrientation="behind" ></activity><activity android:name="com.alipay.sdk.auth.AuthActivity" android:configChanges="orientation|keyboardHidden|navigation" android:exported="false" android:screenOrientation="behind" ></activity>

和权限声明:

1<uses-permission android:name="android.permission.INTERNET" />2<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />3<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />4<uses-permission android:name="android.permission.READ_PHONE_STATE" />5<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>6<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

4.添加混淆规则 在商户应用工程的proguard-project.txt里添加以下相关规则:

-libraryjars libs/alipaysdk.jar-libraryjars libs/alipaysecsdk.jar-libraryjars libs/alipayutdid.jar-keep class com.alipay.android.app.IAlixPay{*;}-keep class com.alipay.android.app.IAlixPay$Stub{*;}-keep class com.alipay.android.app.IRemoteServiceCallback{*;}-keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}-keep class com.alipay.sdk.app.PayTask{ public *;}-keep class com.alipay.sdk.app.AuthTask{ public *;}-keep class com.alipay.mobilesecuritysdk.*-keep class com.ut.*

至此,SDK开发资源导入完成。 5.订单数据生成 在调用SDK支付时需要提交订单信息info,其中参数以key=“value”形式呈现,参数之间以“&”分割,所有参数不可缺。 6.支付接口调用 需要在新线程支付接口。(可参考alipay_demo来实现) 获取PayTask支付对象调用支付,代码实例:

final String orderInfo = info; // 订单信息Runnable payRunnable = new Runnable() { @Override public void run() { PayTask alipay = new PayTask(DemoActivity.this); String result = alipay.pay(orderInfo); Message msg = new Message(); msg.what = SDK_PAY_FLAG; msg.obj = result; mHandler.sendMessage(msg); }};// 必须异步调用Thread payThread = new Thread(payRunnable);payThread.start();

7.支付结果获取和处理 调用pay方法支付后,将通过2种途径获得支付结果: · 同步返回 商户应用客户端通过当前调用支付的Activity的Handler对象,通过它的回调函数获取支付结果。(可参考alipay_demo来实现) 代码示例:

1private Handler mHandler = new Handler() {2 public void handleMessage(Message msg) {3 Result result = new Result((String) msg.obj);4 Toast.makeText(DemoActivity.this, result.getResult(),5 Toast.LENGTH_LONG).show();6 };7};

· 异步通知 商户需要提供一个http协议的接口,包含在参数里传递给快捷支付,即notify_url。支付宝服务器在支付完成后,会以POST方式调用notify_url,以xml数据&#;式传输支付结果。 8.查询有效账号接口调用 调用PayTask对象的checkAccountIfExist()方法查询。(可参考alipay_demo来实现)。 代码示例:

Runnable checkRunnable = new Runnable() { @Override public void run() { PayTask payTask = new PayTask(DemoActivity.this); boolean isExist = payTask.checkAccountIfExist(); Message msg = new Message(); msg.what = SDK_CHECK_FLAG; msg.obj = isExist; mHandler.sendMessage(msg); }};Thread checkThread = new Thread(checkRunnable);checkThread.start();

9.获取当前SDK版本号 调用PayTask对象的getVersion()方法查询。 代码示例:

1PayTask payTask = new PayTask(activity);2String version = payTask.getVersion();、向支付宝申请签约2 3点击文章开头给的网址,直接点击“在线申请”,目的是为了获得PID与密钥,到时候你好按照文档配置你的PayDemoActivity.java文件。4 5申请要上传你的apk或者产品说明文档,我用的是产品说明文档,里面要包括产品说明(最好有产品截图,我第一次没截图直接没成功)、接口使用场景、资费说明。6 7申请成功后按文档上说明,做几个密钥什么的哈哈,上传你做的公钥。然后PayDemoActivity.java里面配置。这里要注意的是,String RSA_PRIVATE=“”;这里要用PKCS8&#;式的私钥。8 9好了,android集成支付宝接口我认为比较快的过程就是这些了,祝你配置成功!

绑定服务时什么时候调用onRebind Serivce中onRebind被调用的时机很特别,想知道什么时候onRebind被调用,可以接下面的次序来学习,最后自然就明白了!1.首先要知道,同一个服务既可能被

【Android开发】线程实例-多彩霓虹灯 利用之前学过的多线程处理技术,我们做一个利用Android手机显示一个多彩霓虹灯效果的小实例。布局文件,这里只留有加了id的线性布局文件res/layout/mia

Android 自定义日期控件 (仿QQ,IOS7) 还记得上篇:Android日期时间选择器,本篇是根据上篇修改而来,先看下qq中日期选择的效果:鉴于目前还没有相的开源日期控件,因此本人花费了一些

标签: 英特尔在哪打开

本文链接地址:https://www.jiuchutong.com/biancheng/383217.html 转载请保留说明!

上一篇:[安卓]手机管家(八)防盗之业务逻辑(安卓手机管家如何卸载)

下一篇:绑定服务时什么时候调用onRebind(什么绑定什么服务)

  • 政府返还土地款的会计处理
  • 增值税发票记账联和抵扣联都丢了怎么办
  • 工资走账是什么意思
  • 无形资产175加计扣除会计如何处理
  • 现流表怎么编
  • 会计法对填制审核会计凭证有哪些规定
  • 跨期差额扣除的计算开票以及账务处理
  • 国有资产报废如何委托拍卖公司
  • 新领的发票怎么导入uk开票系统
  • 主营业务收入冲销
  • 划拨土地使用权多少年
  • 行政诉讼的适用情况
  • 代扣税金是什么意思
  • 增值税普通发票需要交税吗
  • 建筑服务 1%
  • 建筑行业预收账款
  • 营改增后工程税收怎么计算
  • 非征期不能抄报
  • 2018一般纳税人印花税减半吗
  • 总分类账户和明细分类账户平行登记的内容可以概括为
  • 个体户需要申报工资薪金吗
  • 融资租赁销售方会计处理
  • 固定资产替换公式
  • 退回押金如果要退回吗
  • 接受捐赠后会引起
  • 企业新增股东
  • 退还押金的账务处理流程
  • 购入的车辆入账包括哪些费用
  • qqlogin.exe是什么进程 qqlogin.exe应用程序错误解决办法
  • 路由器重启后电视放不出来咋办
  • 分配结转制造费用时借方科目
  • encore是什么软件
  • 解决打呼噜只需一杯水
  • react的前端
  • yii2前后端分离
  • 增值税密码锁定怎么办
  • web搜索与挖掘
  • 发行债券支付的费用要减吗
  • 公办学校的会计
  • 客运公司做账怎么做
  • 自产自销农产品免税备案取消
  • 小企业会计制度和企业会计制度的区别
  • 货币捐赠会计分录
  • python中的元组
  • ajax 教程
  • layuitablechecked获取选中数据方式
  • 更正申报多交的增值税查账么
  • PostgreSQL教程(十四):数据库维护
  • 基建拨款在新政府会计制度对应什么科目
  • 应收代位追偿款有没有明细科目
  • 定货还是订货
  • 新公司第一次报税需要准备什么
  • 抵债资产处置账务实例
  • 建筑工程公司的经营范围有哪些
  • 塑料行业税负率是多少
  • 没有发票的费用可以税前扣除吗
  • mysql压缩包安装教程8.0.20
  • 除MSSQL数据库text字段中恶意脚本的删方法
  • MSSQL转MYSQL,gb2312转utf-8无乱码解决方法
  • sql数据库怎样批量添加数据
  • win10文字模糊怎么调整
  • keyemain.exe是什么进程
  • win7系统安装无法继续怎么办
  • win7还原系统怎么还原
  • windows8.1rt
  • xp系统的文件要用什么才能打开
  • 2021年win10累积更新
  • unity获取组件的方法
  • 安卓骰子游戏
  • css如何用
  • shell脚本字符串操作
  • unity协程的工作原理
  • js utf-8编码转换中文
  • 浏览器环境下的事件循环
  • javascript构造函数可继承父类的构造函数
  • python拷贝列表
  • js根据name取值
  • 江西电子税务局官网app
  • 税务编号是什么 个人
  • 税务年报截止日期2022
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设