- 关于小程序支付模式的问题
看了下官方文档,有9种支付场景模式。有点云里雾里的,不是特别明白。 目前我的小程序是一个第三方平台。我允许商户入驻,然后用户在入驻的商户中进行消费后,我再从中扣取服务费后将剩余金额打款到对应商户账号上。请问应该使用那种模式? 当前做了一个比较笨的方式,用户充值到我的平台上,然后消费了之后,我再通过“商户转账到零钱”的方式将金额打款到对应商户的微信账号上。感觉这样有点蠢。
07-28 - 关于微信支付成功后通知的回调应答重复问题
调用微信支付成功后,微信调用服务相关接口进行通知的回调,会重复发送。目前我使用的是nest.js框架进行开发。返回的格式如下。[图片] 是不是我的返回格式有问题?因为外层的code,data,message是我项目统一返回的形式。按照官方文档,说是如果成功,只需要返回一个code就可以。请问具体形式要如何?
2023-12-03 - 关于nest.js中微信支付接口调用签名401的问题?
项目中需要支持微信支付。看了下官方文档,然后按照步骤进行操作。最后报错401签名错误的问题。也对照着签名错误排查指引就是没找到问题所在,发帖求助一下。 项目是基于nest.js开发的。 /** 创建微信支付 */ export async function wechatPay(method: string, url: string, body?: BodyData) { const http = "https://api.mch.weixin.qq.com" const headers = { Authorization: createAuthorization(method, url, body), Accept: 'application/json', 'Content-Type': 'application/json' } const response = await axios.post(`${http}${url}`, body, { headers }) return response.data } 以上是调用方法,主要是createAuthorization(method, url, body)方法的实现问题。 /** 认证信息的创建生成*/ function createAuthorization(method: string, url: string, body?: BodyData) { const authType = 'WECHATPAY2-SHA256-RSA2048'; // 认证类型 const mchid = "xxxxx"; // 商户平台右上角登录之后就能显示,其实就是用户账号 const serial_no = "xxxxxx"; // 在商户APi安全中第一项APi安全中创建了之后就是管理证书,点击之后就能看到序列号 const nonce_str = crypto.randomBytes(16).toString('hex'); // 随机值 const timestamp = Math.floor(Date.now() / 1000); // 时间戳 const signature = createSignature(method, url, timestamp, nonce_str, body,); // 签名 return `Authorization:${authType} mchid="${mchid}",nonce_str="${nonce_str}",signature="${signature}",timestamp="${timestamp}",serial_no="${serial_no}"` } 然后是签名的生成方法,主要是createSignature()方法的实现。 /** 生成微信签名信息 */ function createSignature(method: string, url: string, timestamp: number, nonce_str: string, body?: BodyData) { let newBody = ""; // 根据method的类型对bdoy进行处理 if (method === 'POST') { newBody = JSON.stringify(body); } const privateKey = readFileSync(join(process.cwd(), `/src/common/utils/apiclient_key.pem`), 'utf8') // 构造请求信息 const requestInfo = `${method}\n${url}\n${timestamp}\n${nonce_str}\n${newBody}\n`; // 使用SHA-256算法进行哈希和数字签名 const sign = crypto.createSign('sha256'); sign.update(requestInfo); sign.end(); // 对哈希值进行数字签名 const signature = sign.sign(privateKey, 'base64'); return signature } 里面有需要一个证书加密的key。这个key证书文件是通过API安全中第三个APIv3里面创建生成的,都是按照步骤进行的,最后在本地生成了一个文件里面有三个密钥文件。大概就是这些了。然后调用方法,还是报错401。难受。async wechatPayment() { // 需要获取用户的code然后根据code解码出当前用户的openid。才能调用生成预支付订单接口 const body = { appid: "xxxx", mchid: "xxxxx", description: "test", out_trade_no: "100001", notify_url: "接收消息的服务器地址", amount: { total: 1, currency: "CNY" }, payer: { openid: "xxxx" } } await wechatPay('POST', '/v3/pay/transactions/jsapi', body)
2023-09-07 - 激励视频广告报错 5017是什么问题?文档上都没有这个错误码的解释!
如题:小程序中上线了激励视频广告,结果之后报错了5017这个错误码,文档里也没有说明这个错误码是什么情况。
2021-06-29 - 关于安卓手机图片后面增加随机数导致无法找到图片的问题?
问题手机:安卓手机 问题描述:因为开发需要,静态图片后面增加了随机数,以此来每次点击之后重新加载图片。 this.src=`${this.src1}?${Math.random()}` IOS上展示正常。安卓手机会因为路径查找不到而不显示图片。图片之后增加‘?’后面到内容不是应该不影响路径查找到么
2021-01-21 - 关于安卓手机无法播放音频的问题?
请问一下,目前公司的音频文件后缀都是没有.mp3这样的形式。然后小程序中使用音频API或者背景音频API安卓手机都无法播放,ios手机可以正常播放。请问有别都方式处理么?因为这些音频文件有历史数据,导致无法处理原来都文件形式。
2019-08-17 - 关于小程序中网络请求需要获取header中参数的问题
项目中需要获取请求列表的页数,然后将相关信息放在了header中。对应的参数名是page-count;但是通过res.header.page-count无法获取到对应的值。通过测试,感觉好想是因为中间的“-”导致的。获取header中的日期Date。通过res.header.Date是能够获取到的。
2018-01-05 - 微信web开发者工具bug
界面展示正常,但是相对位置的按钮点击事件却整体向上偏移了。手机上打开是正常,现在无法调试,求解决!!!!
2017-10-18