微信支付的集成
来源:互联网 发布:baba yetu 知乎 编辑:程序博客网 时间:2024/05/04 04:18
为便于观察,需要添加哪些到AS中,需要先导入DEMO工程到eclipse中
1.导入jar包
2.清单文件声明权限和activity
清单文件AndroidManifest.xml中声明权限和activity:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<activity
android:name="net.sourceforge.simcpux.wxapi.WXPayEntryActivity"
android:exported="true"
android:launchMode="singleTop"/>
注意:上述声明的activity(WXPayEntryActivity)不在jar包中,所以我们需要从demo
中拷贝WXPayEntryActivity.java文件放到我们工程中,包名要保持不变。
3调用微信支付sdk
赋值后调用sendReq完成支付
/**调用微信支付*/
public void sendPayRequest() {
PayReq req = new PayReq();
req.appId = payInfo.getAppId();
req.partnerId = payInfo.getPartnerId();
req.prepayId = payInfo.getPrepayId();
req.nonceStr = payInfo.getNonceStr();
req.timeStamp = payInfo.getTimestamp();
req.packageValue = payInfo.getPackageValue();
req.sign = payInfo.getSign();
// 在支付之前,如果应用没有注册到微信,应该先调用IWXMsg.registerApp将应用注册到微信
//3.调用微信支付sdk支付方法
api.sendReq(req);
}
4 处理支付结果
在net.sourceforge.simcpux.wxapi.WXPayEntryActivity.java类的onResp方法中处理支付结果:
注意:上述类不是jar包中的,需要我们从demo中拷贝到自己项目中:
@Override
public void onResp(BaseResp resp) {
Log.d(TAG, "onPayFinish, errCode = " + resp.errCode);
//支付成功
if (resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("支付结果");
builder.setMessage(resp.errCode + "");
builder.show();
}
}
示例代码如下:
public class MainActivity extends AppCompatActivity { private String url; public WeiBean payInfo; private IWXAPI api; @Override public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//本例子下面的url接口是微信Demo中给的url,引用是为了能运行,因为自己的应用审核可能不通过,你需要使用自己//公司通过审核应用的接口url = "http://wxpay.weixin.qq.com/pub_v2/app/app_pay.php?plat=android";api = WXAPIFactory.createWXAPI(this, Constants.APP_ID); } public void weiPay(View view){RequestQueue queue = Volley.newRequestQueue(this);StringRequest request = new StringRequest(url, new Response.Listener<String>() { @Override public void onResponse(String s) {//解析数据,获取支付串码//先将返回的JSON字符串进行替换操作s = s.replace("package","packageValue");WeiBean weiBean = JSON.parseObject(s, WeiBean.class);//获取支付串码payInfo = weiBean;//调用第三方支付SDK的方法sendPayRequest(); }}, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) {Log.e("volleyError",volleyError.toString()); }});queue.add(request); } /**调用微信支付*/ public void sendPayRequest() {PayReq req = new PayReq();req.appId = payInfo.getAppid();req.partnerId = payInfo.getPartnerid();req.prepayId = payInfo.getPrepayid();req.nonceStr = payInfo.getNoncestr();req.timeStamp = payInfo.getTimestamp();req.packageValue = payInfo.getPackageValue();req.sign = payInfo.getSign();// 在支付之前,如果应用没有注册到微信,应该先调用IWXMsg.registerApp将应用注册到微信//3.调用微信支付sdk支付方法api.sendReq(req); }}
注意,上面的Constant类是引用了微信DEMO的,一些布局文件自己去补充
- 微信支付的集成
- 微信支付和集成微信支付的坑
- 支付宝支付 微信支付 SDK的集成教程
- 支付宝支付与微信支付的集成
- 微信支付集成
- 微信支付集成
- 集成微信支付
- 微信支付集成
- 微信支付集成
- 安卓的微信支付集成
- 微信app支付的快速集成
- 安卓微信支付集成(1)--微信支付功能的申请
- 《IOS 9 支付宝 and 微信 支付的集成》
- 记录自己的支付集成(微信&支付宝)
- android集成微信支付
- android集成微信支付
- 微信支付功能集成
- APP微信支付集成
- 最简单逢7杀人游戏java代码
- java算法
- 【雅礼联考GDOI2017模拟】Zjr506的捕猫计划
- ubuntu16.04 x11vnc
- HDU 2193 AVL树(给节点求最大高度)
- 微信支付的集成
- 118. Pascal's Triangle
- Linux运维笔记----管道输出
- Android根据包名清理App数据
- JZOJ 4744 同余
- Spring自己遇到的错误
- MySQL物理文件组成
- Revit开发之载入族的创建小技巧
- android的性能调优