MCPcopy Index your code
hub / github.com/Javen205/JPay

github.com/Javen205/JPay @0.0.5

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.0.5 ↗ · + Follow
115 symbols 240 edges 19 files 24 documented · 21%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
<a target="_blank" href="https://javen205.github.io"><img src="https://github.com/Javen205/JPay/raw/0.0.5/assets/img/JPay.png" width="410"></a>







<strong> JPay 简易而不简单的支付 SDK </strong>







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








<a href="https://www.apache.org/licenses/LICENSE-2.0"><img src="https://img.shields.io/badge/license-Apache%202-green.svg" alt="License" /></a>
<a href="https://jitpack.io/#javen205/JPay"><img src="https://jitpack.io/v/javen205/JPay.svg" alt="" /></a>
<a href="http://javen.blog.csdn.net"><img src="https://img.shields.io/badge/JPay%20OR%20IJPay%20Author-Javen-ff69b4.svg" alt="JPay Author" /></a>

客户端与服务端

  • GitHub: https://github.com/Javen205/JPay
  • Gitee: http://gitee.com/Javen205/JPay

  • GitHub: https://github.com/Javen205/IJPay

  • Gitee: http://gitee.com/Javen205/IJPay

联系方式

QQ0Group Email

使用方法

1、坐标

Step 1. Add it in your root build.gradle at the end of repositories:

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

Step 2. Add the dependency

implementation 'com.github.javen205:JPay:AliPay:latest.release.here'
implementation 'com.github.javen205:JPay:WxPay:latest.release.here'

例如:版本号为0.0.5

implementation 'com.github.javen205.JPay:AliPay:0.0.5'
implementation 'com.github.javen205.JPay:WxPay:0.0.5'

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

2.2 注册activity

application 节点添加如下类容


        <activity
            android:name="com.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.jpay.weixin.WXPayEntryActivity" />




3. 发起支付

3.1 微信支付
com.jpay.wxpay.JPay.getIntance(mContext).toWxPay(appId, partnerId, prepayId, nonceStr, timeStamp, sign, new com.jpay.wxpay.JPay.WxPayListener() {
            @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();
            }
        });

或者

com.jpay.wxpay.JPay.getIntance(mContext).toWxPay(payParameters, new com.jpay.wxpay.JPay.WxPayListener() {
            @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).toAliPay(orderInfo, new JPay.AliPayListener() {
            @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();
            }
        });

4.案例的使用

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

4.1 客户端使用说明

  1. AndroidManifest.xml 的包名修改为申请应用的包名
  2. 将应用中的 build.gradleapplicationId 修改为申请应用的包名
  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 参考资料

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

10分钟搭建属于自己的ngork服务器,实现内网穿透 Android版-微信APP支付

Android版-支付宝APP支付

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

安利

微信公众号开发:订阅号、服务号

AndroidStudio多渠道打包

Android依赖管理与私服搭建

Android Studio 上传aar(Library)到JCenter

Extension points exported contracts — how you extend this code

AliPayListener (Interface)
(no doc) [1 implementers]
AliPay/src/main/java/com/jpay/alipay/JPay.java
WxPayListener (Interface)
(no doc) [1 implementers]
WxPay/src/main/java/com/jpay/wxpay/JPay.java

Core symbols most depended-on inside this repo

getInstance
called by 7
WxPay/src/main/java/com/jpay/wxpay/WeiXinPay.java
get
called by 7
app/src/main/java/com/jpay/kits/HttpKit.java
onPayError
called by 6
AliPay/src/main/java/com/jpay/alipay/JPay.java
onPayError
called by 6
WxPay/src/main/java/com/jpay/wxpay/JPay.java
getIntance
called by 5
app/src/main/java/com/jpay/service/IPayLogic.java
toString
called by 3
AliPay/src/main/java/com/jpay/alipay/PayResult.java
getInstance
called by 2
AliPay/src/main/java/com/jpay/alipay/Alipay.java
init
called by 2
WxPay/src/main/java/com/jpay/wxpay/WeiXinPay.java

Shape

Method 92
Class 21
Interface 2

Languages

Java100%

Modules by API surface

app/src/main/java/com/jpay/entity/Order.java21 symbols
app/src/main/java/com/jpay/kits/HttpKit.java15 symbols
app/src/main/java/com/jpay/service/IPayLogic.java11 symbols
WxPay/src/main/java/com/jpay/wxpay/WeiXinPay.java10 symbols
WxPay/src/main/java/com/jpay/wxpay/JPay.java8 symbols
AliPay/src/main/java/com/jpay/alipay/JPay.java8 symbols
AliPay/src/main/java/com/jpay/alipay/PayResult.java6 symbols
AliPay/src/main/java/com/jpay/alipay/Alipay.java6 symbols
WxPay/src/main/java/com/jpay/wxpay/WXPayEntryActivity.java5 symbols
app/src/main/java/com/jpay/asyncTask/WXPayTask.java4 symbols
app/src/main/java/com/jpay/asyncTask/AliPayTask.java4 symbols
app/src/main/java/com/jpay/MainActivity.java4 symbols

For agents

$ claude mcp add JPay \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact