自己开发的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要怎么做
开发手机应用程序需要掌握以下技能和步骤:1. 确定开发平台和开发工具首先你需要选择一种适合自己的开发平台和开发工具。目前市场上主要有Android和iOS两个主流操作系统。Android系统使用Java编程语言,iOS系统使用Objective-C或Swi
2023-06-05
自己开发app软件长期使用
开发一款自己的APP软件可以帮助您实现很多想法,比如开发一款实用的工具、自己的游戏、社交应用程序或者电子商务应用等。在本文中,我们将介绍如何从零开始开发自己的APP软件。一、确定APP类型首先,需要确定APP的类型,可以从市场需求、自己的兴趣、竞争情况等多
2023-06-05
自己开发app年赚10亿不是梦
想象一下,您开发了一款App,用户下载、观看和购买您的产品,您会从中获得收入。当用户数量增加时,您的收入也会不断增加,甚至可以年赚10亿。这是一个非常具有吸引力的梦想。在这篇文章中,我将向您介绍如何开发一款成功的App,并获得丰厚的收入。1. 创新第一步是
2023-06-05
自己制作活动的app
随着移动互联网的发展,越来越多的人开始使用移动设备参与各种活动。为了更好地为用户服务,许多组织和机构选择开发一个活动的app,以便他们更好地管理活动,提供更好的服务。下面将介绍自己制作一个活动app的原理和详细步骤。首先,你需要决定你的app要提供哪些功能
2023-06-05
自己制作单页可以用什么app
如果你想要快速地制作一个单页,可能会考虑使用一些专门的应用或工具来辅助你完成。下面就为你介绍一些可以用来制作单页的APP,并具体说明其原理及使用方法。1. CanvaCanva 是一款强大的图形设计APP,提供了丰富的模板和设计素材,你可以轻松地通过Can
2023-06-05
制作自己app
制作自己的app是现在越来越受欢迎的事情。人们越来越依赖手机和手机应用程序来处理许多任务,因此制作一个自己的app可以实现更好的用户体验和目标达成。本文将介绍制作自己app的原理和详细步骤。一、原理制作自己的app需要具备以下三个基本技能:1. 编程制作a
2023-06-05
怎么自己做app
自己做app的方法有很多,但是原则都是一样的:要有一定的编程知识和技能。下面我将根据我的经验,为大家介绍一种比较简单易学的方法。第一步:确定app的类型与功能在你想要开发一个app之前,你需要确定这个app的类型和功能。初学者建议先开发一些简单的app,比
2023-06-05
怎么制作自己的店铺app
制作自己的店铺App可以为企业提供更加便捷的销售渠道,以及更加个性化和专业的服务。在制作时需要考虑到设计、开发、营销等多个方面,并且需要投入一定的时间和财力。本文将介绍制作自己的店铺App的原理及详细步骤。### 一、原理概述制作自己的店铺App有两种方法
2023-06-05
如何用appium做自动化测试
Appium是一种用于在移动应用程序中自动化测试UI的开放源代码自动化测试工具。它支持多个平台,包括iOS、Android和Web应用程序。使用Appium可以轻松地测试应用程序的各种方面,如导航、字段输入、按钮点击等。本文将介绍如何使用Appium进行自
2023-05-30
如何把源代码做成自己的app
把源代码转化为自己的APP的具体步骤大致如下:选定需要的开源代码,下载、安装、配置运行环境,修改代码,编译打包并发布到应用市场。下面将逐步阐述如何实现这些步骤。1.选定需要的开源代码:首先在网上搜索相关领域的开源项目,选定自己需要的项目。GitHub是一个
2023-05-30
免费自建app创业
随着智能手机的普及,APP(应用程序)已经成为人们生活中不可或缺的一部分。越来越多的人开始尝试用APP解决自己的问题,也有越来越多的人开始尝试创业一个APP。但是,很多人都因资金问题束手无策,如果您也是这样的人,那么本文会帮助您免费地创业一个APP。1.
2023-05-30
广东自动量化交易app开发价格
自动量化交易指利用程序化交易算法进行交易的一种方式,也被称为机器人交易或智能交易。广东自动量化交易App开发的价格因开发公司和开发功能的不同而异,一般在10万-50万之间。广东自动量化交易App的开发原理是基于量化交易策略的自动化执行,人们可以编写交易策略
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1