自己开发的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)客户端是一种无需编程经验的快速开发过程,它使个人和企业能够在最短时间内创建跨平台的移动应用程序。自建app客户端的工作原理非常简单,它基于各种移动应用程序开发平台,可以让用户通过图形用户界面设计应用程序,并在不到几分钟的时间内完成
2023-06-05
自己做的app如何上线
自己做的App如何上线?要把自己做的App上线至应用商店,你需要通过应用商店提供的申请审批过程并满足相关的需求。下面我们会一步步详细地介绍这个过程。1. 准备工作在你开始开发App之前,要先考虑一下这个 App 的适用人群、功能和设计,需要遵循各个应用商店
2023-06-05
自己做个app怎么做
自己开发一个完整的App可能会比较复杂,因为需要考虑到很多方面,比如设计,编写代码,测试等。在这篇文章中,我们从整体上介绍一下开发一个App所需要的步骤和原理。1. 确定App的功能和需求首先需要确定自己的App要实现哪些功能,以及具体的需求是什么。这是开
2023-06-05
自己制作app平台推荐
近年来,随着移动设备的普及和互联网技术的不断发展,移动应用市场获得了快速增长,成为了计算机应用领域的热门话题之一。越来越多的人意识到,开发自己的移动应用平台有着不可忽视的商业利润,越来越多的人开始关注自己制作app平台的问题。本文将介绍几种自己制作app平
2023-06-05
怎样自己开发一个简单的app
开发一个简单的App需要以下步骤:1.确定要开发的App类型首先需要明确自己要开发的App的类型,这个需要考虑App的目标用户、需求以及市场竞争情况。2.设计App界面与功能根据App类型和目标用户,设计App的界面和功能,需要考虑用户体验和应用的实用性。
2023-06-05
如何自己开发一款考试题库app
开发一款考试题库app需要具备以下基础技能:编程语言、移动端开发框架、数据库等相关知识。首先,需要选择一个适合自己的编程语言。当前比较流行的语言包括Java、Swift、Kotlin等,这里以Java为例。Java在移动端开发、服务器端后台开发都有广泛应用
2023-05-30
如何把自己的网站做成app软件
在移动互联网时代, APP 软件已经逐渐成为人们生活中不可缺少的一部分。对于网站运营者来说,如果把自己的网站做成一个 APP 软件,可以更好地吸引和服务移动端用户,提高用户体验,增加粘性, 巩固用户关系,提高品牌形象,同时也可以进一步拓展自己的用户群体和市
2023-05-30
可以自己做漫画的app是什么
现如今,随着智能手机的普及和移动互联网的快速发展,越来越多的人喜欢用手机来表达自己的创意。其中,漫画是一种受欢迎的创意方式,越来越多的人想要尝试自己制作一部属于自己的漫画。因此,这里介绍几款可以自己做漫画的app,希望能给大家带来帮助。1. ComicDr
2023-05-30
开言英语app自己开发的吗
开言英语是一款非常流行的学习英语的APP,它帮助用户学习英语口语、听力、阅读和写作等各个方面。由于开言英语的成功,许多人都对它是如何开发出来的感到好奇,下面我来为大家详细介绍一下开言英语APP是如何开发的。开言英语APP是由开言在线英语教育科技有限公司开发
2023-05-30
个人怎样做自己的app
在当今智能设备日益普及的时代,APP(应用程序)已成为了人们日常生活中必不可少的一部分。如果你总是对某些APP的设计、体验、功能等方面不太满意,那么,你可以尝试自己动手做一个自己的APP。下面是关于如何做自己的APP的一些基本原理和步骤。1.明确自己的AP
2023-05-30
app自己制作平台
随着移动互联网的发展,越来越多的企业和个人开始把目光投向了移动应用程序(App)领域,而自己制作App的需求也越来越大。为了满足这个需求,出现了一些App自己制作平台。App自己制作平台,通俗地来说,就是使用这种平台可以帮你快速制作一个简单的App应用,而
2023-05-30
app开发自学要多久
App开发自学需要掌握多个技能,包括编程语言、开发工具、UI设计等,学习时间因个人能力、学习方式和学习目标等因素而异。一般来说,初学者需要花费数月到1年的时间,通过不断练习和实践,逐渐掌握各种技能。1. 编程语言学习App开发必须掌握编程语言。常见的编程语
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1