根据手机号导入用户会员卡
更新时间:2025.06.22对于经营会员生意的商家来说,存量会员的注册渠道广泛,包括但不限于线下渠道、微信渠道、App及其他线上渠道。因而,在微信生态下经营会员时常遇到两类问题:
(1)存量会员的身份难统一识别;
(2)在应用「开卡有礼」活动能力时,容易对存量(但未同步身份至微信侧的)老会员重复补贴。
因而,若商家侧存在较多线下渠道注册的存量会员,则商家可通过加密后的用户手机号,将存量会员通过接口导入至微信侧后台。
注意:1、“导入”仅为后台操作,微信会员卡系统会在后台将用户的会员卡静默激活,但不会在用户卡包中自动出现该会员卡,建议商家侧后续在其他路径引导用户主动添加会员卡到卡包;2、用户手机号,需调用方按接口文档要求加密后再传入。
接口说明
支持商户:【普通服务商】
请求方式:【POST】/v3/brand/partner/card-member/user-cards/import-by-phone
请求域名:【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点
【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点 ,指引点击查看
请求参数
Header HTTP头参数
Authorization 必填 string
请参考签名认证生成认证信息
Accept 必填 string
请设置为application/json
Content-Type 必填 string
请设置为application/json
Wechatpay-Serial 必填 string
【微信支付公钥ID】或【微信支付平台证书序列号】 请求参数中的敏感字段,需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引;也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号、平台证书加密敏感信息指引
body 包体参数
brand_id 必填 string(32)
【品牌ID】 商家进驻微信支付品牌商家后获得的品牌ID(灰度期间联系微信支付运营获取),用于标记该会员卡的归属方
card_id 必填 string(32)
【会员卡模版ID】 商家创建微信会员卡模板成功后系统返回的会员卡模板ID
phone_number 选填 string(32)
【加密的手机号】 注册会员的手机号码。该字段需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引,也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号、平台证书加密敏感信息指引。
user_card_code 必填 string(32)
【会员卡code】 会员在一个会员卡模版下的唯一标识,用户领取会员卡后获得的code
user_information 选填 object
【用户开卡时填写的个人信息】 用户开卡时填写的个人信息
属性 | |
date_information 必填 object
【会员卡有效期】 会员卡有效期
属性 | |
pickup_time 必填 string(32)
【领取时间】 用户领取会员卡的时间。仅在会员卡有效期类型是FIX_TERM时需要填写。需遵循rfc3339标准格式
请求示例
POST
应答参数
200 OK
user_card_code 必填 string(32)
【会员卡code】 会员在一个会员卡模版下的唯一标志,用户领取会员卡后获得的code
card_id 必填 string(32)
【会员卡模板 ID】 商家创建微信会员卡模板成功后系统返回的会员卡模板ID
openid 必填 string(128)
【用户标识】 用户在品牌商家会员卡模板AppID下的唯一标识
card_color 选填 string(7)
【卡背景颜色】 用于卡片正面设计的RGB颜色编码,仅支持十六进制
card_picture_url 选填 string(256)
【卡图片】 商家自定义会员卡背景图。仅支持通过图片上传API接口获取的图片URL地址。支持JPG/JPEG/PNG格式,建议尺寸716px*320px,图片背景色需为透明,且图片小于1M。
brand_id 必填 string(32)
【品牌ID】 商家进驻微信支付品牌商家后获得的品牌ID(灰度期间联系微信支付运营获取),用于标记该会员卡的归属方
card_type 必填 string
【会员卡类型】 支持付费、普通、储值 3 种类型。
可选取值
PURCHASE
: 付费NORMAL
: 普通BALANCE
: 储值
membership_number 必填 string(32)
【会员卡编号】 在用户会员卡上展示的会员卡编号,默认使用会员卡code作为membership_number
。只能录入数字/英文/半角标点。商家可通过修改用户单张会员卡信息更新
phone_number 必填 string(32)
【加密的手机号】 注册会员的手机号码。解密请参考如何使用API证书解密敏感字段。
level 选填 string(10)
【等级】 用户会员等级,展示字段,商家可以自定义填写内容。
valid_date_information 必填 object
【会员卡有效期】 会员卡有效期
属性 | |
pickup_time 必填 string(32)
【领取时间】 用户领取会员卡的时间,需遵循rfc3339标准格式。
user_information 选填 object
【用户开卡时填写的个人信息】 用户开卡时填写的个人信息
属性 | |
attach 选填 string(256)
【商家数据包】 商家在创建用户会员卡时可传入自定义数据包,该数据对用户不可见,用于存储商家自定义信息,其总长度限制在256字符以内。查询用户会员卡详情时会将此字段返回给商家。
user_card_state 必填 string
【用户会员卡状态】 用户当前的卡状态
可选取值
UNACTIVATED
: 用户已领卡,但还未激活EFFECTIVE
: 用户的会员卡可正常使用EXPIRED
: 用户的会员卡已过期INVALID
: 用户的会员卡已失效
invalid_reason 选填 string(32)
【作废原因】 会员卡作废时传入的原因
invalid_time 选填 string(32)
【作废时间】 会员卡作废操作的时间,需遵循rfc3339标准格式。
应答示例
200 OK
错误码
公共错误码
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
400 | PARAM_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
400 | INVALID_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 接口规则 |
401 | SIGN_ERROR | 验证不通过 | 请参阅 签名常见问题 |
500 | SYSTEM_ERROR | 系统异常,请稍后重试 | 请稍后重试 |
业务错误码
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
400 | INVALID_REQUEST | 会员卡模版ID不属于该品牌 | 请确认品牌ID和会员卡模版ID是否正确 |
400 | INVALID_REQUEST | 该手机号已被导入过 | 请更换手机号重试 |
400 | INVALID_REQUEST | 手机号未绑定微信号,无法导入 | 请更换手机号重试 |
400 | INVALID_REQUEST | 该手机号或会员卡code已存在 | 请调用修改用户会员卡信息接口 |