博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信支付
阅读量:7282 次
发布时间:2019-06-30

本文共 2477 字,大约阅读时间需要 8 分钟。

微信支付步骤

private IWXAPI api;复制代码
api = WXAPIFactory.createWXAPI(this, Constant.WX_APP_ID);api.registerApp(Constant.WX_APP_ID);复制代码
mWXPay.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View v) {        Toast.makeText(MainActivity.this, "发起支付", Toast.LENGTH_SHORT).show();        PayReq req = new PayReq();        //req.appId = "wxf8b4f85f3a794e77";  // 测试用appId        req.appId			= appId;        req.partnerId		= "partnerId";        req.prepayId		= prepayId;        req.nonceStr		= nonceStr;        req.timeStamp		= timeStamp;        req.packageValue	= "Sign=WXPay";        req.sign			= sign;        //req.extData			= "app data"; // optional        Toast.makeText(MainActivity.this, "正常调起支付", Toast.LENGTH_SHORT).show();        // 在支付之前,如果应用没有注册到微信,应该先调用IWXMsg.registerApp将应用注册到微信        api.sendReq(req);    }});复制代码

4.获取回调activity

package 应用包名.wxapi;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.Toast;import com.tencent.mm.opensdk.constants.ConstantsAPI;import com.tencent.mm.opensdk.modelbase.BaseReq;import com.tencent.mm.opensdk.modelbase.BaseResp;import com.tencent.mm.opensdk.openapi.IWXAPI;import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler;import com.tencent.mm.opensdk.openapi.WXAPIFactory;import cn.zhiup.mobile.Constant;public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler{	private IWXAPI api;	public static final String wxPayAction = "wx_pay_success";	@Override	public void onCreate(Bundle savedInstanceState)	{		super.onCreate(savedInstanceState);		api = WXAPIFactory.createWXAPI(this, Constant.WX_APP_ID);		api.handleIntent(getIntent(), this);	}	@Override	protected void onNewIntent(Intent intent)	{		super.onNewIntent(intent);		setIntent(intent);		api.handleIntent(intent, this);	}	@Override	public void onReq(BaseReq arg0) {}	@Override	public void onResp(BaseResp arg0) {		if (arg0.getType() == ConstantsAPI.COMMAND_PAY_BY_WX)		{			if(arg0.errCode == 0){				Intent intent = new Intent();				intent.setAction(wxPayAction);				sendBroadcast(intent);				Toast.makeText(this,"微信支付成功",Toast.LENGTH_LONG).show();			}else if(arg0.errCode == -1){				Toast.makeText(this,"微信支付失败"+arg0.errStr+arg0.transaction+arg0.openId,Toast.LENGTH_LONG).show();			}else if(arg0.errCode == -2){				Toast.makeText(this,"微信支付取消",Toast.LENGTH_LONG).show();			}		}//		WXPayEntryActivity.this.finish();	}}复制代码

转载于:https://juejin.im/post/5bf383825188255c4e68a24c

你可能感兴趣的文章
C# Reflection BindingFlags
查看>>
NGUI3.x Button事件
查看>>
FFmpeg 官方 20160227 之后 追加 libmfx 无法在 xp 上运行的解决方法
查看>>
多线程的使用注意点
查看>>
【GitHub】README.md文件中 markdown语法 插入超链接
查看>>
移动着,心就变了
查看>>
2014冬去春来
查看>>
Python全栈--6.1-match-search-findall-group(s)的区别以及计算器实例
查看>>
基本概念
查看>>
《Linux内核设计与实现》读书笔记(10)--- 定时器和时间管理(2)
查看>>
Spark On YARN内存分配
查看>>
Python学习笔记【第十三篇】:Python网络编程一Socket基础
查看>>
Hibernate ORM框架——项目一:Hibernate查询;项目二:集合相关查询
查看>>
Ionic2开发环境搭建
查看>>
ccf 最优灌溉
查看>>
(30)批处理文件.bat
查看>>
基于MFC和opencv的FFT
查看>>
0823模拟赛
查看>>
Ajax
查看>>
HDU 1849 Rabbit and Grass 【Nim博弈】
查看>>