拉卡拉收款宝拆解图示分析

本文详细拆解了拉卡拉收款宝M35,揭示了其内部结构,包括锂电池、蜂鸣器、磁头等组件。主板上发现有开机自毁用的纽扣电池、蓝牙模块、IC卡卡槽、主控芯片M21G9VMC、运放6004IST、NXP的8035 IC卡芯片和华邦的nor flash。请注意,此类金融产品拆解后可能无法正常使用。

拿到一款拉卡拉的收款宝M35,外观如下图所示:

                                    

接着开始拆解,拧开螺丝,可以看到内部结构:大致可以看到有块方形锂电池,一个蜂鸣器,一个磁头等等.......

             

看下左边那块小板的构造:

         

上图   方框1所示是块纽扣电池,估计是个开机自毁操作,反正拆开后,收款宝这机子就废了 。

           方框2所示是蓝牙模块,和手机蓝牙通信用。

           背面小板各种纹路,掀开小板后,露出了IC卡卡槽。


把黑色塑料板拿开后,就看到了主控:M21G9VMC (飞思卡尔的一款芯片?)



看下主板的背面图,液晶,按键.......掀开液晶板,可以看出一些电路:

          

上图 方框1是两块运放6004IST   可能是处理磁头信号用的。

         方框2是NXP的8035 IC卡芯片

         方框3是一块华邦的nor flash 


写到这边,其实整个机子已经报废了,装好重新开机,显示:


一般金融类产品,都有开机自毁功能,所以拆机之前,请三思.....!!!



    

### 集成拉卡拉收款二维码到微信小程序 #### 准备工作 为了在微信小程序中集成拉卡拉收款二维码功能,开发者需完成以下准备工作: - 注册并登录银盛开放平台账号[^3]。 - 获取相应的 API Key 和 Secret Key 用于后续的身份验证。 #### 创建支付请求 创建一个函数 `createPaymentRequest` 来构建向拉卡拉发送的支付请求数据包。此过程涉及设置必要的参数如订单号、金额以及回调地址等信息。 ```javascript function createPaymentRequest(orderId, amount) { const paymentData = { app_id: 'YOUR_APP_ID', // 应用ID out_trade_no: orderId, total_fee: amount * 100, // 单位转换为分 notify_url: 'https://yourdomain.com/notify', spbill_create_ip: wx.getSystemInfoSync().deviceId || '' }; return JSON.stringify(paymentData); } ``` #### 发起预支付交易 利用上述准备好的支付请求体调用 `/api/pay/unifiedorder` 接口来获取预付单返回结果中的 prepay_id 字段值。 ```javascript async function getPrepayId(payReqBody) { try { let response = await uni.request({ url: 'https://gateway.lakala.com/api/pay/unifiedorder', method: 'POST', data: payReqBody, header: {'Content-Type': 'application/json'} }); if (response.statusCode === 200 && response.data.return_code === 'SUCCESS') { return response.data.prepay_id; } else { throw new Error('Failed to obtain prepay id'); } } catch(error) { console.error(error.message); throw error; } } ``` #### 构建签名字符串 根据拉卡拉官方文档的要求,使用 MD5 或 HMAC-SHA256 对所有参与签名的字段按照字典序拼接后加上 secret key 进行加密处理得到最终的 sign 值。 ```javascript function buildSign(params, apiKey) { var strToBeSigned = Object.keys(params).sort().map(key => `${key}=${params[key]}`).join('&') + '&key=' + apiKey; return crypto.createHash('md5').update(strToBeSigned).digest('hex').toUpperCase(); } ``` #### 调用微信JS-SDK 完成交互 最后一步是在前端页面里通过 WeixinJSBridge 提供的方法唤起客户端原生界面让用户确认付款操作。 ```html <button bindtap="callPay">立即支付</button> <script type="text/javascript"> Page({ callPay() { wx.chooseWXPay({ timestamp: '', // 时间戳 nonceStr: '', // 随机串 package: '', signType: 'MD5', paySign: '', // 上述buildSign方法生成的结果 success(res){ alert("支付成功"); }, fail(err){ alert(JSON.stringify(err)); } }) } }) </script> ``` 以上就是关于如何在微信小程序内嵌入拉卡拉收款二维码的大致流程描述。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值