会员卡开卡接口 -凯发app官方网站
收藏
集成工具
通用场景
商户通过api接口,进行会员卡开卡。
1 公共请求参数
参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
app_id | string | 必选 | 32 | 支付宝分配给开发者的应用id | 2014072300007148 |
method | string | 必选 | 128 | 接口名称 | alipay.marketing.card.open |
format | string | 可选 | 40 | 仅支持json | json |
charset | string | 必选 | 10 | 请求使用的编码格式,如utf-8,gbk,gb2312等 | utf-8 |
sign_type | string | 必选 | 10 | 商户生成签名字符串所使用的签名算法类型,目前支持rsa2和rsa,推荐使用rsa2 | rsa2 |
sign | string | 必选 | 344 | 商户请求参数的签名串,详见签名 | 详见示例 |
timestamp | string | 必选 | 19 | 发送请求的时间,格式"yyyy-mm-dd hh:mm:ss" | 2014-07-24 03:07:50 |
version | string | 必选 | 3 | 调用的接口版本,固定为:1.0 | 1.0 |
auth_token | string | 必选 | 40 | 用户授权令牌,同 access_token(用户访问令牌)。针对用户授权接口,获取用户相关数据时,用于标识用户授权关系。需使用 配置的 callback 地址获取 auth_code(用户授权码)换取此令牌。 | |
app_auth_token | string | 可选 | 40 | 详见应用授权概述 | |
biz_content | string | 必选 | 请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档 |
2 请求参数
参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
out_serial_no | string | 必选 | 64 | 外部商户流水号。由商户自定义,需保证商户系统中唯一。 | 201606270000001 |
card_template_id | string | 必选 | 32 | 支付宝分配的卡模板id(卡模板创建接口返回的模板id) | 201606270000001 |
card_user_info | carduserinfo | 必选 | 发卡用户信息 | ||
card_ext_info | merchantcard | 必选 | 外部卡信息(biz_card_no无需填写) | ||
member_ext_info | merchantmenber | 可选 | 商户会员信息 | ||
open_card_channel | string | 可选 | 32 | 领卡渠道,用于记录外部商户端领卡来源的渠道信息,渠道值可自行定义(仅限数字、字母、下划线)
可直接标识领卡渠道,也可配合open_card_channel_id标识领卡渠道类型: 例如: 线下门店领取:20161534000000000008863(直接标识领卡渠道,门店shopid) 线下扫二维码领取:qr(标识领卡类型); 凯发app官方网站的线下活动领取:20170522000000000003609(直接标识领卡渠道,商户活动id) | 20161534000000000008863 |
open_card_channel_id | string | 可选 | 32 | 领卡来源的渠道id,注意区别于open_card_channel领卡渠道;
一般使用场景: open_card_channel用于区分渠道类型,例如取值为"shop"(门店),"activity"(活动); 则open_card_channel_id可用于区分同渠道的不同实体,对应取各门店id或各活动的标识id等; | 123123123123 |
paid_outer_card_info | paidoutercardextrainfodto | 可选 | 付费外卡信息,只供特定业务使用,通常接入无需关注 |
3 公共响应参数
参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
code | string | 必选 | - | 网关返回码, | 40004 |
msg | string | 必选 | - | 网关返回码描述, | business failed |
sub_code | string | 可选 | - | 业务返回码,参见具体的api接口文档 | acq.trade_has_success |
sub_msg | string | 可选 | - | 业务返回码描述,参见具体的api接口文档 | 交易已被支付 |
sign | string | 必选 | - | 签名, | dzxh8eetuahoye3w1j poiphfdxoybfunn1lket/v7p4zjdyojwea6izs6hz0ydw5cp/viufub5i0/v5wens3oyr8zredqo6d futdlhdc efyckiqhbxizgngpdpdfp1pis7bdhhzrszhbrqb7o4k3dxc aanfauu4v6zdwczo= |
4 响应参数
参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
card_info | merchantcard | 必选 | 商户卡信息(包括支付宝分配的业务卡号) | ||
open_card_channel | string | 特殊可选 | 32 | 实际记录的领卡渠道(可能跟商户传入值不同);
可直接标识领卡渠道,也可配合open_card_channel_id标识领卡渠道类型: 例如: 线下门店领取:20161534000000000008863(直接标识领卡渠道,门店shopid) 线下扫二维码领取:qr(标识领卡类型); 凯发app官方网站的线下活动领取:20170522000000000003609(直接标识领卡渠道,商户活动id) | qr |
open_card_channel_id | string | 特殊可选 | 32 | 实际记录的领卡来源渠道id(可能跟商户传入值不同);
区别于open_card_channel领卡渠道; 一般使用场景: open_card_channel用于区分渠道类型,例如取值为"shop"(门店),"activity"(活动); 则open_card_channel_id可用于区分同渠道的不同实体,对应取各门店id或各活动的标识id等; | 123123123123 |
5 请求示例
java
c#
php
http
alipayclient alipayclient = new defaultalipayclient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","gbk","alipay_public_key","rsa2");
alipaymarketingcardopenrequest request = new alipaymarketingcardopenrequest();
request.setbizcontent("{"
" \"out_serial_no\":\"201606270000001\","
" \"card_template_id\":\"201606270000001\","
" \"card_user_info\":{"
" \"user_uni_id\":\"2088302463082075\","
" \"user_uni_id_type\":\"uid\""
" },"
" \"card_ext_info\":{"
" \"external_card_no\":\"ext0001\","
" \"open_date\":\"2014-02-20 21:20:46\","
" \"valid_date\":\"2020-02-20 21:20:46\","
" \"level\":\"vip1\","
" \"point\":\"88\","
" \"balance\":\"124.89\","
" \"mdcode_info\":{"
" \"code_status\":\"success\","
" \"code_value\":\"1kfcdy0002\","
" \"expire_time\":\"2017-06-09 16:25:53\","
" \"time_stamp\":1496996459"
" },"
" \"front_text_list\":["
" {"
" \"label\":\"专业\","
" \"value\":\"金融贸易\""
" }"
" ],"
" \"front_image_id\":\"9fxnkgt0qfmqkal5v2bqxqaaacmaaqed\""
" },"
" \"member_ext_info\":{"
" \"name\":\"李洋\","
" \"gende\":\"male\","
" \"birth\":\"2016-06-27\","
" \"cell\":\"13000000000\""
" },"
" \"open_card_channel\":\"20161534000000000008863\","
" \"open_card_channel_id\":\"123123123123\","
" \"paid_outer_card_info\":{"
" \"action\":\"open\","
" \"purchase_info\":{"
" \"source\":\"alipay_tiny_app\","
" \"price\":\"88.88\","
" \"action_date\":\"2021-08-12 12:12:12\","
" \"out_trade_no\":\"20150320010101001\","
" \"alipay_trade_no\":\"2015042321001004720200028594\""
" },"
" \"cycle_info\":{"
" \"open_status\":\"open\","
" \"close_reason\":\"manual_close\","
" \"cycle_type\":\"year\","
" \"alipay_deduct_scene\":\"paid_outer_card\","
" \"alipay_deduct_product_code\":\"paid_outer_card\","
" \"alipay_deduct_agreement\":\"20151127000928469118\""
" }"
" }"
"}");
alipaymarketingcardopenresponse response = alipayclient.execute(request,accesstoken);
if(response.issuccess()){
system.out.println("调用成功");
} else {
system.out.println("调用失败");
}
6 响应示例
json
xml
{
"alipay_marketing_card_open_response": {
"code": "10000",
"msg": "success",
"card_info": {
"biz_card_no": "000001",
"external_card_no": "ext0001",
"open_date": "2014-02-20 21:20:46",
"valid_date": "2020-02-20 21:20:46",
"level": "vip1",
"point": "88",
"balance": "124.89",
"template_id": "20170308000000000058101000300045",
"custom_assets": "100元",
"mdcode_info": {
"code_status": "success",
"code_value": "1kfcdy0002",
"expire_time": "2017-06-09 16:25:53",
"time_stamp": 1496996459
},
"front_text_list": [
{
"label": "专业",
"value": "金融贸易"
}
],
"front_image_id": "9fxnkgt0qfmqkal5v2bqxqaaacmaaqed"
},
"open_card_channel": "qr",
"open_card_channel_id": "123123123123"
},
"sign": "eritjkeijkjhkkkkkkkhjereeeeeeeeeee"
}
说明:本示例仅供参考。
7 异常示例
json
{
"alipay_marketing_card_open_response": {
"code": "20000",
"msg": "service currently unavailable",
"sub_code": "isp.unknow-error",
"sub_msg": "系统繁忙"
},
"sign": "eritjkeijkjhkkkkkkkhjereeeeeeeeeee"
}
8 错误码
8.1 公共错误码
8.2 业务错误码
错误码 | 错误描述 | 凯发app官方网站的解决方案 |
---|---|---|
invalid_parameter | 参数有误。参数有误。 | 查看message定位问题 |
system_error | 系统繁忙 | 系统错误,查看message获取实际错误原因 |
template_not_exit | 模板不存在 | 查看模板 |
no_card_type | 没有卡类型 | 卡类型判断 |
open_card_need_openform | 开卡必须经过开卡组件 | 接入标准的开卡组件
https://opensupport.alipay.com/support/helpcenter/156/201602620379?ant_source=zsearch |
open_card_concurrently | 同一外部卡号并发开卡错误 | 控制并发 |
user_auth_fail | 用户授权失败 | 用户授权信息为空 |
card_has_opened | 开卡失败,用户已有此外部卡号的卡实例 | 用户已有此外部卡号的卡实例,可尝试alipay.marketing.card.update接口更新 |
paid_outer_card_lack_template_config | 付费外卡缺少卡模版配置 | 请补全卡模板配置。 |