All Projects → tsy12321 → Payandroid

tsy12321 / Payandroid

Licence: apache-2.0
Android端对微信App支付和支付宝App支付的SDK进行二次封装,对外提供一个较为简单的接口和支付结果回调

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Payandroid

Php Practice
🌹 一天一点点,积少成多...
Stars: ✭ 351 (-30.91%)
Mutual labels:  alipay
Okam
Mini program development framework
Stars: ✭ 399 (-21.46%)
Mutual labels:  alipay
Yasea
RTMP live streaming client for Android
Stars: ✭ 4,557 (+797.05%)
Mutual labels:  android-sdk
Awesome Android Ui
😎 A curated list of awesome Android UI/UX libraries
Stars: ✭ 353 (-30.51%)
Mutual labels:  android-sdk
Easypay
[DEPRECATED]A simple frame for mobile pay in China, easy to use & expand . 简单易用的第三方可扩展支付框架。
Stars: ✭ 388 (-23.62%)
Mutual labels:  alipay
Edittext Mask
The custom masks for EditText. The solution for input phone numbers, SSN, and so on for Android
Stars: ✭ 413 (-18.7%)
Mutual labels:  android-sdk
Gopay
golang支付:微信公众号,微信app,微信小程序,微信企业支付,支付宝网页版,支付宝app,支付宝企业支付
Stars: ✭ 313 (-38.39%)
Mutual labels:  alipay
Android Blogs
Blogs about Android
Stars: ✭ 490 (-3.54%)
Mutual labels:  android-sdk
Jpay
🔥对微信App支付、支付宝App支付、银联APP支付的二次封装,对外提供一个相对简单的接口以及支付结果的回调
Stars: ✭ 394 (-22.44%)
Mutual labels:  alipay
Tobias
AliPay For Flutter.支付宝Flutter插件
Stars: ✭ 460 (-9.45%)
Mutual labels:  alipay
Wxapp Boilerplate
使用 webpack, babel, scss 开发的微信/支付宝小程序项目脚手架
Stars: ✭ 367 (-27.76%)
Mutual labels:  alipay
Alipayorderssupervisor
✨ 使用Node监视支付宝订单,即时通知服务器以实现免签约支付接口
Stars: ✭ 384 (-24.41%)
Mutual labels:  alipay
Alipay
alipay
Stars: ✭ 421 (-17.13%)
Mutual labels:  alipay
Androidproject
Android 技术中台,但愿人长久,搬砖不再有
Stars: ✭ 4,398 (+765.75%)
Mutual labels:  android-sdk
Androidaudit
Your Android app as a crime scene!!!
Stars: ✭ 474 (-6.69%)
Mutual labels:  android-sdk
Rdvideoeditsdk For Android
Android Video Editing SDK; Android Video Edit SDK: Video Cut, Video Join, Video Watermark, Video Subtitle, Video Rotate...
Stars: ✭ 343 (-32.48%)
Mutual labels:  android-sdk
Pay
可能是我用过的最优雅的 Alipay 和 WeChat 的支付 SDK 扩展包了
Stars: ✭ 4,176 (+722.05%)
Mutual labels:  alipay
Onesignal Android Sdk
OneSignal is a free push notification service for mobile apps. This plugin makes it easy to integrate your native Android or Amazon app with OneSignal. https://onesignal.com
Stars: ✭ 503 (-0.98%)
Mutual labels:  android-sdk
Qrpay
五合一收款码在线生成,40个模板 支持微信支付、支付宝支付、手机QQ支付、京东钱包、百度钱包,PayPal五合一收款,将其二维码合并为一个二维码,无需手续费,支持qq头像,昵称判断(HTML单页版多模板免安装) 腾讯云服务器 https://api.isoyu.com/qrpay/ 腾讯云COS https://qrpay.isoyu.com/
Stars: ✭ 477 (-6.1%)
Mutual labels:  alipay
Htmlnative
📃Use HTML/CSS to render Android View, Lua to control its logic (Not Webview)
Stars: ✭ 432 (-14.96%)
Mutual labels:  android-sdk

PayAndroid

License Download

对微信支付和支付宝支付的App端SDK进行二次封装,对外提供一个较为简单的接口和支付结果回调

注意注意:支付宝开放平台新支付的通知!

支付宝升级了支付模式,增加开放平台的概念,之前只要在商户平台申请pid即可实现支付,现在是在开放平台创建App,根据相应APP_ID发起支付。更新后调用方式不变。

  1. 老版本接口支付 pay_param生成参见:http://www.jianshu.com/p/9b353529f02c

  2. 新版本接口支付 pay_param生成参见:http://www.jianshu.com/p/59341ea9d86d

1. 如何添加

在app目录下的build.gradle中添加依赖

compile 'com.tsy:pay:1.0.0'

2. Android Manifest配置

权限声明

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

注册activity

        <!-- 微信支付 -->
        <activity
            android:name="com.tsy.sdk.pay.weixin.WXPayCallbackActivity"
            android:configChanges="orientation|keyboardHidden|navigation|screenSize"
            android:launchMode="singleTop"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

        <activity-alias
            android:name=".wxapi.WXPayEntryActivity"
            android:exported="true"
            android:targetActivity="com.tsy.sdk.pay.weixin.WXPayCallbackActivity" />

        <!-- 支付宝支付 -->
        <activity
            android:name="com.alipay.sdk.app.H5PayActivity"
            android:configChanges="orientation|keyboardHidden|navigation"
            android:exported="false"
            android:screenOrientation="behind"></activity>
        <activity
            android:name="com.alipay.sdk.auth.AuthActivity"
            android:configChanges="orientation|keyboardHidden|navigation"
            android:exported="false"
            android:screenOrientation="behind"></activity>

3. 发起支付

3.1 微信支付

   /**
     * 微信支付
     * @param pay_param 支付服务生成的支付参数
     */
    private void doWXPay(String pay_param) {
        String wx_appid = "wxXXXXXXX";     //替换为自己的appid
        WXPay.init(getApplicationContext(), wx_appid);      //要在支付前调用
        WXPay.getInstance().doPay(pay_param, new WXPay.WXPayResultCallBack() {
            @Override
            public void onSuccess() {
                Toast.makeText(getApplication(), "支付成功", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onError(int error_code) {
                switch (error_code) {
                    case WXPay.NO_OR_LOW_WX:
                        Toast.makeText(getApplication(), "未安装微信或微信版本过低", Toast.LENGTH_SHORT).show();
                        break;

                    case WXPay.ERROR_PAY_PARAM:
                        Toast.makeText(getApplication(), "参数错误", Toast.LENGTH_SHORT).show();
                        break;

                    case WXPay.ERROR_PAY:
                        Toast.makeText(getApplication(), "支付失败", Toast.LENGTH_SHORT).show();
                        break;
                }
            }

            @Override
            public void onCancel() {
                Toast.makeText(getApplication(), "支付取消", Toast.LENGTH_SHORT).show();
            }
        });
    }

3.2 支付宝支付

   /**
     * 支付宝支付
     * @param pay_param 支付服务生成的支付参数
     */
    private void doAlipay(String pay_param) {
        new Alipay(this, pay_param, new Alipay.AlipayResultCallBack() {
            @Override
            public void onSuccess() {
                Toast.makeText(getApplication(), "支付成功", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onDealing() {
                Toast.makeText(getApplication(), "支付处理中...", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onError(int error_code) {
                switch (error_code) {
                    case Alipay.ERROR_RESULT:
                        Toast.makeText(getApplication(), "支付失败:支付结果解析错误", Toast.LENGTH_SHORT).show();
                        break;

                    case Alipay.ERROR_NETWORK:
                        Toast.makeText(getApplication(), "支付失败:网络连接错误", Toast.LENGTH_SHORT).show();
                        break;

                    case Alipay.ERROR_PAY:
                        Toast.makeText(getApplication(), "支付错误:支付码支付失败", Toast.LENGTH_SHORT).show();
                        break;

                    default:
                        Toast.makeText(getApplication(), "支付错误", Toast.LENGTH_SHORT).show();
                        break;
                }

            }

            @Override
            public void onCancel() {
                Toast.makeText(getApplication(), "支付取消", Toast.LENGTH_SHORT).show();
            }
        }).doPay();
    }

Demo使用

项目中Demo支付宝支付可以直接使用。微信支付需要修改以下:

  1. appid需要替换为自己的微信appid
  2. PackageName和ApplicationId设置为自己的(与微信开放平台填入的包名一致)
  3. 使用自己的签名进行打包(与微信开放平台填入签名一致)

Demo示例:

Demo

混淆

#pay
-dontwarn com.tsy.sdk.pay.**
-keep class com.tsy.sdk.pay.**{*;}

#weixin
-dontwarn  com.tencent.**
-keep class com.tencent.** {*;}

#alipay
-dontwarn com.alipay.**
-keep class com.alipay.** {*;}

-dontwarn  com.ta.utdid2.**
-keep class com.ta.utdid2.** {*;}

-dontwarn  com.ut.device.**
-keep class com.ut.device.** {*;}

About Me

简书地址:http://www.jianshu.com/users/21716b19302d/latest_articles

微信公众号

我的公众号

License

Copyright 2017 SY.Tang

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].