Android端微信支付接入

下面我们先来看下微信支付的效果图:

 

 

 

 

 

 

 

 

 

 

1.首先我们来看下APP支付的业务流程:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_3,如下:

 2.移动端微信支付开发步骤请参考:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5

3.Android微信SDK的接入请参考:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=1417751808&token=&lang=zh_CN

4.下面我以AndroidStudio作为开发工具进行微信支付的集成:

(1)添加gradle依赖:

dependencies {
    //微信SDK接入
    implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
}

 gralde构建完成之后,再做下一步的操作。

(2)在AndroidManifest.xml中添加相关权限:

<!--微信支付权限-->
    <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"/>

(3)创建wxapi目录,并创建WXPayEntryActivity,在工程包名下根目录新建wxapi包,这个wxapi包的位置一定要是包名根目录,包名也不能错。

WXPayEntryActivity实现IWXAPIEventHandler接口,这个Activity页面就是支付结果的回调页面,下面是它最简单地实现:

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, "你的appid");
        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) {
    }

    @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(getString(R.string.pay_result_callback_msg, String.valueOf(resp.errCode)));
            builder.show();
        }
    }
}

同时,别忘了在AndroidManifest.xml中声名WXPayEntryActivity

<activity
            android:name=".wxapi.WXPayEntryActivity"
            android:exported="true"
            android:launchMode="singleTop">
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:scheme="你的appid"/>
            </intent-filter>

        </activity>

(4)调起支付接口:

IWXAPI api= WXAPIFactory.createWXAPI(context, "wxAPPID",false);//填写自己的APPIDapi.registerApp("wxAPPID");//填写自己的APPID,注册本身
APPPayReq req = new PayReq();//PayReq就是订单信息对象
        req.appId= "wx8888888888888888";//你的微信appid
        req.partnerId       = "1900000109";//商户号
        req.prepayId        = "WX1217752501201407033233368018";//预支付交易会话ID
        req.nonceStr        = "5K8264ILTKCH16CQ2502SI8ZNMTM67VS";//随机字符串
        req.timeStamp       = "1412000000";//时间戳
        req.packageValue    = "Sign=WXPay";扩展字段,这里固定填写Sign=WXPay
        req.sign            = "C380BEC2BFD727A4B6845133519F3AD6";//签名
api.sendReq(req);//将订单信息对象发送给微信服务器,即发送支付请求

这里需要注意的是,上面的这些信息,都应该从服务器去获取,比如说随机字符串之类的长短也不一定和上面例子中的一致。具体是什么,得看你们的后端给的是什么。

不出意外的话,通过上面接口的调用,你就可以正常使用微信提供的APP支付了。

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
对于Android应用接入微信支付,您需要按照以下步骤进行操作: 1. 在微信支付开放平台注册账号并登录。前往微信支付开放平台(https://pay.weixin.qq.com/)注册一个账号,并进行登录。 2. 创建应用并获取应用ID。在开放平台创建一个应用,并获取到对应的应用ID,这是后续接入过程中的重要标识。 3. 配置应用信息。在应用管理页面填写应用的基本信息,包括应用名称、AppID、支付回调URL等。确保信息填写准确无误。 4. 下载SDK和文档。在开放平台下载对应的微信支付SDK接入文档,以便后续进行接入操作。 5. 导入SDKAndroid项目。将下载的微信支付SDK导入到您的Android项目中,可以使用Gradle或手动导入的方式进行集成。 6. 配置权限和签名。在AndroidManifest.xml文件中添加必要的权限声明,并确保应用的签名信息与在微信支付开放平台注册时填写的一致。 7. 实现支付功能。根据微信支付开放平台提供的接入文档,按照要求实现支付功能的相关代码逻辑。 8. 发起支付请求。在合适的时机,通过调用微信支付SDK提供的API发起支付请求,并传递必要的订单信息和回调参数。 9. 处理支付结果回调。在您的应用中处理微信支付结果的回调通知,根据返回的支付结果状态进行相应的处理操作。 10. 测试和上线。在开发阶段进行测试,确保支付流程和结果正常。待测试通过后,提交应用上线并进行发布。 请注意,以上只是一个大致的流程概述,具体的接入步骤和代码实现会因应用的具体需求和技术栈而有所差异。建议您仔细阅读微信支付开放平台提供的官方文档,并根据文档中的指引进行接入操作。如果遇到问题,可以参考文档中的常见问题解答或联系微信支付开放平台的技术支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值