微信支付宝接入开发

其实之前也做过第三方支付,只是时间久了,又忘记了很多坑,导致如今开发又踩坑了,所以干脆记录下来,方便自己以后查阅同时也许能帮到其他开发者

(1)微信支付
首先参考官网文档,这里该有的步骤和api调用,以及怎么调起支付都说的很详细了,只要详细阅读相信不是问题;

SDK接入

如果是Studio开发只需要在Gradle中添加依赖即可
compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
然后在Aplication中初始化一下
  IWXAPI msgApi= WXAPIFactory.createWXAPI(this, null);
  msgApi.registerApp(Constants.APP_ID);
Constants中的遍历参考官方Demo的,这里也写一下
//appid 微信分配的公众账号ID
    public static final String APP_ID = "直接登录开发者帐号就可以看到";

//商户号 微信分配的公众账号ID
    public static final String MCH_ID = "登录商户平台可以查到";

//  API密钥,在商户平台设置
    public static final String API_KEY= "商户平台设置,设置好以后才会有";
//特别注意manifest的配置直接参考官方Demo就行了,但是务必要和Demo中的一模一样,否则可能导致各种支付错误

我觉得最重要的是先熟悉支付步骤:

步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。
步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。参见【统一下单API】。
步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay
步骤4:商户APP调起微信支付。api参见本章节【app端开发步骤说明】
步骤5:商户后台接收支付通知。api参见【支付结果通知API】
步骤6:商户后台查询支付结果。,api参见【查询订单API】

步骤说明:
第一步:其实商品列表是从后台获取的,把商品展示以后当用户点击某个商品或者添加到购物车,那我们需要拿到goodsId,然后根据后台接口文档,将商品post到服务器,统一下单的这个微信接口可以由后台去请求
微信支付宝接入开发_第1张图片

终端只需要把用户添加到购物车的商品id post到服务器,然后从服务器拿到prepay_id,然后吊起支付,如下图解析
微信支付宝接入开发_第2张图片
只要严格按照文档来,我是没踩到什么坑,多和服务器沟通就好

(2)##支付宝支付##
支付宝开发文档
和微信支付大同小异,第一件事当然是看文档,
Demo下载
jar包可以从Demo中Copy过去,manifest参考Demo就行,
特别注意manifest的配置直接参考官方Demo就行了,但是务必要和Demo中的一模一样,否则可能导致各种支付错误,
比如.wxapi.WXPayEntryActivity配置manifest的时候android:exported=”true”

请求支付宝的工作可以交给后台,终端只需要获取pay_info就行,最终调起支付的代码如下
微信支付宝接入开发_第3张图片
微信支付宝接入开发_第4张图片

这些代码也是参考Demo的,必须异步获取支付结果的回调

严格按照文档来,也没遇到什么大坑·

你可能感兴趣的:(android)