开通芝麻 GO
开通芝麻 GO 流程图

第一步:获取用户授权
第二步:签约预创单
参数说明
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
service_telphone | String | 是 | 11 | 套餐手机号 | 151xx0588xx说明:若获取不到,请点击文档右下角 > 在线咨询,咨询技术支持。 |
user_name | String | 是 | 16 | 机主姓名 | 张三说明:若获取不到,请点击文档右下角 > 在线咨询,咨询技术支持。 |
net_age | String | 是 | 64 | 网龄 | 12,手机号开通距今月份数,新卡0。说明:若获取不到,请点击文档右下角 > 在线咨询,咨询技术支持。 |
branch_company | String | 否 | 64 | 分公司 | 有则传 |
source | String | 是 | 64 | 进件渠道:社会厅、直营厅、APP等,若获取不到请反馈 | - |
service_accept_time | String | 否 | 64 | 受理时间 | - |
operator_id | String | 否 | 64 | 进件员工ID | - |
total_bonus | String | 是 | 64 | 最高优惠金额 | - |
step_num | String | 是 | 64 | 合约总期数 | - |
busi_type | String | 是 | 64 | 套餐类型:单产品/套餐融合 | - |
busi_level | String | 是 | 64 | 套餐每月保底金额 | 若获取不到请反馈 |
busi_name | String | 否 | 64 | 套餐名称 | 有则传 |
pre_busi_level | String | 否 | 64 | 原套餐每月保底金额。 | 若是新卡或获取不到用户当前使用套餐金额,可不传。 |
merchant_id | String | 是 | 64 | 门店ID | - |
merchant_name | String | 是 | 64 | 门店名称 | - |
merchant_addr | String | 是 | 64 | 门店地址 | - |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
preorder_no | String | 需要在拉起签约页阶段传入此参数 | 64 | 芝麻GO预创建单号 | ZMGO_ASO2019071000020903940000062019 |
partner_id | String | 必填 | 16 | 商户ID | 2088990000000000 |
biz_type | String | 需要在拉起签约页阶段传入此参数 | 64 | 业务类型 | bizflag |
第三步:拉起签约页
构造签约的 URL
请求示例
// app_id,密钥等在接入流程中完成,可从open.alipay.com获取
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");
ZhimaCreditPeZmgoSignApplyRequest request = new ZhimaCreditPeZmgoSignApplyRequest();
// 回跳地址,签约成功回跳
request.setReturnUrl("http://www.alipay.com/receive.html");
request.setBizContent("{" +
"\"partner_id\":\"2088102146225135\"," +
"\"template_id\":\"2018053100073208416400000002\"," +
"\"preorder_no\":\"ZMGO_ASO2021012121312312312312\"," +
"\"biz_type\":\"bizflag\"" +
"}");
ZhimaCreditPeZmgoSignApplyResponse response = alipayClient.pageExecute(request,"GET");
// 获取oOpenAPI调用URL,主要获取后面的参数
String openUrl=response.getBody();
参数名 | 描述 | 是否必填 | 举例 |
---|---|---|---|
partner_id | 商户 ID | 是 | 2088301614697946 |
template_id | 模板 ID | 是 | 2019071000020903940000062019 |
out_request_no | 外部请求号 | 调用预创单不用传,不走预创单必传 | 8077735255938032 |
preorder_no | 预创单号 | 调用预创单后,此参数必传,从预创单返回值中取;不进行预创单则不传。 | ZMGO_ASO2021012121312312312312 |
biz_type | 业务标识 | 调用预创单后,此参数必传,从预创单返回值中取 | bizflag |
响应示例
https://openapi.alipay.com/gateway.do?alipay_sdk=alipay-sdk-java-3.4.107.ALL&app_id=2018110762025907&biz_content={"seller_id"%3A"2088102146225135"%2C"template_id"%3A"2018053100073208416400000002"%2C"out_request_no"%3A"8077735255938032"%2C"channel"%3A"channel_external"++}&charset=GBK&format=json&method=alipay.pcredit.huabei.auth.sign.apply&return_url=http%3A%2F%2Fwww.alipay.com%2Freceive.html&sign=C6N8kXqHSG6AOU1CwPrdqojH4pK1U0TCDClTPTNQ5EN9pO%2BRz3FGSB8E%2FWrT8Zi14zGln0n1yv4TVlxPqycjQA8%2BffvLLSs4Y7l5hFLg5cdNyZ0xEt4Rw5yHqZyXQ0VCgVdxqdOSHIYfoNMkvEVA%2BXO1HalA4Rkf3ibgCMpK6W8gw4KzZeiYR7RazGeKJZ5N2mvP7AnzIHYShmf%2FABlrSv3wLXV%2FcVgriKnOWtOeFmgpS32B0RFdxVD7YEiE1mGlpPxTrjhzgVTXOF0z6LzAalEcmmb10W2OVHZyDzS8bwqgCMjubCnS%2FK%2Bsw%2BMDgS%2Fkt8wdeLRe%2BVZA69GTjNbaqg%3D%3D&sign_type=RSA2×tamp=2019-08-03+13%3A35%3A30&version=1.0
http://openapi.alipay.com/gateway.do?
后面的所有参数作为加签字符串。拉起签约页
商家 App 拉起签约页
1.
scheme: alipays://
是否能打开。com.eg.android.AlipayGphone
是否存在。1.
gateway.do?
后的参数再加上前缀 alipays://platformapi/startapp?appId=2019062465587961&page=pages/hz-enjoy/pass/index?extraData=
。注意:此处 extraData 前面部分全部为固定值,不需要修改。// 原始参数字符串
const signParams = 'alipay-sdk......';//构造签约URL中的字符串A
// encode 参数这里需要在外边encode两次
const sign = encodeURIComponent(encodeURIComponent(JSON.stringify({signParams: encodeURIComponent(signParams)})))
// 小程序跳转URL
const url = 'alipays://platformapi/startapp?appId=2019062465587961&page=pages/hz-enjoy/pass/index?extraData='+sign
完整 schema 示例
alipays://platformapi/startapp?appId=2019062465587961&page=pages/hz-enjoy/pass/index?extraData=%257B%2522signParams%2522%253A%2522alipay_sdk%25253Dalipay-easysdk-java%252526app_id%25253D2021000119688827%252526biz_content%25253D%2525257B%25252522preorder_no%25252522%2525253A%25252522ZMGO_ASO000000000000000000000000%25252522%2525252C%25252522partner_id%25252522%2525253A%252525222088301614697946%25252522%2525252C%25252522biz_type%25252522%2525253A%25252522bizflag%25252522%2525252C%25252522template_id%25252522%2525253A%2525252220200312000209030100008736478%25252522%2525257D%252526charset%25253DGBK%252526format%25253Djson%252526method%25253Dzhima.credit.pe.zmgo.sign.apply%252526notify_url%25253Dhttp%2525253A%2525252F%2525252F11.163.133.214%2525253A7001%2525252Fcallback%2525252Fpp3-PG.MID.redbagsign-alipay.zhimago-notification%2525252F0-0%2525252F2201250736354%2525252F%252526return_url%25253Dhttps%2525253A%2525252F%2525252Fwww.alipay.com%2525252F%252526sign%25253DIhKFj0iu1vzDG8C8%2525252F3T%2525252FOgEMBaSeDwgD7W%2525252F5es6j0o0rlAxHhnRuNwNmSzU6iVv5bpusuyuUYRwCrdYsIE7OWkEl4tURsyZzOdMYGnYcYvHEAkncOc8hWnt1BRjnPI7mPB6Z8pUIEO4G47d5h7cneiflSvG4iOc3gLTeLXpJboPgBRNOjATZBn%2525252BjvOOL3m%2525252FmaQAIKyHiZqp3GwNptzISBOoBqA4asYMj6LNkQ8ZJFAgqUAKUWfOxdYQOncdTiHS1v%2525252Ft5qbEOH22PLga4zCqWqgPE2Kj2pxwoznTGnpq640Sbuayq%2525252B5e%2525252FiFGskTsh8GHqZ9ysB6PB%2525252Fq%2525252BqxywhHZjReg%2525253D%2525253D%252526sign_type%25253DRSA2%252526timestamp%25253D2021-03-07%25252B14%2525253A07%2525253A21%252526version%25253D1.0%2522%257D
增加签约失败的跳转链接
failedUrl
参数,签约失败或者取消签约会跳转到对应的链接上。1.
popWindow
失败情况下只关闭当前小程序 (不能与下文的 usePopWindow 共存)。2.
// 签约失败或者取消签约需要跳转到其它的链接地址 (非上文的return_url)
// 需要新增一个 failedUrl 参数
// 原始参数字符串
const signParams = 'alipay-sdk......'
// encode 参数
const sign = encodeURIComponent(JSON.stringify({failedUrl:encodeURIComponent('https://xx.yy.com'), signParams: encodeURIComponent(signParams)}))
// 小程序跳转URL
const url = 'alipays://platformapi/startapp?appId=2019062465587961&page=pages/hz-enjoy/pass/index?extraData='+sign
签约成功后回跳商户 App 的唤端 URL 格式说明
[scheme:][//host:port][path][?query][#fragment]
https://www.taobao.com
为例,scheme 为 https
。taobao://www.taobao.com
。scheme
部分。消息通知
消息订阅注意事项
第一步:验签
第二步:反馈消息接收结果
success
表示消息获取成功,支付宝就会停止发送异步通知。如果返回 fail
或其它值,表示消息获取失败,支付宝会根据 投递重试策略 重新发送消息到应用网关地址。success
,验签失败返回 fail
,重新接收异步进行处理。响应值 | 描述 | 是否重试 |
---|---|---|
fail | 消息获取失败 | 重试 |
success | 消息获取成功 | 不重试 |
成功开通通知
消息通知示例
ISV_GATEWAY_URL?charset=GBK&biz_content=
{
"zmgo_opt_no":"ZMGO_ORD2021012910020606010000042037","agreement_id":"ZMGO_AGR2021012910020604010000000001","sign_time":"2021-01-29 11:35:59","out_request_no":"63c0efbf3c62cf03ede783257ed66de8","freeze_amount":"100.00","alipay_user_id":"2088101117955611","template_id":"2020122900020903940000948530","partner_id":"2088101117755711","trans_status":"Y","biz_type":"EASY_MEMBER","sign_aisle_data":"API","start_time":"2021-02-01 11:35:57","exp_invalid_time":"2021-02-01 11:35:57","product_version":"zhimaGoV2","exemption_end_time":"2021-04-16 00:01:13","type":"NORMAL","withhold_plan_no":"ZMGO_WHD2021010910020603000000006002","original_price":"5.00","actual_price":"1.00","planned_trigger_time":"2021-04-14 00:01:13","time_out_time":"2021-05-01 00:01:13","total_periods":"6","agreement_status":"Y","agreement_desc":"星巴克免费券购物卡","cycle_withhold":"N"
}
&msg_method=zhima.credit.pe.zmgo.sign.notify&utc_timestamp=1516797622752&version=1.1&sign_type=RSA2¬ify_id=d275fec564e62af6bedbcee73f3f05fi5x&app_id=2013121700999429&sign=I+Y/lvqYUEEc10EPdpntRhFIQ==
通知参数说明
type=CYCLE_FLEX_WITHHOLD
可以判断是否为周期灵活扣玩法。跳转芝麻 GO 管理页
alipays://platformapi/startapp?appId=2019062465587961&page=pages%2Fhz-enjoy%2FpassHome%2Findex%3FextraData%3D%7B%22appId%22%3A%22APP_ID%22%2C%22templateId%22%3A%22TEMPLATE_ID%22%2C%22partnerId%22%3A%22PARTNER_ID%22%2C%22agreementNo%22%3A%22AGREEMENT_NO%22%7D
APP_ID
、TEMPLATE_ID
、PARTNER_ID
、AGREEMENT_NO
替换为自己的数据。