位置: 编程技术 - 正文

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(什么绑定什么服务)

  • 预提费用税务处理
  • 企业所得税法
  • 留抵退税手续
  • u8已记账怎么修改年初余额
  • 股票交易费用计入
  • 购进货物用于在建工程要交增值税吗
  • 进口产品不付汇会造成什么
  • 现金长短款的一般处理
  • 购买的固定资产没有使用,是否计提折旧
  • 现金货款退回如何做会计分录呢?
  • 股权转让印花税税目怎么填
  • 农产品加计扣除1%政策
  • 轿车计提折旧
  • 增值税免税收入汇算清缴的时候填哪
  • 关于增值税普通发票情况的函范文
  • 增值税税控系统专用设备
  • 会计计提和冲回
  • 回盘的模板
  • 免税和零税率和税率区别
  • 库存月底怎么一次性结转成本?
  • 私人公司老板
  • 预提未收的租金怎么入账
  • 固定资产弃置费怎么算
  • linux多线程运行
  • 合伙企业利润分配个人所得税
  • 技术服务合同要盖骑缝章吗
  • 辞退补偿入账
  • php 设计模式 鸟哥
  • hhcol.exe
  • PHP:escapeshellarg()的用法_命令行函数
  • php中unlink
  • 机器学习-10 聚类算法
  • 公司向股东借的钱怎么还
  • 注销小规模公司需要什么材料
  • 企业低值易耗品有哪些
  • php微信公众号开源框架
  • 计提租金怎么做会计分录
  • 基金管理人应当自与基金销售机构签订销售协议之日起
  • 欠别人钱可以用车抵押吗
  • 租赁的房屋再转租出去交几次印花税呢
  • 工程发票预缴是什么意思
  • hashmap的使用场景
  • 终止劳动合同赔偿金最晚多久发放
  • 填制和审核会计凭证,可以监督各项经济业务的合法
  • mysql查询语句慢怎么优化
  • 限定性资产的限定条件包括
  • 两个公司发工资公司会发现吗
  • 房产税的计算方式
  • 普通发票可以开多少税率
  • 事业单位财政直接支付购置固定资产
  • 年末计提企业所得税的依据
  • 国有资产无偿划转协议
  • 扣缴个人所得税怎么计算
  • 人工安装费是几个点税税率
  • 会计中为什么要用黑色笔写
  • 信息技术服务费可以全额抵扣吗
  • 车辆购置税能抵扣企业所得税吗
  • 企业购买的结构性存款怎样做账
  • 银行对账单和银行流水的区别
  • 厂房拆了建住宅可以么
  • xp电脑工作组找不到其他电脑
  • ubuntu20.04忘记用户密码怎么办
  • win7如何创建文件夹
  • ubuntu20.4 ssh
  • win10移动版和win10区别
  • javascript编程技术
  • scumpve服务器
  • 3d网络游戏开发方法
  • ztree getnodebytid
  • Web Safe Color Pallette
  • css div模糊
  • python 编码声明
  • unity shader cull off
  • easyui multiple
  • unity3d怎么用
  • node.js 定时任务
  • jquery iframe
  • 捐赠收入如何交印花税
  • 工会和税务局
  • 福斯特会计软件下载
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设