自己开发的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,需要先了解其中的技术原理和开发步骤。下面我将从技术层面进行详细的介绍。一、直播技术原理直播指的是通过互联网将实时的视频或音频信号传输到用户设备上,并能够实现交互的过程。实现直播的核心技术是流媒体技术,其中又包含了三种技术:推流技术、转码
2023-06-05
自贡网上订餐app开发费用多少
自贡网上订餐app的开发费用因项目规模、设计要求、技术难度、开发周期等因素而异,一般来说,开发费用在几万至数十万元不等。下面将从原理和详细介绍两方面,阐述自贡网上订餐app的开发费用。一、原理自贡网上订餐app的开发主要包括需求调研、UI设计、程序开发、测
2023-06-05
怎么自己做app界面
要自己做一个APP界面,需要一定的编程和设计知识。这里介绍一下大致的实现过程。1. 选择开发工具要制作一个APP界面,首先需要选择一个开发工具。常用的开发工具有Android Studio、Xcode、Flutter等。其中,Android Studio和
2023-06-05
怎么做个自己的app
现在随着移动互联网的普及,应用程序(app)已经成为了人们日常生活中不可或缺的部分。很多人可能会想,怎样才能自己开发一个app呢?本文将介绍做一个自己的app的原理和详细过程。一、app的基本构成app的基本构成分为三部分:界面、数据处理和数据存储。其中界
2023-06-05
小白怎么自己做简单岗位app
要做一个简单的岗位app,需要具备以下几个步骤:一、项目规划首先,我们需要明确自己的目标受众是哪样的人,他们所关注的内容又是什么?还要考虑自己的资源、时间和技术储备等方面因素,来制定项目的大体方案。二、设计界面UIUI设计是非常重要的,合理的UI设计可以方
2023-05-31
我想以后自己开发app
开发一款自己的App,并不是一件只有程序员才能做到的事情。如果你有想法,可以通过自己的努力和学习,掌握一些必要的知识和技能,来实现你的梦想。下面让我详细介绍一下开发一款自己的App的原理和流程。首先,你需要明确你的App的目的和功能,这也就是你的开发思路。
2023-05-31
那个app可以自己制作铃声
现在,我们已经习惯了在手机上使用自定义铃声。有些人喜欢使用流行的歌曲,而有些人则喜欢使用独特的铃声来区分不同的联系人。那么,我们如何自己制作铃声呢?其实,有很多的应用程序可以让你轻松地制作铃声。其中一个比较流行的应用程序是“Ringtone Maker”。
2023-05-30
企业做自己的app有什么优劣势嘛
随着移动互联网的普及,越来越多的企业开始注重自己的移动应用程序(APP)开发。相比于只拥有网站,有自己的APP确实有很多好处. 但是,企业做自己的APP也需要考虑其优劣势,才能做出更加明智的决策。优势:1. 增加企业形象和品牌认知度移动应用程序(APP)已
2023-05-30
可以自己做软件的app不用代码
在当今的移动互联网时代,APP的使用越来越普及,而许多人都想着自己也能做出一个APP,但是却因为自己不会写代码而苦恼。幸运的是,现在你可以通过在线应用程序来创建自己的APP,不需要编写代码。这个过程需要多次的尝试与测试,但实际上它是一个非常简单和直接的过程
2023-05-30
甘肃自动量化交易app开发费用
自动量化交易是投资者们进行交易的一种高级方式,该方式最早可以追溯到20世纪80年代初。目前,自动量化交易已成为投资者工具箱中不可或缺的一部分。通过使用自动量化交易软件,投资者可以利用计算机程序来自主进行交易,从而避免人为操作的随意性和情感判断的影响。在交易
2023-05-30
防身自救app开发
随着社会的发展,犯罪事件也在不断增加,而公共安全事件也时有发生。在这些危险事件中,人们要如何保护自己呢?防身自救app可以提供帮助,那么防身自救app的原理是什么呢?下面进行详细介绍。1. 定位功能防身自救app首先需要能够实时获取用户当前的位置信息,这样
2023-05-30
appui自动化工具开发
随着移动互联网的发展,越来越多的企业开始涉足移动应用程序的开发,这为广大开发者带来了新的机遇和挑战。与此同时,自动化测试技术也变得越来越重要,它可以帮助开发人员提高效率和质量,减少错误。本文将介绍一种流行的自动化工具——appui自动化工具,包括其原理和详
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1