codecamp

支付宝小程序 快速示例·支付宝卡包

本示例仅支持企业支付宝账号。

支付宝卡包(alipass),是支付宝公司推出的一款可以管理电子凭证的产品,该产品聚合来自各类生活服务的票据凭证,包括优惠券、折扣券、代金券、换购券、电影票、演出票、火车票、机票。

扫码体验

img

效果示例

幻灯片6.PNG

前提条件

获取模板代码

下载 支付宝卡包 Demo.zip 文件,并解压至本地。

使用步骤

未命名文件 (14).png

添加功能

  1. 登录 小程序开发中心,在 我的小程序 中,选择相应的小程序,进入该小程序详情页。

  1. 在小程序详情开发管理页面的 功能列表 中,点击右上角 添加功能 按钮,添加 小程序支付功能支付宝卡包功能。小程序支付功能需签约后生效,请点击功能列表最右侧操作栏 立即签约,签约成功后,状态显示为 已生效,即可调用小程序支付。

img

数据准备

在 sample 数据库中,新建 user_pay 数据表。

USE sample; 
CREATE TABLE `user_pay` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `trade_no` varchar(200) DEFAULT NULL,
 `user_id` varchar(200) DEFAULT NULL,
 PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

在 sample 数据库中,新建 user_card 数据表。

USE sample; 
CREATE TABLE `user_card` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` varchar(200) DEFAULT NULL,
  `card_id` varchar(200) DEFAULT NULL,
  `card_status` varchar(200) DEFAULT NULL,
  `serial_number` varchar(200) DEFAULT NULL,
 PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

后端开发

打开 server > src > main > resources > application.properties 文件,填入服务运行所需的参数。

生成 RSA 密钥并配置应用私钥及公钥,详情请参见 设置接口加签方式

#应用的私钥,需要保管好,应用的公钥存储在支付宝服务端
alipay.appconfig.privatekey=


#支付宝提供给这个应用的公钥,私钥存储在支付宝服务端中
alipay.appconfig.publickey=


#开放平台申请应用的Id
alipay.appconfig.appid=
spring.datasource.url=jdbc:mysql://${demo.mysql.address}:3306/sample?useUnicode=true&characterEncoding=utf8


#数据库用户名称


spring.datasource.username=admin


#数据库用户密码


spring.datasource.password=


#数据库地址,由于数据库跟应用服务在同一个服务器,所以在服务器上运行时可以设值为 localhost


demo.mysql.address=localhost

img

若小程序后端服务部署在云应用上,参见 详解 Todo 示例

新建/打开项目

在 IDE 启动界面新建 云与开放能力 > 支付包卡包 模板项目,或者打开获取模板代码中的 zip 文件内容。

前端开发

将支付宝卡包示例小程序 client > pages > index > api.js 文件中 baseUrl 修改为实际后端服务域名,即可开发小程序前端界面。

卡包.png

支付宝小程序 快速示例·模板消息
支付宝小程序 快速示例·服务端基于函数计算搭建的 TODO List 模板
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

支付宝小程序开发文档

支付宝小程序 快速示例

支付宝小程序 小程序快速示例

支付宝小程序 框架

支付宝小程序 组件

支付宝小程序组件 基础组件

支付宝小程序组件 无障碍访问

支付宝小程序 扩展组件

支付宝小程序扩展组件 UI组件

支付宝小程序 API

支付宝小程序 开发工具

支付宝小程序 云服务

支付宝小程序 Serverless

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }