简介

HUAWEI Wallet Kit支持用户领取商户卡券到华为钱包,包括会员卡、礼品卡、优惠券、登机牌、活动门票、交通券。您可以采用集成按钮或者提供链接的方式,以便用户将上述卡券保存到华为钱包,并在华为钱包中查看及管理。
开发者需要:

您将建立什么

在这个Codelab中,您将使用已经创建好的Demo Project实现卡劵的添加,通过Demo Project您可以体验到:
调用HUAWEI Wallet Kit API 构建模板信息,推送模板到华为服务器
创建卡片实例并生成JWE数据,添加卡券到华为钱包

您将会学到什么

硬件要求

软件要求

集成HUAWEI HMS Core能力,需要完成以下准备工作。

具体操作,请按照HUAWEI HMS Core集成准备中的详细说明来完成。

开通Wallet Kit API

请在API管理中打开Wallet Kit服务开关。

具体操作步骤请参见开通服务

生成公私钥对

注册Wallet Kit服务

获取Wallet Kit API 样例代码

下载JWE示例代码并解压。

配置参数

请求地址中的{walletkit_server_url}变量需要开发者根据服务器所属区域自行选择,如果商户有全球发卡需求,因为隐私政策,不同区域的数据不能共享。建议商户向下列所有区域推送JWE数据, 参考钱包服务器地址列表。

站点

域名

Chinese mainland

wallet-passentrust-drcn.cloud.huawei.com.cn

Asia

wallet-passentrust-dra.cloud.huawei.asia

Europe

wallet-passentrust-dre.cloud.huawei.eu

Latin America

wallet-passentrust-dra.cloud.huawei.lat

Russia

wallet-passentrust-drru.cloud.huawei.ru

编译Maven工程

必填项:

字段

描述

passVersion

版本号,商户自定义。例:"1.0"。

passTypeIdentifier

HUAWEI Wallet Kit服务步骤中设置的"Service ID"。

passStyleIdentifier

模板ID,商户自定义。例:"loyaltyModelTest"。

organizationName

商户名称,商户自定义。例:"HUAWEI"。

推送模板

配置数据

输入参数配置在"target/classes/hmspass"文件夹里的模板JSON文件中。在运行测试方法之前,请确认JSON输入文件中的"passTypeIdentifier"和"服务创建"步骤中设置的"Service ID"一致。
必填项:

字段

描述

备注

passTypeIdentifier

HUAWEI Wallet Kit"服务创建"步骤中设置的"Service ID"。

和模板一致。

passStyleIdentifier

模板ID,商户自定义。

和模板一致。

organizationPassId

卡券实例中的卡号,此值在商户系统唯一。

-

serialNumber

卡券实例ID,此值在同一个唯一。

-

推送卡片实例

方式一:生成含有完整卡券实例信息的JWE并发送到华为服务器
调用"JweTest.generateJWEToAddInstanceAndBindUser"方法,将一个新的卡券实例推送到华为服务器。需要填写要读取的卡券实例的JSON文件名、在安全组件申请时生成的RSA私钥、以及服务器所属区域的链接。

Https链接样例如下:

https://{walletkit_website_url}/walletkit/consumer/pass/save?jwt={jwe_content}

China

walletpass-drcn.cloud.huawei.com

Russia

walletpass-drru.cloud.huawei.com

Asia, Africa, and Latin America

walletpass-dra.cloud.hicloud.com

Europe

walletpass-dre.cloud.hicloud.com

请注意携带JWE的链接的字符总长度需在2000以内。若以此方式生成的JWE过长,则需使用下述的方式二。
方式二:通过服务器API生成卡券实例,再发送仅含卡券实例ID(serialNumber)信息的瘦JWE到华为服务器
(1)钱包服务器提供REST接口来创建卡片模板。您可以通过调用"HwLoyaltyInstanceTest.addLoyaltyInstance"方法来调用服务器API创建会员卡实例。其他卡券实例创建方式也是类似的。

(2)调用"JweTest.generateThinJWEToBindUser()"方法,发送只含有卡券实例的ID(serialNumber)信息的瘦JWE。需要填写卡券实例的serialNumber、在安全组件申请时生成的RSA私钥、以及服务器所属区域的链接。

请注册开发者所属国家/地区的华为帐号,获取验证码并输入后注册成功。

将"生成JWE并推送至华为服务器"步骤中生成的链接通过浏览器访问,访问后会先跳转到登录界面。

登录账号后会跳转添加卡劵的预览界面,用户点击添加按钮即可执行添卡操作。

添加成功后按钮将变成查看按钮,用户点击查看按钮可预览刚刚添加的卡劵,同时用户也可以登录华为钱包应用去手机端查看。

干得好,您已经成功完成了Codelab并学到了:

钱包服务相关API介绍。

本次Codelab使用的DEMO源码

已复制代码