Android集成微信支付(适合小白)

来源:互联网 发布:什么算视听节目知乎 编辑:程序博客网 时间:2024/06/05 04:34

一:首先是申请微信支付的一系列号

这个方面不是太懂.具体申请流程不清楚.但是里边跟客户端有关联的是appid.还有包名和签名.

签名要确定使用公司签名,包名要提前设定好名字. 你写的程序包名和打包签名必须和申请是一致.否则就出现直接跳到回调结果页并返回-1;

注意:包名和签名是可以申请改的,但是生效会等一段时间.一般一个小时之内吧.


二:调用支付接口

客户端常用的方式是所有支付接口需要的数据都由服务器返回,不需要自己做任何处理.

1.调用支付接口一共需要7个参数,而且要先注册app到微信

//注册IWXAPI msgApi = WXAPIFactory.createWXAPI(this, "wxaa07d565fae73295");msgApi.registerApp("wxaa07d565fae73295");//支付PayReq request = new PayReq();request.appId = "wxaa07d565fae73295";//写死 应用APPIDrequest.partnerId = "1321746201";//写死 微信支付商户号request.prepayId= prepayid;//预支付交易会话IDrequest.packageValue = "Sign=WXPay";//微信固定值  扩展字段request.nonceStr= noncestr;//随机字符串request.timeStamp= timestamp;//时间戳request.sign= sign;//签名msgApi.sendReq(request);

2.然后是回调界面

参照微信SDK Sample,在net.sourceforge.simcpux.wxapi包路径中实现WXPayEntryActivity类(包名或类名不一致会造成无法回调),

在WXPayEntryActivity类中实现onResp 函数,支付完成后,微信APP会返回到商户APP并回调onResp函数,开发者需要在该函数中接收通知,

判断返回错误码,如果支付成功则去后台查询支付结果再展示用户 实际支付结果。注意一定不能以客户端返回作为用户支付的结果,

应以服务器端的接收的支付通知或查询API返回的结果为准

public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler{private static final String TAG = "MicroMsg.SDKSample.WXPayEntryActivity";    private IWXAPI api;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.pay_result);            api = WXAPIFactory.createWXAPI(this, "wxaa07d565fae73295");        api.handleIntent(getIntent(), this);    }@Overrideprotected void onNewIntent(Intent intent) {super.onNewIntent(intent);setIntent(intent);        api.handleIntent(intent, this);}@Overridepublic void onReq(BaseReq req) {}@Overridepublic 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(String.valueOf(resp.errCode));builder.show();}}}

注意这里的回调activity最好是辅助官方demo,然后做删除,修改.否则有可能出现能打开回调界面,但是没有返回值得情况 

3.添加微信jar包.(这其实是第一步,之前忘了说)

4.修改清单文件.按照官方Demo修改.

5.对于官方demo的解释.

  只能支付成功一次,是因为你签名的debugkey不是官方Demo的debugkey. 解决方式是在eclipse的windows>preferences>android>build下的

custom debug keystore中选 择微信官方Demo的debugkeystore



有问题请私q我1052374416.太深的问题我不会,简单的可以商讨.












0 0
原创粉丝点击