商户通过API接口,进行会员卡开卡。
环境 | HTTPS请求地址 |
---|---|
正式环境 | https://openapi.alipay.com/gateway.do |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
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 | 是 | 256 | 商户请求参数的签名串,详见签名 | 详见示例 |
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 | 针对用户授权接口,获取用户相关数据时,用于标识用户授权关系。详见用户信息授权 | |
app_auth_token | String | 否 | 40 | 详见应用授权概述 | |
biz_content | String | 是 | - | 请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档 |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
out_serial_no | String | 必须 | 64 | 外部商户流水号(商户需要确保唯一性控制,类似request_id唯一请求标识) | 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(标识领卡类型); 线下活动领取:20170522000000000003609(直接标识领卡渠道,商户活动ID) |
20161534000000000008863 | ||||||||||||
open_card_channel_id | String | 可选 | 32 | 领卡来源的渠道id,注意区别于open_card_channel领卡渠道;
一般使用场景: open_card_channel用于区分渠道类型,例如取值为"SHOP"(门店),"ACTIVITY"(活动); 则open_card_channel_id可用于区分同渠道的不同实体,对应取各门店ID或各活动的标识ID等; |
2088123123123123 |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
code | String | 是 | - | 网关返回码,详见文档 | 40004 |
msg | String | 是 | - | 网关返回码描述,详见文档 | Business Failed |
sub_code | String | 否 | - | 业务返回码,详见文档 | ACQ.TRADE_HAS_SUCCESS |
sub_msg | String | 否 | - | 业务返回码描述,详见文档 | 交易已被支付 |
sign | String | 是 | - | 签名,详见文档 | DZXh8eeTuAHoYE3w1J+POiPhfDxOYBfUNn1lkeT/V7P4zJdyojWEa6IZs6Hz0yDW5Cp/viufUb5I0/V5WENS3OYR8zRedqo6D+fUTdLHdc+EFyCkiQhBxIzgngPdPdfp1PIS7BdhhzrsZHbRqb7o4k3Dxc+AAnFauu4V6Zdwczo= |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
card_info | MerchantCard | 必填 | - | 商户卡信息(包括支付宝分配的业务卡号) | |
|
|||||
open_card_channel | String | 选填 | 32 |
实际记录的领卡渠道(可能跟商户传入值不同);
可直接标识领卡渠道,也可配合open_card_channel_id标识领卡渠道类型: 例如: 线下门店领取:20161534000000000008863(直接标识领卡渠道,门店shopId) 线下扫二维码领取:QR(标识领卡类型); 线下活动领取:20170522000000000003609(直接标识领卡渠道,商户活动ID) |
QR |
open_card_channel_id | String | 选填 | 32 |
实际记录的领卡来源渠道id(可能跟商户传入值不同);
区别于open_card_channel领卡渠道; 一般使用场景: open_card_channel用于区分渠道类型,例如取值为"SHOP"(门店),"ACTIVITY"(活动); 则open_card_channel_id可用于区分同渠道的不同实体,对应取各门店ID或各活动的标识ID等; |
2088123123123123 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | 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-2021:20:46\"," + "\"valid_date\":\"2020-02-2021:20:46\"," + "\"level\":\"VIP1\"," + "\"point\":\"88\"," + "\"balance\":\"124.89\"," + "\"mdcode_info\":{" + "\"code_status\":\"SUCCESS\"," + "\"code_value\":\"1KFCDY0002\"," + "\"expire_time\":\"2017-06-0916: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\":\"2088123123123123\"" + "}" ); AlipayMarketingCardOpenResponse response = alipayClient.execute(request,accessToken); if (response.isSuccess()){ System.out.println( "调用成功" ); } else { System.out.println( "调用失败" ); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | { "alipay_marketing_card_open_response" :{ "msg" : "Success" , "code" : "10000" , "open_card_channel" : "QR" , "open_card_channel_id" : "2088123123123123" , "card_info" :{ "open_date" : "2014-02-20 21:20:46" , "front_text_list" :[ { "label" : "专业" , "value" : "金融贸易" } ], "external_card_no" : "EXT0001" , "valid_date" : "2020-02-20 21:20:46" , "balance" : "124.89" , "level" : "VIP1" , "mdcode_info" :{ "time_stamp" :1496996459, "code_value" : "1KFCDY0002" , "expire_time" : "2017-06-09 16:25:53" , "code_status" : "SUCCESS" }, "front_image_id" : "9fxnkgt0QFmqKAl5V2BqxQAAACMAAQED" , "biz_card_no" : "000001" , "template_id" : "20170308000000000058101000300045" , "point" : "88" } }, "sign" : "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE" } |
1 2 3 4 5 6 7 8 9 | { "alipay_marketing_card_open_response" :{ "msg" : "Service Currently Unavailable" , "code" : "20000" , "sub_msg" : "系统繁忙" , "sub_code" : "isp.unknow-error" }, "sign" : "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE" } |
错误码 | 错误描述 | 解决方案 |
---|---|---|
INVALID_PARAMETER | 参数有误。 | 查看message定位问题 |
SYSTEM_ERROR | 系统繁忙 | 系统错误,查兰message获取实际错误原因 |
TEMPLATE_NOT_EXIT | 模板不存在 | 查看模板 |
NO_CARD_TYPE | 没有卡类型 | 卡类型判断 |