这个包值得拥有 https://github.com/minibear2021/wechatpayv3
django python 网页如何接入微信支付自己已经搭建了django python 网站平台,现在迫切需要接入微信支付和分账。 对于支付是小白,完全没有接触过支付。 想问一下大家在代码中应该如何写,如何开始。已经有 appid,mch_id,api_key,和证书。 求大神指点。
12-08https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_12.shtml 简介接口名称: openBusinessView 接口兼容:此接口引用 JSAPI版本1.5.0,引用地址:https://res.wx.qq.com/open/js/jweixin-1.5.0.js。 要求用户微信版本>=7.0.5
无法拉起微信支付分确认微信公众号上使用支付分支付订单,但是无法拉起支付分确认页面,是什么原因?
12-06https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_12.shtml 简介接口名称: openBusinessView 接口兼容:此接口引用 JSAPI版本1.5.0,引用地址:https://res.wx.qq.com/open/js/jweixin-1.5.0.js。 要求用户微信版本>=7.0.5 示例代码 let wechatInfo = navigator.userAgent.match(/MicroMessenger\/([\d\.]+)/i); let wechatVersion = wechatInfo[1]; if (compareVersion(wechatVersion, '7.0.5') >= 0) { goToWXScore(); } else { // 提示用户升级微信客户端版本 window.href = 'https://support.weixin.qq.com/cgi-bin/readtemplate?t=page/common_page__upgrade& text=text005&btn_text=btn_text_0' } /** * 跳转微信支付分 */ function goToWXScore() { wx.checkJsApi({ jsApiList: ['openBusinessView'], // 需要检测的JS接口列表 success: function (res) { // 以键值对的形式返回,可用的api值true,不可用为false // 如:{"checkResult":{"openBusinessView":true},"errMsg":"checkJsApi:ok"} if (res.checkResult.openBusinessView) { wx.invoke( 'openBusinessView', { businessType: 'wxpayScoreUse', queryString : 'mch_id=1230000109&package=xxxxx&timestamp=1530097563&nonce_str=zyx53Nkey8o4bHpxTQvd8m7e92nG5mG2&sign_type=HMAC-SHA256&sign=029B52F67573D7E3BE74904BF9AEA' }, function (res) { // 从支付分返回时会执行这个回调函数 if (parseint(res.err_code) === 0) { // 返回成功 } else { // 返回失败 } }); } } }); } /** * 版本号比较 * @param {string } v1 * @param {string } v2 */ function compareVersion(v1, v2) { v1 = v1.split('.') v2 = v2.split('.') const len = Math.max(v1.length, v2.length) while (v1.length < len) { v1.push('0') } while (v2.length < len) { v2.push('0') } for (let i = 0; i < len; i++) { const num1 = parseint(v1[i]) const num2 = parseint(v2[i]) if (num1 > num2) { return 1 } else if (num1 < num2) { return -1 } } return 0 }
无法拉起微信支付分确认微信公众号上使用支付分支付订单,但是无法拉起支付分确认页面,是什么原因?
12-06https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_12.shtml 简介接口名称: openBusinessView 接口兼容:此接口引用 JSAPI版本1.5.0,引用地址:https://res.wx.qq.com/open/js/jweixin-1.5.0.js。 要求用户微信版本>=7.0.5 示例代码 let wechatInfo = navigator.userAgent.match(/MicroMessenger\/([\d\.]+)/i); let wechatVersion = wechatInfo[1]; if (compareVersion(wechatVersion, '7.0.5') >= 0) { goToWXScore(); } else { // 提示用户升级微信客户端版本 window.href = 'https://support.weixin.qq.com/cgi-bin/readtemplate?t=page/common_page__upgrade& text=text005&btn_text=btn_text_0' } /** * 跳转微信支付分 */ function goToWXScore() { wx.checkJsApi({ jsApiList: ['openBusinessView'], // 需要检测的JS接口列表 success: function (res) { // 以键值对的形式返回,可用的api值true,不可用为false // 如:{"checkResult":{"openBusinessView":true},"errMsg":"checkJsApi:ok"} if (res.checkResult.openBusinessView) { wx.invoke( 'openBusinessView', { businessType: 'wxpayScoreUse', queryString : 'mch_id=1230000109&package=xxxxx& timestamp=1530097563&nonce_str=zyx53Nkey8o4bHpxTQvd8m7e92nG5mG2&sign_type=HMAC-SHA256& sign=029B52F67573D7E3BE74904BF9AEA' }, function (res) { // 从支付分返回时会执行这个回调函数 if (parseint(res.err_code) === 0) { // 返回成功 } else { // 返回失败 } }); } } }); } /** * 版本号比较 * @param {string } v1 * @param {string } v2 */ function compareVersion(v1, v2) { v1 = v1.split('.') v2 = v2.split('.') const len = Math.max(v1.length, v2.length) while (v1.length < len) { v1.push('0') } while (v2.length < len) { v2.push('0') } for (let i = 0; i < len; i++) { const num1 = parseint(v1[i]) const num2 = parseint(v2[i]) if (num1 > num2) { return 1 } else if (num1 < num2) { return -1 } } return 0 }
无法拉起微信支付分确认微信公众号上使用支付分支付订单,但是无法拉起支付分确认页面,是什么原因?
12-06在隔天的交易账单里有体现,有API接口可拉取 https://pay.weixin.qq.com/docs/merchant/apis/bill-download/trade-bill/get-trade-bill.html
微信订单信息用户用微信支付后的订单信息,微信平台可以查看扣除手续费后的金额订单,这些信息,有对应的API可以拉取吗,客户想要资产损失记录用
12-04是分开的
获取资金流水详情?//api.weixin.qq.com/channels/ec/funds/getfundsflowdetail?access_token=xxxxxxxxx 获取资金流水详情,同一笔订单,存在支付和退款的场景下,对应的资金流水是分开的吗
12-04下载交易账单 账单类型[代码]ALL[代码] | [代码]SUCCESS[代码] | [代码]REFUND[代码] | [代码]RECHARGE_REFUND[代码] 枚举值之一 下载资金账单 资金账户类型[代码]Basic[代码] | [代码]Operation[代码] | [代码]Fees[代码] 枚举值之一 看看你用的是什么值「不被」识别的
不支持的流水类型2024-12-03 13:49:47.858 [main] INFO fms.jd.jr.wechat.WechatTest - {"err_code":"PARAM_ERROR","return_msg":"OK","result_code":"FAIL","err_code_des":"不支持的流水类型","return_code":"SUCCESS"
12-03用 x-original-forwarded-for 头,文档上有写
云托管X-Forwarded-For返回值不是用户的真实IP云托管X-Forwarded-For返回值不是用户的真实IP
12-01请求头还需要添加 'content-type' => 'application/json' 及 'user-agent' 不过建议看这里 https://wechatpay.im/openapi/v3/merchant-service/complaints-v2
Authorization签名总不成功{"code":"INVALID_REQUEST","message":"头部信息不完整"} <?php // 商户号 $mch_id = '199999'; // 商户API私钥路径 $private_key_path = 'apiclient_key.pem'; // 证书序列号 $serial_no = '5780E68666666BDECEBED64D7625392'; // 请求的API地址 $url = 'https://api.mch.weixin.qq.com/v3/merchant-service/complaints-v2'; // 请求的参数 $params = [ 'limit' => 50, // 每页返回的投诉单数 'offset' => 0, // 查询起始位置 'begin_date' => '2024-11-01', // 查询开始日期 'end_date' => '2024-11-30', // 查询结束日期 // 被投诉商户号(可选) 'complainted_mchid' => '19999', // 不传查询所有 ]; // 生成请求签名 function generate_signature($method, $url, $params, $private_key_path, $mch_id, $serial_no) { // 获取请求时间戳 $timestamp = time(); // 生成请求随机串 $nonce_str = bin2hex(random_bytes(16)); // 构造请求的查询字符串 $query_str = http_build_query($params); $absolute_url = parse_url($url, PHP_URL_PATH) . '?' . $query_str; // 构造签名串 $sign_str = "{$method}\n{$absolute_url}\n{$timestamp}\n{$nonce_str}\n\n"; // 使用私钥对签名串进行签名 openssl_sign($sign_str, $signature, file_get_contents($private_key_path), OPENSSL_ALGO_SHA256); // Base64编码签名 $signature_base64 = base64_encode($signature); // 构造 Authorization 头部 $auth_header = sprintf( 'WECHATPAY2-SHA256-RSA2048 mchid="%s",nonce_str="%s",signature="%s",timestamp="%d",serial_no="%s"', $mch_id, $nonce_str, $signature_base64, $timestamp, $serial_no ); return $auth_header; } // 发起GET请求 function send_get_request($url, $params, $auth_header) { $query_str = http_build_query($params); $url_with_params = $url . '?' . $query_str; // 初始化cURL $ch = curl_init($url_with_params); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "Authorization: $auth_header", "Accept: application/json", ]); $response = curl_exec($ch); if(curl_errno($ch)) { echo 'Curl error: ' . curl_error($ch); } curl_close($ch); return $response; } // 生成签名 $auth_header = generate_signature('GET', $url, $params, $private_key_path, $mch_id, $serial_no); // 发送请求并获取响应 $response = send_get_request($url, $params, $auth_header); // 输出响应结果 echo $response; ?>
12-0110.15退了10.14号的订单; 10.16退了10.15号的订单; 当天退的大于收的,就负值了
请问自动提现账单入账金额为负数是什么原因?[图片]
11-27