注册忘记密码

流行源码论坛

热搜: 插件 源码 discuz
查看: 604|回复: 13

[JAVA] 一款集成支付宝、微信支付的Java源码 支持安卓、苹果,maven项目

[复制链接]

3327

主题

4173

帖子

93万

碎银

论坛传奇

Rank: 9Rank: 9Rank: 9

积分
1009828

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2017-4-24 21:05:36 | 显示全部楼层 |阅读模式
流行源码特别提醒: 1、如果源码存在破解不成功问题,请反馈到站务区,管理会及时解决!
2、本源码来源于网络,仅供学习交流之用,请勿用于用于商业用途。如有侵权,请联系我们删除。
插件详情
适用版本:商业源码
语言编码:其他
插件来源码:其他
演示地址:
**使用方法**

### 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注册activity

`application`节点添加如下类容
```
<!-- 微信支付 -->
<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
}
}

下载地址

游客,如果您要查看本帖隐藏内容请回复


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册(收不到邮件请查看垃圾箱,都没有点击首页的客服问询。)

x
回复

使用道具 举报

发表回复

本版积分规则

快速回复 返回顶部 返回列表