自己开发的app支付教程大全

移动支付已经成为了人们日常生活不可或缺的一部分,尤其是在COVID-19疫情期间,更是推动了无接触支付方式的普及。作为一名开发者,提供一款安全、快捷、方便的支付途径是我们应该优先考虑的问题。下面介绍我个人对于开发安卓app支付的一些原理和实践。

一、支付原理

1. 手机app支付的原理

移动支付的流程可分为四个阶段:前端、支付网关、银行系统和商户。其中前端是指消费者的手机app,用来发起支付请求;支付网关是支付机构提供的支付接口,连接前端和银行系统;银行系统作为支付清算方,完成账户的资金转移和记账功能;商户是从银行获得的结算账户,支付成功后对卖家进行结算。

2. 支付流程

支付流程分为两个阶段:预支付和确认支付。预支付主要分为以下几个步骤:

(1)用户用手机打开商户的app,选中商品进入支付页面;

(2)用户选择支付方式,例如微信支付或支付宝支付;

(3)前端app发起预支付请求到支付网关,支付网关返回prepay_id等支付资料;

(4)前端根据支付资料组装出支付请求,调起相应的支付应用;

(5)用户在支付应用中确认支付完成后,支付应用返回支付结果。

如果支付成功,支付网关会异步通知商户端支付成功,商户根据异步通知更新订单状态,并发起查询订单接口查询支付结果,扣款成功后完成订单;如果支付失败,商户端同样可以收到支付网关的通知,商户可以根据通知信息返回错误信息给用户,并撤销订单。

二、支付开发实践

1. 组织开发架构

我们首先需要创建一个android studio项目,添加支付宝SDK和微信SDK的库文件,依赖管理工具可选择Gradle(推荐)或Maven;其次,在项目的manifest文件中添加支付请求需要的权限,例如网络连接、读取手机存储等等;接着,我们需要从支付宝或微信开放平台获取应用ID和应用密钥,并在代码中对其进行配置。

2. 搭建支付模块

(1)支付宝支付

引入支付宝SDK 的实现流程如下:

(a) 添加依赖:

```

implementation 'com.alipay.sdk:alipay-sdk-java:4.8.75.ALL'

```

(b)配置AndroidMainfest.xml 权限,并在application 标签下添加AlipayPayActivity(用来接收支付结果回调)

```

// 添加AlipayPayActivity

android:name="com.alipay.sdk.app.AlipayResultActivity"

android:configChanges="orientation|keyboardHidden|navigation"

android:screenOrientation="behind"

android:theme="@android:style/Theme.Translucent.NoTitleBar" />

```

(c)实现支付逻辑,处理支付结果回调

```

public class AliPay {

/**

*支付宝支付业务

*

* @param orderStr

* 订单信息

* @param activity

* 拉起支付的Activity

* @param handler

* 处理支付结果的Handler

*/

public static void payV2(final Activity activity, final Handler handler, String orderStr) {

final Runnable payRunnable = new Runnable() {

@Override

public void run() {

PayTask alipay = new PayTask(activity);

Map result = alipay.payV2(orderStr, true);

Message msg = new Message();

msg.what = SDK_PAY_FLAG;

msg.obj = result;

handler.sendMessage(msg);

}

};

Thread payThread = new Thread(payRunnable);

payThread.start();

}

// 处理支付结果回调

public static void AliPayResultHandler(final AppCompatActivity activity, Map result) {

PayResult payResult = new PayResult(result);

// 判断支付状态

String resultStatus = payResult.getResultStatus();

if (TextUtils.equals(resultStatus, "9000")) {

Toast.makeText(activity, "支付成功", Toast.LENGTH_SHORT).show();

} else {

Toast.makeText(activity, "支付失败", Toast.LENGTH_SHORT).show();

}

}

}

```

(2)微信支付

引入微信SDK 的实现流程如下:

(a)添加依赖

```

compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'

```

(b)配置AndroidMainfest.xml 权限,并在WXPayEntryActivity(用来接收支付结果回调)

```

// 添加WXPayEntryActivity

android:name=".wxapi.WXPayEntryActivity"

android:exported="true"

android:launchMode="singleTop"

android:screenOrientation="portrait" />

```

(c)实现支付逻辑,处理支付结果回调

```

public class WXPay {

// 发起支付

public static boolean pay(Context context, PayReq request) {

IWXAPI api = WXAPIFactory.createWXAPI(context, request.appId);

api.registerApp(request.appId);

return api.sendReq(request);

}

// 处理支付回调

public static void WXPayResultHandler(final AppCompatActivity context, BaseResp resp) {

if (resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {

switch (resp.errCode) {

// 支付成功

case 0:

Toast.makeText(context, "支付成功", Toast.LENGTH_SHORT).show();

break;

// 失败

case -1:

Toast.makeText(context, "支付失败", Toast.LENGTH_SHORT).show();

break;

// 取消

case -2:

Toast.makeText(context, "支付已取消", Toast.LENGTH_SHORT).show();

break;

default:

break;

}

}

}

}

```

三、总结

开发手机app支付相对较为复杂,但是通过以上步骤,细致的代码实现和对接口的理解,我们就能开发出对用户友好、实用、安全的支付功能。支付功能成功实现后,须保障卖家和服务商的业务流程一致,完成支付交易。在进一步的优化和尝试中,我们能够加入更加智能和互联化的支付方式,使用户的生活更加便捷高效,并提高用户黏性。


相关知识:
自做书app
随着移动互联网的发展,电子书阅读越来越受到用户的欢迎。为了满足用户的需求,一些自助制作电子书的工具或平台也出现了。本文将介绍如何自己做一个可供用户阅读电子书的app。1. 确定电子书格式在开始之前,需要确定电子书的格式。电子书通常包括EPUB、PDF、MO
2023-06-05
自己做的app需要交税吗安全吗
在介绍自己做的app是否需要交税之前,先来了解下什么是税,税是政府为了筹集社会资金而对市民征收的一种定期向政府缴存资金的制度。不同地区、国家的税收政策也存在着差异。比如在中国,不同类型的app都存在着需要交税的情况。那么自己做的app需要交税吗?根据国家税
2023-06-05
自己做个直播app怎么弄
随着互联网的普及,直播应用已经越来越受到人们的关注和青睐。如果你也想尝试自己做一个直播应用,那么这篇文章将会为你介绍如何实现这个想法。一、直播的基本原理在进入到具体的开发过程之前,我们需要先了解一下直播的基本原理。直播的本质是由一名主播通过手机或者电脑摄像
2023-06-05
自己做app属于互联网行业吗知乎
做App是一种基于互联网的创业方式。App,全称应用程序,是一种可以在智能手机、平板电脑、电视机或其他可智能接入互联网的终端设备上使用的软件。随着智能手机的普及和移动支付的兴起,App行业正在呈现出前所未有的发展态势。据统计,到2025年,中国移动互联网用
2023-06-05
自己制作app软件教程
如果您想自己制作一款app软件,这里为您提供一些指导和建议:1.明确您的目标在开始您的创作之前,明确您的目标十分重要。这意味着您需要明确您的app的用途、为何要制作,并确定您的基本功能。2.研究不同的app制作软件有很多app制作软件可供选择,包括易用性比
2023-06-05
自贡手机app软件定制开发公司
手机app软件定制开发公司是专门为客户提供手机应用程序开发的服务的公司。这些公司通常拥有多年的经验,并拥有专业的技术人员和团队来满足客户的需求。在自贡,有许多这样的公司,他们可以轻松定制开发适合不同客户需求的应用程序。一个手机app软件定制开发公司通常可以
2023-06-05
有哪些app是做自媒体的
自媒体已经成为了当今社会新兴的传媒方式,成为了许多人财富的来源。而在自媒体大爆发的同时,各种专门为自媒体打造的应用也应运而生。下面就让我们一起来看看自媒体领域的几款热门应用吧。1.简书:简书是一款专为个人自由创作而生的网站,用户可以在这里发表自己的文章以及
2023-06-05
如何自己做字典app
字典app是现代生活中硬件普及的数字化形式。随着移动设备的普及,人们对于查阅学习资料的需求大大增加,也对字典app提出了更高的要求。本文将简单介绍如何自己做一个字典app。1.需求分析在开始开发字典app之前,我们必须确定需求。字典app的基本功能是检索单
2023-05-30
可以自己做文字漫画的app
文字漫画是指通过文字和插图来表现动漫形式的故事,通常这种文本形式不需要太多的绘画技术,就能让大家快速了解故事情节。而且文字漫画表现形式也非常适合在手机和电脑上观看,随时随地都能阅读。那么,如何自己做一个文字漫画的App呢?下面我们来介绍一下它的原理和详细步
2023-05-30
辞职创业做一款自己的app
近年来,“创业”已经成为了广受热议的话题,越来越多的人想要实现自己的创业梦想。“辞职创业”已经成为一种趋势,很多人辞去稳定的工作,选择冒险,创业。而在创业中,移动互联网领域成为最受青睐的领域之一,因为移动互联网具有成本低、市场广等优势,同时也是未来发展的趋
2023-05-30
安卓自己制作app内快捷指令怎么用
安卓自己制作app内快捷指令是一种便捷的方式,让用户可以更加快速地使用和访问app内的一些常用功能和页面。本文将介绍如何实现这个功能以及其原理。制作快捷指令的一般步骤1. 打开你想制作快捷指令的app,选择一个你平时使用频率比较高的功能或者页面作为快捷指令
2023-05-30
app开发外包还是自建好
随着移动互联网的发展,移动应用程序成为了越来越多企业、组织和个人的业务增长点。那么,对于企业或个人而言,是选择自建一支app开发团队还是将app开发外包给专业的团队呢?这是一个需要考虑成本、时间、技术等多个因素的问题。自建开发团队自建一个app开发团队需要
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1