云闪付活动取消报名脚本
云闪付活动报名后无法取消,用户分享油猴脚本绕过限制一键取消报名,新回复反馈脚本在不同浏览器下生效情况不一。
1. 关键信息
- 问题描述: 云闪付活动报名后,取消报名的按钮被前端移除,但后端接口仍在。
- 用户需求: 隔壁9折活动买满次数后,需要取消当前卡片报名,以便更换新卡绑定。
- 解决方案: 用户编写了一个油猴脚本,通过调用后端接口
procType: "43"(取消)来实现一键取消当前活动所有卡片的报名。 - 脚本原理: 脚本监听页面,创建悬浮按钮,点击后获取URL中的
pmtCode和couponType,并携带sessionStorage中的信息向https://marketing.unionpayintl.com/h5Promote/v1/coupon/registFromUplan发送取消请求。 - 新用户反馈: 用户Ayanami_7尝试使用脚本后,表示未看到取消报名的按钮,怀疑脚本未生效,且在Chrome和Edge浏览器均无效。
- 脚本作者反馈: 用户rzjsbbbb表示自己使用的是Chrome浏览器,脚本也出现了问题,表示不理解。
- 后续尝试: 用户Ayanami_7暂时更换了手机号报名,并计划之后在另一台电脑上再次尝试脚本。
2. 羊毛/优惠信息
- 无(帖子内容为工具分享,非优惠信息)
3. 最新动态
- 云闪付已移除活动页面的取消报名按钮(前端限制)。
- 用户反馈油猴脚本在部分情况下可能未按预期生效,尤其是在Chrome和Edge浏览器上。
- 脚本作者本人也遇到了脚本失效的问题。
4. 争议或不同意见
- 楼下用户提问“为啥要取消”,楼主解释是为了更换手机号绑定的卡片,以便继续参与活动。
- 用户Ayanami_7反馈脚本未生效,rzjsbbbb也表示自己的Chrome浏览器脚本也未生效,显示脚本的普遍性问题。
5. 行动建议
- 遇到云闪付活动无法取消报名的情况,可以尝试使用该油猴脚本(需确保浏览器已安装油猴插件并匹配正确的脚本地址)。
- 脚本依赖于获取URL中的
couponno和couponType参数,以及sessionStorage中的insCode、channelId等信息。 - 注意: 目前用户反馈该脚本在Chrome和Edge浏览器上可能失效,脚本作者本人也遇到了问题。如果遇到失效情况,可以考虑更换电脑或浏览器环境尝试,但成功率未知。
现在所有活动的取消报名按钮全部都删除了。研究了一下,只是把取消报名的按钮从前端拿掉了,后端接口还在。隔壁9折买mo买满次数后不能取消活动对我来说会很麻烦。。。写了一个油猴脚本,一键取消当前活动的所有卡片的报名。
脚本
// ==UserScript==
// @name UnionPay 一键取消报名
// @namespace http://tampermonkey.net/
// @version 5.0
// @description
// @match https://marketing.unionpayintl.com/offer-promote/*
// @grant none
// ==/UserScript==
(function () {
'use strict';
const API_URL = 'https://marketing.unionpayintl.com/h5Promote/v1/coupon/registFromUplan';
// 1. 解析 URL Hash 中的参数 (处理 #/receiveRecord?couponno=... )
function getUrlParams() {
const hash = window.location.hash;
const queryIndex = hash.indexOf('?');
if (queryIndex !== -1) {
const searchStr = hash.substring(queryIndex + 1);
const params = new URLSearchParams(searchStr);
return {
pmtCode: params.get('couponno'),
couponType: params.get('couponType')
};
}
return { pmtCode: null, couponType: null };
}
// 2. 取消报名逻辑
function cancelEnroll() {
const btn = document.getElementById('upi-cancel-auto-btn');
// 获取并校验参数
const { pmtCode, couponType } = getUrlParams();
if (!pmtCode || !couponType) {
alert(`❌ 无法从当前页面获取参数!\n请确保当前正在活动详情页/卡片管理页面!`);
return;
}
if(btn) {
btn.innerText = "处理中...";
btn.disabled = true;
}
const payload = {
insCode: sessionStorage.getItem("insCode") || "",
pmtCode: pmtCode, // 动态来自 URL
couponType: couponType, // 动态来自 URL
procType: "43", // 43 = 取消
language: sessionStorage.getItem("language") || "zh",
channelId: sessionStorage.getItem("channelId") || ""
};
console.log("🚀 [Payload]:", payload);
fetch(API_URL, {
method: 'POST',
credentials: 'include',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify(payload)
})
.then(res => res.json())
.then(data => {
console.log("响应结果:", data);
// ✅ 成功判断逻辑
if (data.responseCode === "00") {
// 弹窗提示,用户点确定后刷新
location.reload();
} else {
alert("当前活动无卡可取消报名。");
if(btn) {
btn.innerText = "一键取消报名";
btn.disabled = false;
}
}
})
.catch(err => {
console.error(err);
alert("❌ 请求网络错误:" + err);
if(btn) {
btn.innerText = "一键取消报名";
btn.disabled = false;
}
});
}
// 3. 创建悬浮按钮
function createFloatingButton() {
// 避免重复创建
if (document.getElementById('upi-cancel-auto-btn')) return;
const btn = document.createElement('button');
btn.id = 'upi-cancel-auto-btn';
btn.innerText = '一键取消报名';
// 样式:紫色渐变
Object.assign(btn.style, {
position: 'fixed',
bottom: '100px',
right: '20px',
zIndex: '99999',
padding: '12px 20px',
background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)', // 紫色系
color: '#fff',
border: 'none',
borderRadius: '50px',
boxShadow: '0 4px 15px rgba(0,0,0,0.3)',
cursor: 'pointer',
fontSize: '14px',
fontWeight: 'bold',
transition: 'transform 0.2s'
});
btn.onmouseover = () => { btn.style.transform = 'scale(1.05)'; };
btn.onmouseout = () => { btn.style.transform = 'scale(1)'; };
btn.onclick = cancelEnroll;
document.body.appendChild(btn);
}
// 4. 启动与监听
setTimeout(createFloatingButton, 1000);
// 监听 URL 变化 (兼容 SPA 页面切换)
window.addEventListener('popstate', () => setTimeout(createFloatingButton, 500));
window.addEventListener('hashchange', () => setTimeout(createFloatingButton, 500));
})();```
理论上来说适应所有活动,直到银联彻底关闭换卡功能。
为啥要取消
手机号码有限 这张卡刷满了就取消换另一张卡绑上
image302×347 15.8 KB
e0004f8c43dd0f03c1ded184cfbb7ee0505×1266 65.5 KB
好像没看见如何执行这个脚本 看样子是会生成一个取消报名的按钮 但是我刷新了好几次也没看见
image768×352 30.7 KB
换个浏览器试试?
不知道为啥chrome和edge都不行 你用的是哪个浏览器
用的就是chrome。。。我不懂了耶
暂且又找个了手机号报名 等之后换台电脑再试试