微信支付注意事项

来源:互联网 发布:python 字典嵌套列表 编辑:程序博客网 时间:2024/05/02 00:41

移动支付端越来越火,最近我们项目中也要加入一个微信支付的功能,微信支付的具体步骤请参考相关文档吧,下面是我在做项目时遇到的一些问题,希望对大家有所帮助。

使用场景,首先微信支付作为一个插件被调用,然后调用微信支付功能,支付完成返回结果,通过广播将结果发送回插件。

微信支付注意事项总结:

1:项目中一定要有一个wxapi包,包中一定要有一个 WXPayEntryActivity作为回调 并 实现IWXAPIEventHandler接口 名字不能改变

public class WXPayEntryActivity extends BaseWXPayEntryActivity implements IWXAPIEventHandler {
    private static final String TAG = "WeiXinpayPlugin";
    private IWXAPI api;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_wxpay_entry);
        api = WXAPIFactory.createWXAPI(this, null);
        api.handleIntent(getIntent(), this); //注意这里要取得结果
    }

    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        setIntent(intent);
        api.handleIntent(intent, this);//这里发送结果
    }

    @Override
    public void onReq(BaseReq baseReq) {
    }

    @Override
    public void onResp(BaseResp baseResp) {//这里接受返回的结果
        L.i(TAG, "onResp");
        super.onResp(baseResp);
        this.finish();
    }
}

2:在manifest里面配置这个activity   注意这个exported属性也要有

<!-- 新加用于微信支付  android:exported="true" -->
        <activity android:name=".wxapi.WXPayEntryActivity"
            android:exported="true">
        </activity>

3:如果没有安装微信,微信是没有处理的,不会有任何返回值(不会返回-1),就一直的发送状态.

4:如果微信在另一个手机B上登陆微信,将手机A的微信强制离线,此时如果手机A没有进入微信点击确定离线,微信支付是不能使用的,可能是因为这个时候微信状态不确定吧。

github关键代码:https://github.com/wuyunqiang/mywork/tree/weixinpayplugin


0 0
原创粉丝点击