场景
随着移动支付的兴起,在我们的app’中,会经常有集成支付的需求.这时候一般都会采用微信和支付宝的sdk 来集成
(一)支付宝支付
在使用支付宝支付的过程中,我们是在服务器端生成订单,客户端访问接口,并得到订单信息,调用接口支付,支付成功后支付宝会分别 异步调用服务器端,并向客户端返回支付结果.
开发步骤:
①注册支付宝账号——进行实名认证——提交审核资料——审核通过
支付宝无线快捷支付接口:
b.alipay.com/order/productDetail.htm?productId=2014110308141993&tabId=4#ps-tabinfo-hash
ps: 申请要上传你
在移动互联网时代,移动支付已经成为应用开发不可或缺的一部分。Android平台上,常见的支付方式是集成支付宝和微信支付。这两种支付方式的集成过程大同小异,主要涉及客户端与服务器端的交互,以及SDK的正确配置和使用。
**支付宝支付**
1. **注册及认证**:开发者需要在支付宝开放平台上注册账号,完成实名认证,提交相关审核材料,包括apk、产品说明、截图等,待审核通过后,会得到PID(Partner ID)和秘钥(AppKey)。
2. **SDK集成**:下载支付宝提供的SDK和Demo,将审核通过后的PID替换Demo中的PID,同时设置支付宝收款账户和私钥。注意,密钥有MD5、RSA、DSA三种加密方式,Java开发者需要将私钥转换为PKCS8格式,并将公钥上传至支付宝。
3. **客户端调用**:将支付宝SDK的jar包导入项目,参考Demo中的示例代码,调用`PayTask`类的`pay`方法,传入订单信息字符串。订单信息的拼接和签名处理至关重要,签名需遵循UTF-8编码,排除`sign`和`sign_type`参数进行签名。
4. **配置及回调处理**:在AndroidManifest.xml中添加`H5PayActivity`和相关权限,更新Proguard混淆规则。支付完成后,支付宝会异步回调服务器,客户端则通过`out_trade_no`(订单号)向服务器查询支付状态,以确保支付的准确性。
**微信支付**
1. **获取AppID**:类似支付宝,开发者需要在微信开放平台注册,获取appid,通过审核后用于后续开发。
2. **下载微信支付SDK**:获取Android版的微信支付Demo,重点关注`PayActivity`,同时创建`wxapi`文件夹用于回调处理。
3. **项目集成**:导入核心库`libammsdk.jar`,在`AndroidManifest.xml`中添加`WXPayEntryActivity`,设置为exported="true",并设定启动模式。
4. **接口调用**:初始化`IWXAPI`实例并注册应用,然后创建`PayReq`请求对象,设置订单信息,调用`api.sendReq(req)`发起支付请求。支付完成后,微信会进行同步和异步回调,客户端需监听并处理这些回调。
无论是支付宝还是微信支付,安全性是首要考虑的问题,因此在处理支付过程中,签名验证和数据加密必不可少。同时,确保服务器端能够正确验证支付结果,避免恶意篡改。在实际开发中,还需遵循官方的最新文档,及时更新SDK,以保证支付功能的稳定性和兼容性。