JPay 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
JPay 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 Apache
开发语言 Java 查看源码 »
操作系统 Android
软件类型 开源软件
开发厂商
地区 国产
提 交 者 Javen-IJPay
适用人群 未知
收录时间 2017-04-09

软件简介

JPay

对微信App支付、支付宝App支付的二次封装,对外提供一个相对简单的接口以及支付结果的回调

 


使用方法

1、引入

 

compile 'com.javen205.jpay:jpaysdk:latest.release.here'


2. Android Manifest配置

2.1权限声明

<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" />

2.2注册activityapplication节点添加如下类容

<!-- 微信支付 -->
        <activity
            android:name="com.javen205.jpay.weixin.WXPayEntryActivity"
            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.javen205.jpay.weixin.WXPayEntryActivity" />
        <!-- 微信支付 end -->


        <!-- alipay sdk begin -->

        <activity
            android:name="com.alipay.sdk.app.H5PayActivity"
            android:configChanges="orientation|keyboardHidden|navigation|screenSize"
            android:exported="false"
            android:screenOrientation="behind"
            android:windowSoftInputMode="adjustResize|stateHidden" >
        </activity>
        <activity
            android:name="com.alipay.sdk.app.H5AuthActivity"
            android:configChanges="orientation|keyboardHidden|navigation"
            android:exported="false"
            android:screenOrientation="behind"
            android:windowSoftInputMode="adjustResize|stateHidden" >
        </activity>

        <!-- alipay sdk end -->


 3. 发起支付

3.1 微信支付

JPay.getIntance(mContext).toPay(JPay.PayMode.WXPAY, payParameters, new JPay.JPayListener() {
            @Override
            public void onPaySuccess() {
                Toast.makeText(mContext, "支付成功", Toast.LENGTH_SHORT).show()
            }

            @Override
            public void onPayError(int error_code, String message) {
                Toast.makeText(mContext, "支付失败>"+error_code+" "+ message, Toast.LENGTH_SHORT).show();
            }

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



payParameters 为JSON字符串格式如下:
 

{
  "appId": "",
  "partnerId": "",
  "prepayId": "",
  "sign": "",
  "nonceStr" : "",
  "timeStamp": ""
}

或者

JPay.getIntance(mContext).toWxPay(appId, partnerId, prepayId, nonceStr, timeStamp, sign, new JPay.JPayListener() {
            @Override
            public void onPaySuccess() {
                Toast.makeText(mContext, "支付成功", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onPayError(int error_code, String message) {
                Toast.makeText(mContext, "支付失败>"+error_code+" "+ message, Toast.LENGTH_SHORT).show();
            }

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


3.2 支付宝支付

 

JPay.getIntance(mContext).toPay(JPay.PayMode.ALIPAY, orderInfo, new JPay.JPayListener() {
            @Override
            public void onPaySuccess() {
                Toast.makeText(mContext, "支付成功", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onPayError(int error_code, String message) {
                Toast.makeText(mContext, "支付失败>"+error_code+" "+ message, Toast.LENGTH_SHORT).show();
            }

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

或者

 

Alipay.getInstance(mContext).startAliPay(orderInfo, new JPay.JPayListener() {
            @Override
            public void onPaySuccess() {

            }

            @Override
            public void onPayError(int error_code, String message) {

            }

            @Override
            public void onPayCancel() {

            }
        });

4.案例的使用


 appId以及相关的key我们都从服务端获取

4.1 客户端使用说明
 1. 将`AndroidManifest.xml` 的包名修改为申请应用的包名
 2. 将应用中的`build.gradle`的 `applicationId`修改为申请应用的包名
 3. 测试的时候修改默认的签名key

将key复制到项目的根目录(app)中并修改`buildTypes` 配置如下
 

 signingConfigs {
        release {
            storeFile file("wxkey")
            storePassword '123456'
            keyAlias '1'
            keyPassword '123456'
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            signingConfig signingConfigs.release
        }
    }

4.2 服务端使用说明

1. 开源项目地址weixin_guide
2. 开源项目如何下载、如何导入到IDE 参考之前写的文章微信公众号之项目导入
3. 微信支付服务端具体实现在`com.javen.weixin.controller.WeixinPayController.java` 类中的`appPay()`
4. 支付宝支付服务端具体实现在`com.javen.alipay.AliPayController.java` 类中的`appPay()`


4.3 参考资料

微信、支付宝APP支付详细介绍参考资料 博客地址


[Android版-微信APP支付]

[Android版-支付宝APP支付]

[支付宝Wap支付你了解多少?]

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (4)

加载中
Javen-IJPay软件作者
打分: 力荐
@Liu_Peng 这个是Android版本的
2017/04/12 10:00
回复
举报
只能在安卓用吗
2017/04/12 08:47
回复
举报
打分: 力荐
支持!
2017/04/10 17:02
回复
举报
打分: 推荐
挺好的
2017/04/10 11:51
回复
举报
更多评论
发表了资讯
2017/10/18 17:03

你的应用支持银联支付吗? JPay 0.0.4 版本发布

JPay 0.0.4 版本发布了,该版本添加银联手机控件支付的支持。 添加支付相关的权限     <uses-permission android:name="android.permission.INTERNET"/>     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />     <uses-permission android:name="android.permission.AC...

5
37
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于开发技能专区
2018/07/20 23:26

IJPay让支付触手可及

Gitee:http://gitee.com/Javen205/IJPay GitHub:https://github.com/Javen205/IJPay IJPay是JPay后台接口SDK不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。...

0
0
发表于服务端专区
2015/03/03 11:05

JAIN API 规范所包含的API

Java Application Interfaces for Communications: Java Application Containers for Communications: JAIN SIP 1.1 JAIN Service Logic Execution Environment (JSLEE) 1.0 SIP API for J2ME 1.0 SIP Servlets 1.0 JAIN MGCP 1.0 JAIN MEGACO JAIN SDP JAIN ENUM JAIN TCAP 1.1 JAIN INAP 1.0 JAIN JCC 1.1 JAIN JCAT J...

0
0
01/23 23:17

码云上不错的几个支付相关的项目

阅读文本大概需要15分钟。 网上支付相关的额业务场景无处不在,如果能掌握支付相关的核心技术,对于升职涨薪有莫大的好处。目前国内支付以支付宝和微信这两种支付为首,其他支付则可以忽略不计。有些网友以这两种...

0
0
发表于开发技能专区
2015/03/03 11:07

JAIN API 规范所包含的API

Java Application Interfaces for Communications: Java Application Containers for Communications: JAIN SIP 1.1 JAIN Service Logic Execution Environment (JSLEE) 1.0 SIP API for J2ME 1.0 SIP Servlets 1.0 JAIN MGCP 1.0 JAIN MEGACO JAIN SDP JAIN ENUM JAIN TCAP 1.1 JAIN INAP 1.0 JAIN JCC 1.1 JAIN JCAT J...

0
0
发表于DevOps专区
06/08 18:55

安全快讯合集

每日5分钟安全快讯(2018/8/1) 1. xodus:揭露Android应用的跟踪伎俩 https://wp.me/pa8FRg-t 2. 微软披露软件供应链攻击 https://wp.me/pa8FRg-v 3. 中远集团美洲计算机网络遭勒索软件攻击 https://wp.me/pa8F...

0
0
发表于DevOps专区
01/29 15:04

安全快讯合集

每日5分钟安全快讯(2018/8/8) 1. Let's Encrypt Root 获得了所有主要机构的信任 https://wp.me/pa8FRg-2u 2. 五角大楼限制使用健身追踪器等有跟踪功能的设备 https://wp.me/pa8FRg-2y 3. 研究显示超过56%的加密...

0
0
发表于软件架构专区
2016/11/06 16:50

JFinal极速开发微信公众号

10分钟搭建属于自己的ngork服务器,实现内网穿透 Android 微信、支付App支付SDK IJPay 让支付触手可及,实现微信、支付宝系列支付 项目下载并导入IDE 开启开发模式 消息交互详解 自定义菜单 授权获取用户信息 一键...

0
7
发表了博客
2015/11/24 14:45

极光推送5大新产品闪耀亮相

为开发者解决痛点,帮助开发者连接用户、发现用户、获取用户,是极光的使命。“在创新的道路上,极光将全力以赴”,极光推送副总裁陈光炎说。

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
4 评论
299 收藏
分享
返回顶部
顶部