之前搞微信支付一直不能够回调支付结果的回调页面,现在来说一下怎么成功回调页面
参照文档:调起支付的代码:
private void sendPayReq(String appid, String partnerid, String prepayid, String packageValue, String noncestr, int timestamp, String sign) {
//微信注册APPID
IWXAPI api = WXAPIFactory.createWXAPI(this,null);
api.registerApp(appid);
PayReq request = new PayReq();
request.appId = appid;
request.partnerId = partnerid;
request.prepayId = prepayid;
request.packageValue = packageValue;
request.nonceStr= noncestr;
request.timeStamp= timestamp+"";
request.sign= sign;
api.sendReq(request);
}
支付完成后返回app需要回调页面显示支付结果需要做的事:
在androidmenifest.xml文件中注册一下(不能更改路径),然后将官方demo中的WXPayEntryActivity复制到自己的工程目录下,这里需要注意,复制的路径一定要准确
比如为com.example.app.wxapi.WXPayEntryActivity
<!--微信支付回调函数-->
<activity
android:name=".wxapi.WXPayEntryActivity"
android:exported="true"
android:screenOrientation="portrait" />
也可以复制以下代码,复制到以上的文件夹,然后在onResp回调函数中进一步操作:
package com.example.app.wxapi;
public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler{
private IWXAPI api;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.recharge_succeed);
api = WXAPIFactory.createWXAPI(this, Fields.WEICHAT_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 req) {
Toast.makeText(getApplicationContext(),"onReq",Toast.LENGTH_SHORT).show();
}
@Override
public void onResp(BaseResp resp) {
int code = resp.errCode;
if (code == 0){
//显示充值成功的页面和需要的操作
}
if (code == -1){
//错误
}
if (code == -2){
//用户取消
}
}
}
微信支付开发文档
本文介绍了如何在Android应用中实现微信支付的回调页面,详细讲解了调起支付的代码步骤,包括在AndroidManifest.xml中正确注册回调Activity以及处理官方Demo中的WXPayEntryActivity。通过回调函数onResp,可以获取并处理支付完成后的结果信息。
6425

被折叠的 条评论
为什么被折叠?



