All Projects → Jamling → af-pay

Jamling / af-pay

Licence: Apache-2.0 License
精简的Android支付SDK,对支付宝alipaySdk和微信wechat-sdk进行了二次封装,支持支付宝、微信和银联支付,支持客户端/服务端下单支付

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to af-pay

Rageframe2
一个基于Yii2高级框架的快速开发应用引擎
Stars: ✭ 1,553 (+1311.82%)
Mutual labels:  unionpay, wechat-pay
cn-pay
比较好用的支付宝,微信支付node版SDK
Stars: ✭ 56 (-49.09%)
Mutual labels:  wechat-pay, alipay-sdk
anger-wechat
👿Angry wechat api 微信支付、小程序、各种接口的封装。
Stars: ✭ 17 (-84.55%)
Mutual labels:  wechat-pay
stripe
Stripe integration with Magento 2
Stars: ✭ 58 (-47.27%)
Mutual labels:  payment-integration
omnipay-2checkout
2Checkout driver for the Omnipay PHP payment processing library
Stars: ✭ 25 (-77.27%)
Mutual labels:  payment-integration
laravel-payfort
Laravel Payfort provides a simple and rich way to perform and handle operations for Payfort online payment gateway
Stars: ✭ 14 (-87.27%)
Mutual labels:  payment-integration
python-wechat-pay
Use Python3, Django, Django-rest-framework to achieve wechat payment. 微信支付、服务器异步通知、订单查询、退款
Stars: ✭ 18 (-83.64%)
Mutual labels:  wechat-pay
omnipay-unionpay
UnionPay driver for the Omnipay PHP payment processing library
Stars: ✭ 111 (+0.91%)
Mutual labels:  unionpay
vsf-payment-klarna
Klarna Checkout for Vue Storefront
Stars: ✭ 16 (-85.45%)
Mutual labels:  payment-integration
AppPay
💸 AppPay专注于App支付的库,几句代码轻松搞定微信支付、支付宝支付。集成更简单。
Stars: ✭ 33 (-70%)
Mutual labels:  wechat-pay
creatly-backend
🚀 Creatly backend app
Stars: ✭ 71 (-35.45%)
Mutual labels:  payment-integration
cybersource-sdk-java
Java SDK for CyberSource Simple Order API
Stars: ✭ 44 (-60%)
Mutual labels:  payment-integration
A3Mall
A3Mall B2C开源商城系统使用Thinkphp6开源框架,前端采用uniapp开发,支持微信公众号商城、H5商城、小程序商城、APP商城、PC商城,前后端源码100%开源,支持免费商用。
Stars: ✭ 142 (+29.09%)
Mutual labels:  wechat-pay
Paynow-NodeJS-SDK
NodeJS SDK for Zimbabwe's leading payments gateway, Paynow
Stars: ✭ 23 (-79.09%)
Mutual labels:  payment-integration
adyen-salesforce-commerce-cloud
Salesforce Commerce Cloud (formerly Demandware)
Stars: ✭ 63 (-42.73%)
Mutual labels:  payment-integration
adyen-node-api-library
Adyen API Library for Node.js
Stars: ✭ 82 (-25.45%)
Mutual labels:  payment-integration
react-native-payumoney
React Native Payumoney (Android/IOS)
Stars: ✭ 18 (-83.64%)
Mutual labels:  payment-integration
python-daraja
Python Wrapper for interacting with the MPESA Daraja API. More Features to be implemented
Stars: ✭ 20 (-81.82%)
Mutual labels:  payment-integration
nagadApi
This is Bangladeshi nagad payment gateway api development library. This library can be used in any php application.
Stars: ✭ 20 (-81.82%)
Mutual labels:  payment-integration
QSPay
😀安卓一行代码☕搞定微信支付、支付宝支付、银联支付
Stars: ✭ 28 (-74.55%)
Mutual labels:  unionpay

af-pay

Build Status GitHub release Bintray Jitpack

af-pay原为QuickAF(一个快速的Android开发框架)中的支付组件,现已抽取出来作为一个单独的Android支付库, 支持支付宝,微信支付,并且同时支持客户端下单与服务端下单。

0.2.0及其以上版本支持银联支付,如需使用银联支付,请点击这里

新的版本(0.1.0及其以上)没有提供纯净版,如果您使用的是0.1以下版本,请移步旧文档

在Android中直接使用

  • 引入完整版本,包含支付平台相关的jar包
    dependencies {
        compile 'cn.ieclipse.af:af-pay:0.2.0'
    }

使用jitpack.io仓库

1,在工程根目录中的build.gradle中添加jitpack仓库

    allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }

2,在app模块中添加依赖

    dependencies {
        compile 'com.github.Jamling:af-pay:master-SNAPSHOT'
    }

常见问题

因支付宝SDK的最低SDK版本改为了16,如果app模块最低仍为14,需要在AndroidManifest.xml中,添加以下声明

<uses-sdk tools:overrideLibrary="com.alipay.sdk,cn.ieclipse.pay"/>

示例代码

支付宝支付

客户端下单方式同时支持支付宝sdk v1和2,建议使用v2。服务端下单方式仅支持v2。如果申请了支付宝支付,可以修改相关配置,然后运行本demo,可以支付成功。

    private void doAlipay(String orderInfo) {

        final Activity activity = this;
        Alipay alipay = new Alipay(activity);
        alipay.setPayListener(new Alipay.PayListener() {
            @Override
            public void onPaySuccess(PayResult payResult) {
                showToast(activity, "支付成功");
            }

            @Override
            public void onPayWaiting(PayResult payResult) {
                showToast(activity, "支付结果确认中...");
            }

            @Override
            public void onPayCancel(PayResult payResult) {
                showToast(activity, "您已取消支付");
            }

            @Override
            public void onPayFailure(PayResult payResult) {
                showToast(activity, "支付失败\n" + payResult.getMemo());
            }
        });

        if (TextUtils.isEmpty(orderInfo)) {
            // set v1 config
            Alipay.DEBUG = true;
            Alipay.Config.appId = "";
            Alipay.Config.rsa_private = "";
            Alipay.Config.rsa_public = "";
            Alipay.Config.notify_url = "app/pay/alipay_notify.do";

            if (!alipay.check()) {
                showToast(activity, "缺少配置,无法支付");
                return;
            }

            String trans_order_id = OrderInfoUtil2_0.genOutTradeNo();
            Map<String, String> map = OrderInfoUtil2_0.buildOrderParamMap(trans_order_id, "测试支付", "测试商品1,测试商品2",
                String.valueOf(0.01f), null);
            orderInfo = OrderInfoUtil2_0.getOrderInfo(map);

            alipay.payV1(orderInfo);
        }
        else {
            alipay.payV2(orderInfo);
        }
    }

微信支付

private void doWxpay(String orderInfo) {
    final Activity activity = this;
    // 获取支付类
    Wxpay wxpay = Wxpay.getInstance(activity);
    // 设置支付回调监听
    wxpay.setPayListener(new Wxpay.PayListener() {
        @Override
        public void onPaySuccess(BaseResp resp) {
            showToast(activity, "支付成功");
        }

        @Override
        public void onPayCanceled(BaseResp resp) {
            showToast(activity, "支付取消");
        }

        @Override
        public void onPayFailure(BaseResp resp) {
            showToast(activity, "支付失败");
        }
    });
    // 这里是服务端下单,内容是统一下单返回的xml
    if (!TextUtils.isEmpty(orderInfo)) {
        PayReq req = OrderInfoUtil.getPayReq(orderInfo);
        wxpay.pay(req);
    }
    else { // 客户端下单
        Wxpay.DEBUG = true; // 开启日志
        // API密钥,在微信商户平台设置
        Wxpay.Config.api_key = "32位的字串";
        // APPID,在微信开放平台创建应用后生成
        Wxpay.Config.app_id = "wx...";
        // 商户ID,注册商户平台后生成
        Wxpay.Config.mch_id = "14...";
        // 支付结果异步通知接口,由后台开发提供
        Wxpay.Config.notify_url = "http://www.ieclipse.cn/app/pay/wxpay_notify.do";
        // 创建统一下单异步任务
        Wxpay.DefaultOrderTask task = new Wxpay.DefaultOrderTask(wxpay);
        // 这个商户订单号,由后台返回,在这里随便生成一个
        String outTradeNo = OrderInfoUtil2_0.genOutTradeNo();
        // 设置统一下单的请求参数
        task.setParams(OrderInfoUtil.buildOrderParamMap(outTradeNo, "测试支付", "", "1", null, null, null));
        task.execute();
    }
}

版本记录

0.2.0

  • 支付银联支付 (aar sdk 3.5.4)
  • 添加一些设计资源

0.1.0

  • 使用支付宝最新的aar sdk 15.5.9
  • 使用微信支付sdk 5.1.6

0.0.2

  • 微信依赖改为com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+

说明

  • 因本demo未申请支付宝支付和微信支付,所以在示例中无法支付成功。
  • af-pay原来是包含在QuickAF中,建议使用QuickAF的同学们更新依赖。
  • 日志tag为pay_sdk,可以设置Wxpay.DEUBG = trueAlipay.DEUBG = true来开启日志。
  • 更多请加入QQ群: 629153672
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].